update.
[chise/xemacs-chise.git-] / src / ChangeLog
1 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (char_encode_utf8): Try to use entity-references
4         for U-000F0000 ...  U-0010FFFF.
5
6 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * text-coding.c (ER_BUF_SIZE): New macro.
9         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
10         `er_buf'.
11         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
12         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
13
14 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
15
16         * chartab.c (find_char_feature_in_family): New function.
17         (Fchar_feature): Use `find_char_feature_in_family' with
18         `->identical', `<-subsumptive' and `<-denotational'.
19
20 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
21
22         * text-coding.c (char_encode_as_entity_reference): Allow prefix
23         within 8 characters; fix infinite loop.
24
25 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
26
27         * chartab.c (Q_same): New variable.
28         (Q_same_of): New variable.
29         (Fput_char_attribute): Convert char-refs in value of `{->|<-}same'
30         to characters and put reverse links.
31         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
32         for `{->|<-}same'.
33         (syms_of_chartab): Add new symbols `{->|<-}same'.
34
35 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * chartab.c (Q_component): New variable.
38         (Q_component_of): Likewise.
39         (Fput_char_attribute): Convert char-refs in value of
40         `{->|<-}ideographic-component-forms' to characters and put reverse
41         links.
42         (syms_of_chartab): Add new symbols
43         `{->|<-}ideographic-component-forms'.
44
45 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
46
47         * chartab.c (Q_identical): New variable.
48         (Q_identical_from): New variable.
49         (Fchar_feature): Regard `->identical' as a feature to find
50         ancestors.
51         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
52         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
53         for `{->|<-}identical'.
54         (syms_of_chartab): Add new symbols `{->|<-}identical'.
55
56 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * char-ucs.h (encode_char_2): New inline function.
59         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
60
61 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
62
63         * chartab.c (Fput_char_attribute): Convert char-specs to
64         characters in value of `ideographic-structure'.
65         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
66         for `{<-|->}simplified(@...)'.
67         (Fdefine_char): bTry to use predefined character's id.
68
69 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
70
71         * fns.c (simplify_char_spec): Try to convert builtin chars to
72         defined chars.
73
74 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
75
76         * chartab.c (Fput_char_attribute): Convert char-refs in value of
77         `<-simplified[^*]*' to characters and put reverse links.
78
79 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
80
81         * chartab.c (Q_subsumptive): Renamed from Q_unified.
82         (Q_subsumptive_from): Renamed from Q_unified_from.
83         (Fchar_feature): Use `Q_subsumptive_from' instead of
84         `Q_unified_from'.
85         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
86         `Q_unified'.
87         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
88         `<-unified' to `<-subsumptive'.
89
90 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
91
92         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
93         inheritance itself; fix typo; stop recursive search if cyclic
94         inheritance is found.
95
96 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
97
98         * chartab.c (Q_denotational): New variable.
99         (Q_denotational_from): New variable.
100         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
101         (put_char_attribute): New function.
102         (Fput_char_attribute): Use `put_char_attribute'; regard
103         `->denotational' and `<-denotational' as same as `->unified' and
104         `<-unified'.
105         (syms_of_chartab): Add new symbols `->denotational' and
106         `<-denotational'.
107
108 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
111         `Fget_char_attribute'.
112         (Fchar_variants): Likewise.
113         (get_char_table): Likewise.
114         (Fchar_feature): New function.
115         (put_char_composition): Use `Fchar_feature' instead of
116         `Fget_char_attribute'.
117         (Fput_char_attribute): Likewise; don't put the target character
118         into its `->unified' value.
119         (syms_of_chartab): Add new builtin function `char-feature'.
120
121 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
122
123         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
124         `Fget_char_attribute'.
125         (char_encode_utf8): Likewise.
126
127         * chartab.h: Add an EXFUN for `Fchar_feature'.
128
129 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * chartab.c (Vnext_defined_char_id): New variable.
132         (Fput_char_attribute): Accept characters in `->unified'.
133         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
134         new characters which are not related with builtin char-id ranges.
135         (vars_of_chartab): Add new variable `next-defined-char-id'.
136
137 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * chartab.c (Q_unified): New variable.
140         (Q_unified_from): New variable.
141         (Fput_char_attribute): Add code for `->unified'.
142         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
143         XEmacs CHISE.
144
145 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
146
147         * mule-charset.c (decode_ccs_conversion): New function.
148         (decode_defined_char): Use `decode_ccs_conversion'.
149         (decode_builtin_char): Likewise.
150
151 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * char-ucs.h: Change some charset-ids of private coded-charsets.
154
155 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
158         (char_encode_as_entity_reference): Likewise.
159         (decode_coding_big5): Modify for `decode_defined_char' and
160         `DECODE_CHAR'.
161         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
162         avoid compiler warning.
163         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
164
165         * mule-charset.c (decode_defined_char): Add new argument
166         `without_inheritance'.
167         (Fdecode_char): Add new optional argument `without_inheritance'.
168         (Fdecode_builtin_char): Modify for `Fdecode_char'.
169
170         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
171         (simplify_char_spec): Likewise.
172
173         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
174         setting.
175
176         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
177         (map_char_table): Likewise.
178         (Fdefine_char): Use `Fdecode_char' without inheritance.
179         (Ffind_char): Modify for `Fdecode_char'.
180
181         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
182
183         * char-ucs.h (decode_defined_char): Add new argument
184         `without_inheritance'.
185         (DECODE_CHAR): Likewise.
186         (MAKE_CHAR): Modify for `DECODE_CHAR'.
187
188 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
189
190         * chartab.c (Vchise_system_db_directory): New variable.
191         (vars_of_chartab): Add new variable `chise-system-db-directory'.
192
193 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * chartab.c: EXFUN `Fmount_char_attribute_table'.
196         (print_chartab_range): Don't define when `UTF2000' is defined.
197         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
198         `CHISE_DS_open'.
199
200 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
201
202         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
203         and optional argument `rehash' is specified, call
204         `open_chise_data_source_maybe' before
205         `chise_ds_foreach_char_feature_name' is called.
206
207 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
208
209         * chartab.c (char_attribute_list_reset_map_func): New function
210         when HAVE_LIBCHISE is defined.
211         (Fchar_attribute_list): Add new optional argument `rehash' when
212         HAVE_LIBCHISE is defined.
213         (open_chise_data_source_maybe): Use "chise-db" instead of
214         "char-db".
215         (char_attribute_system_db_file): Likewise.
216         (Fload_char_attribute_table): Use
217         `chise_feature_foreach_char_with_value' instead of
218         `chise_char_feature_value_iterate'.
219
220 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
221
222         * chartab.c (Vchise_db_directory): New variable.
223         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
224
225 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
226
227         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
228         instead of HAVE_CHISE to specify using with libchise.
229
230         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
231
232         * chartab.h: Don't use HAVE_CHISE_CLIENT.
233
234         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
235         defined or HAVE_LIBCHISE_LIBCHISE is defined.
236         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
237         is defined.
238         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
239         HAVE_CHISE to specify using with libchise.
240         (syms_of_chartab): Don't define symbol `system-char-id' when
241         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
242
243 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
246         specify CHISE DB support.
247         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
248         of `char_attribute_system_db_file' to check feature DB file.
249
250         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
251         HAVE_CHISE_CLIENT to specify CHISE DB support.
252
253         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
254         specify CHISE DB support.
255         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
256         not defined.
257         (Freset_char_attribute_table): Use `chise_feature_setup_db'
258         instead of `char_attribute_system_db_file' to check feature DB
259         file.
260
261 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
264         `HAVE_CHISE_CLIENT'.
265
266 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
269         (Fsave_charset_mapping_table): Don't use
270         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
271
272         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
273         (HAVE_LIBCHISE): New macro.
274
275         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
276
277         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
278         (Fsave_char_attribute_table): Don't use
279         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
280
281 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
284         defined.
285         (save_uint16_byte_table): Likewise.
286         (save_byte_table): Likewise.
287         (char_table_get_db): Use `chise_ds_load_char_feature_value'
288         instead of `chise_char_load_feature_value'.
289         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
290
291 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
292
293         * chartab.h (struct Lisp_Char_Table): Delete member
294         `feature_table' if CHISE is defined.
295
296         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
297         (Fcopy_char_table): Likewise.
298         (char_table_open_db_maybe): Likewise.
299         (char_table_close_db_maybe): Likewise.
300         (char_table_get_db): Likewise.
301         (Fmount_char_attribute_table): Likewise.
302         (Fload_char_attribute_table): Likewise.
303
304 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * mule-charset.c (load_char_decoding_entry_maybe): Use
307         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
308         `chise_ccs_decode'.
309
310 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
313         instead of `chise_open_data_source'.
314         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
315         `chise_ds_close'.
316
317 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
318
319         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
320         instead of `chise_ds_open_feature_table'.
321         (char_table_close_db_maybe): Don't use `chise_ft_close'.
322
323 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
324
325         * mule-charset.c (Fsave_charset_mapping_table): Use
326         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
327         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
328         `chise_ccs_sync' instead of `chise_ccst_close'.
329         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
330
331         * chartab.c (open_chise_data_source_maybe): Modify for
332         `chise_open_data_source'.
333         (char_table_open_db_maybe): Modify for
334         `chise_ds_open_feature_table'.
335
336 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
337
338         * mule-charset.c (load_char_decoding_entry_maybe): Use
339         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
340         `chise_ccst_close'.
341
342 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
343
344         * mule-charset.c (Fsave_charset_mapping_table): Use
345         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
346         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
347         `chise_dt_put_char' and `chise_dt_close'.
348         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
349         `chise_ccs_decode' and `chise_ccst_close' instead of
350         `chise_ds_open_decoding_table', `chise_dt_get_char' and
351         `chise_dt_close'.
352
353         * chartab.c (char_table_get_db): Use
354         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
355         (load_char_attribute_table_map_func): Modify for
356         `chise_char_feature_value_iterate'.
357         (Fload_char_attribute_table): Use
358         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
359
360 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
361
362         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
363
364 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
365
366         * chartab.c (put_char_table): Modify for inherited coded-charsets
367         in XEmacs CHISE.
368
369 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
370
371         * chartab.c (Fput_char_table_map_function): Fixed.
372         (word_boundary_p): Don't check charset in XEmacs CHISE.
373
374 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
375
376         * mule-charset.c (Fsave_charset_mapping_table): Use
377         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
378         instead of `chise_open_decoding_table'; refer
379         `default_chise_data_source'; use `chise_dt_close' instead of
380         `chise_close_decoding_table'.
381         (load_char_decoding_entry_maybe): Likewise.
382
383         * chartab.c (default_chise_data_source): New variable when `CHISE'
384         is defined.
385         (Fcopy_char_table): `ct->ds' is deleted.
386         (open_chise_data_source_maybe): New function.
387         (Fclose_char_data_source): New function.
388         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
389         use `chise_ds_open_feature_table' instead of
390         `chise_open_feature_table'.
391         (char_table_close_db_maybe): Use `chise_ft_close' instead of
392         `chise_close_feature_table'; `cit->ds' is deleted.
393         (syms_of_chartab): Add new builtin function
394         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
395
396         * chartab.h (default_chise_data_source): New extern variable.
397         (open_chise_data_source_maybe): New prototype.
398         (struct Lisp_Char_Table): Delete `ds'.
399
400 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
401
402         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
403         `CHISE' is defined.
404
405 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
406
407         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
408         not defined; add code for non-libchise setting.
409         (char_table_close_db_maybe): Likewise.
410         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
411         defined.
412         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
413         even if `CHISE' is not defined.
414         (Freset_char_attribute_table): Likewise.
415         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
416         `char_table_close_db_maybe' even if `CHISE' is not defined; use
417         `char_table_get_db'.
418         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
419         `char_table_close_db_maybe' even if `CHISE' is not defined.
420
421 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
422
423         * chartab.c (char_table_open_db_maybe): New function.
424         (char_table_close_db_maybe): New function.
425         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
426         (Freset_char_attribute_table): Likewise.
427         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
428         `char_table_close_db_maybe'.
429         (Fload_char_attribute_table): Likewise.
430
431 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
432
433         * chartab.c: Don't include <chise.h> because it is included in
434         chartab.h.
435         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
436         defined.
437         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
438         `CHISE' is defined.
439         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
440         `CHISE' is defined.
441         (Fclose_char_attribute_table): Close `ct->feature_table' and
442         `ct->ds' when `CHISE' is defined.
443         (Freset_char_attribute_table): Likewise.
444         (load_char_attribute_maybe): Use `cit->ds' and
445         `cit->feature_table' when `CHISE' is defined.
446         (Fload_char_attribute_table): Likewise.
447
448         * chartab.h: Include <chise.h> when `CHISE' is defined.
449         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
450         when `CHISE' is defined.
451
452 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
453
454         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
455         is defined.
456         (char_table_description): Likewise.
457         (Fmake_char_table): Likewise.
458         (Fcopy_char_table): Likewise.
459         (Fmount_char_attribute_table): Likewise.
460         (Fclose_char_attribute_table): Likewise.
461         (Freset_char_attribute_table): Likewise.
462         (load_char_attribute_maybe): Likewise.
463         (Fload_char_attribute_table): Likewise.
464
465         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
466         defined.
467
468 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
469
470         * chartab.c (load_char_attribute_table_map_func): New function
471         when CHISE is defined.
472         (Qload_char_attribute_table_map_function): Don't define when CHISE
473         is defined.
474         (Fload_char_attribute_table_map_function): Likewise.
475         (Fload_char_attribute_table): Use libchise when `CHISE' is
476         defined.
477         (syms_of_chartab): Don't define
478         `load-char-attribute-table-map-function' when CHISE is defined.
479
480 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
481
482         * chartab.c: Include <chise.h> when `CHISE' is defined.
483         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
484
485 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * mule-charset.c (charset_code_point): Fix problem when searching
488         in mother CCS fails with `defined_only' mode.
489
490 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
491
492         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
493         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
494         (put_char_composition): Likewise.
495         (Fput_char_attribute): Likewise.
496         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
497
498 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
499
500         * chartab.c (Q_ucs): Deleted.
501         (Fput_char_attribute): Don't refer `->ucs'.
502         (Fdefine_char): Likewise.
503         (Ffind_char): Likewise.
504         (syms_of_chartab): Delete `->ucs'.
505
506 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
507
508         * mule-charset.c (Qmap_cns11643_2): Renamed from
509         `Qchinese_cns11643_2'.
510         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
511         `chinese-cns11643-2'.
512         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
513         `=cns11643-2'.
514
515 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
516
517         * mule-charset.c (Qmap_cns11643_1): Renamed from
518         `Qchinese_cns11643_1'.
519         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
520         `chinese-cns11643-1'.
521         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
522         `=cns11643-1'.
523
524 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
525
526         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
527         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
528         `chinese-gb12345'.
529         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
530         `=gb12345'.
531
532 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
533
534         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
535         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
536         `chinese-gb2312'.
537         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
538         `=gb2312'.
539
540 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
541
542         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
543         (syms_of_mule_charset): Add new symbol `=big5' instead of
544         `chinese-big5'.
545         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
546
547 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
548
549         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
550         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
551         `korean-ksc5601'.
552         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
553         `=ks-x1001'.
554
555 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
556
557         * mule-charset.c (Qmap_jis_x0212): Renamed from
558         `Qjapanese_jisx0212'.
559         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
560         `japanese-jisx0212'.
561         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
562         `=jis-x0212'.
563
564 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
565
566         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
567         `Qjapanese_jisx0208'.
568         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
569         of `japanese-jisx0208'.
570         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
571         `=jis-x0208-1983'.
572
573 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
574
575         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
576         `Qjapanese_jisx0208_1978'.
577         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
578         of `japanese-jisx0208-1978'.
579         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
580         `=jis-x0208-1978'.
581
582 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
583
584         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
585         only for XEmacs CHISE.
586
587 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
588
589         * char-ucs.h: Compact non-ISO-IR charset-ids.
590         (LEADING_BYTE_UCS): Changed to -177.
591         (LEADING_BYTE_CONTROL_1): Changed to -77.
592         (LEADING_BYTE_UCS_BMP): Changed to -176.
593         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
594
595 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
596
597         * mule-charset.c (Qiso_ir): New variable.
598         (Fmake_charset): Recognise new property `iso-ir'.
599         (syms_of_mule_charset): Add new symbol `iso-ir'.
600
601 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
602
603         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
604         n to -n; charset-id of non ISO-IR sets are changed to positive
605         numbers.
606
607 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
608
609         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
610         for &MCS-XXXXXXXX; values.
611
612 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
613
614         * mule.c (Vxemacs_chise_version): Renamed from
615         `Vutf_2000_version'.
616         (vars_of_mule): Add new variable `xemacs-chise-version'; define
617         `utf-2000-version' as an alias for `xemacs-chise-version'.
618
619 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
620
621         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
622         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
623         defined.
624
625         * config.h.in (CHISE): New macro.
626
627 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
628
629         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
630         of `ucs'.
631         (Qmap_ucs): New variable.
632         (syms_of_mule_charset): Add new symbol `=ucs'.
633         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
634
635         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
636         (simplify_char_spec): Likewise.
637
638         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
639
640         * char-ucs.h (Qmap_ucs): New extern variable.
641
642 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
643
644         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
645         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
646         don't define it when UTF2000 is not defined.
647         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
648         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
649         when UTF2000 is not defined.
650         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
651         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
652
653 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
654
655         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
656
657         * mule-charset.c (Vcharset_ucs_gb): Deleted.
658         (Qucs_gb): Deleted.
659         (syms_of_mule_charset): Delete `ucs-gb'.
660         (complex_vars_of_mule_charset): Likewise.
661
662 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
663
664         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
665
666         * mule-charset.c (Vcharset_ucs_cns): Deleted.
667         (Qucs_cns): Deleted.
668         (syms_of_mule_charset): Delete `ucs-cns'.
669         (complex_vars_of_mule_charset): Likewise.
670
671 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
674
675         * mule-charset.c (Vcharset_ucs_jis): Deleted.
676         (Qucs_jis): Deleted.
677         (syms_of_mule_charset): Delete `ucs-jis'.
678         (complex_vars_of_mule_charset): Likewise.
679
680 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
681
682         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
683
684         * mule-charset.c (Vcharset_ucs_ks): Deleted.
685         (Qucs_ks): Deleted.
686         (syms_of_mule_charset): Delete `ucs-ks'.
687         (complex_vars_of_mule_charset): Likewise.
688
689 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
690
691         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
692         (Qideograph_daikanwa_2): Deleted.
693         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
694         (complex_vars_of_mule_charset): Likewise.
695
696         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
697         (LEADING_BYTE_DAIKANWA_1): Deleted.
698         (LEADING_BYTE_DAIKANWA_2): Deleted.
699         (MIN_CHAR_DAIKANWA): Deleted.
700         (MAX_CHAR_DAIKANWA): Deleted.
701
702 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
703
704         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
705         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
706         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
707
708         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
709         (Vcharset_ideograph_daikanwa): Deleted.
710         (Qideograph_hanziku_{1..12}): Deleted.
711         (Qideograph_daikanwa): Deleted.
712         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
713         Vcharset_ideograph_daikanwa.
714         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
715         `ideograph-hanziku-{1..12}'.
716         (complex_vars_of_mule_charset): Likewise.
717
718 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
719
720         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
721
722         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
723         (Qideograph_gt_pj_{1..11}): Deleted.
724         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
725         (complex_vars_of_mule_charset): Likewise.
726
727 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
728
729         * mule-charset.c (Vcharset_ucs_big5): Deleted.
730         (Vcharset_ideograph_gt): Deleted.
731         (Qucs_big5): Deleted.
732         (Qideograph_gt): Deleted.
733         (syms_of_mule_charset): Delete symbol `ucs-big5' and
734         `ideograph-gt'.
735         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
736         and `ideograph-gt'.
737
738         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
739         (LEADING_BYTE_GT): Deleted.
740         (MIN_CHAR_GT): Deleted.
741         (MAX_CHAR_GT): Deleted.
742
743 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
744
745         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
746
747 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
750         (save_uint16_byte_table): Likewise.
751         (save_byte_table): Likewise; convert values by it.
752         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
753         for `ideographic-structure'.
754         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
755         as the filter for `ideographic-structure'.
756
757 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
758
759         * chartab.c (put_char_composition): New function.
760         (Fput_char_attribute): Use `put_char_composition'; use
761         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
762
763         * fns.c (simplify_char_spec): New function.
764         (char_ref_simplify_spec): New function.
765         (Fchar_refs_simplify_char_specs): New function.
766         (syms_of_fns): Add new builtin function
767         `char-refs-simplify-char-specs'.
768
769 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
770
771         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
772         (Qideograph_cbeta): Deleted.
773         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
774         (complex_vars_of_mule_charset): Likewise.
775
776         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
777         (MIN_CHAR_CBETA): Comment out.
778         (MAX_CHAR_CBETA): Likewise.
779
780 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
781
782         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
783         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
784         CHISE client feature.
785
786 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
787
788         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
789
790 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
791
792         * mule-charset.c (charset_lookup_description_1): Use
793         `NUM_LEADING_BYTES' in UTF-2000.
794
795 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
796
797         * char-ucs.h (GC_CHARSETP): Deleted.
798
799 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * char-ucs.h (MAX_CHAR_GT): Updated.
802
803 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
804
805         * text-coding.c: Sync with XEmacs 21.4.10.
806
807 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * mule-charset.c (Vcharset_china3_jef): Deleted.
810         (Qchina3_jef): Deleted.
811         (syms_of_mule_charset): Don't define `china3-jef'.
812         (complex_vars_of_mule_charset): Likewise.
813
814         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
815         (MIN_CHAR_CHINA3_JEF): Comment out.
816         (MAX_CHAR_CHINA3_JEF): Comment out.
817
818 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
819
820         * mule-charset.c (Vcharset_ucs_gb): New variable.
821         (Qucs_gb): New variable.
822         (syms_of_mule_charset): Add new symbol `ucs-gb'.
823         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
824
825         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
826
827 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
828
829         * mule-charset.c (charset_code_point): if a coded-charset has a
830         final-byte, don't inherit the builtin range of the mother CCS.
831
832 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
833
834         * mule-charset.c (charset_code_point): Fix problem about
835         inheritance.
836
837 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
838
839         * mule-charset.c (decode_builtin_char): Reorganized.
840
841 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * text-coding.c (char_encode_as_entity_reference): Modify for
844         `charset_code_point'.
845         (char_encode_shift_jis): Likewise.
846         (char_encode_big5): Likewise.
847         (char_encode_utf8): Likewise.
848         (char_encode_iso2022): Likewise.
849
850         * mule-charset.c (charset_code_point): Add new argument
851         `defined_only'.
852         (Fencode_char): Add new optional argument `defined_only'.
853
854         * chartab.c (put_char_table): Modify for `charset_code_point'.
855
856         * char-ucs.h (charset_code_point): Add new argument
857         `defined_only'.
858         (encode_char_1): Modify for `charset_code_point'.
859
860 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
861
862         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
863         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
864
865 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
866
867         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
868         (Qjis_x0208): Likewise.
869         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
870         XCHARSET_FINAL(charset).
871         (charset_code_point): Modify condition for final-byte based
872         builtin-chars.
873         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
874         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
875         in UTF-2000; specify `=jis-x0208' as the mother of
876         `japanese-jisx0208-1978', `japanese-jisx0208' and
877         `japanese-jisx0208-1990' in UTF-2000.
878
879 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
880
881         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
882
883 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
884
885         * text-coding.c (decode_coding_utf16): Support UTF-16.
886         (char_encode_utf16): Fixed.
887
888 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
889
890         * text-coding.c (Qutf16): New variable in MULE.
891         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
892         (Fcoding_system_type): Add `utf-16' in MULE.
893         (struct detection_state): Add a structure for utf16 in MULE.
894         (detect_coding_type): Setup st->utf16.mask in MULE.
895         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
896         MULE.
897         (reset_encoding_stream): Use `char_encode_utf16' and
898         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
899         (detect_coding_utf16): New function [incomplete].
900         (decode_coding_utf16): New function [support only UCS-2].
901         (char_encode_utf16): New function.
902         (char_finish_utf16): New function.
903         (syms_of_file_coding): Add new symbol `utf-16'; setup
904         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
905
906         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
907         UTF-2000.
908         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
909         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
910
911 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
912
913         * chartab.c (put_char_table): When a charset is specified as a
914         range in UTF-2000, don't support builtin characters.
915
916 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
917
918         * mule-charset.c (decode_defined_char): Don't refer external
919         database if Qunbound or Qnil are found.
920         (Fsave_charset_mapping_table): Don't define it if
921         HAVE_CHISE_CLIENT is not defined.
922         (Freset_charset_mapping_table): New function.
923         (load_char_decoding_entry_maybe): Store Qnil if a character is not
924         found in external database.
925         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
926         if HAVE_CHISE_CLIENT is not defined; add new builtin function
927         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
928
929 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
930
931         * text-coding.c (decode_coding_utf8): Check CCS is specified or
932         not.
933
934 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
935
936         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
937         Q_lowercase, Q_uppercase in UTF-2000.
938
939         * chartab.c (get_char_table): Add special code for the standard
940         case table to use character attribute `->downcase' and
941         `->uppercase' for case operations in UTF-2000.
942
943         * casetab.c (Qflippedcase): New variable in UTF-2000.
944         (Q_lowercase): Likewise.
945         (Q_uppercase): Likewise.
946         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
947         and `->uppercase' in UTF-2000.
948         (complex_vars_of_casetab): Assign attribute name `downcase' to
949         downcase and CANON table of Vstandard_case_table in UTF-2000;
950         assign attribute name `flippedcase' to upcase and EQV table of
951         Vstandard_case_table in UTF-2000.
952
953 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
954
955         * text-coding.c (decode_add_er_char): Support isolated-chars.
956         (char_encode_as_entity_reference): Likewise.
957
958 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
959
960         * emacs.c (Vutf_2000_lisp_directory): New variable.
961         (Vconfigure_utf_2000_lisp_directory): Likewise.
962         (complex_vars_of_emacs): Add new variable
963         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
964
965 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
966
967         * char-ucs.h (DECODE_CHAR): Delete special code for
968         `chinese-big5-1' and `chinese-big5-2'.
969
970         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
971         (Qbig5_2): Likewise.
972         (decode_defined_char): Support CONVERSION_BIG5_1 and
973         CONVERSION_BIG5_2.
974         (decode_builtin_char): Likewise.
975         (charset_code_point): Likewise.
976         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
977         'conversion in UTF-2000.
978         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
979         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
980         `chinese-big5-2' as children of `chinese-big5'.
981
982         * char-ucs.h (CONVERSION_BIG5_1): New macro.
983         (CONVERSION_BIG5_2): New macro.
984
985 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
986
987         * text-coding.c (char_encode_big5): Support entity-reference.
988
989 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
990
991         * text-coding.c (char_encode_as_entity_reference): New function.
992         (char_encode_utf8): Use `char_encode_as_entity_reference'.
993
994 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
995
996         * text-coding.c (decode_coding_big5): Support entity-reference
997         decoding feature.
998
999 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1000
1001         * text-coding.c (allocate_coding_system): Initialize initial
1002         charsets for CODESYS_UTF8.
1003         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1004         charset-g2 for CODESYS_UTF8.
1005         (decode_coding_utf8): Use charset-g0.
1006         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1007         to force variants to map to UCS.
1008
1009 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * text-coding.c (Qutf_8_mcs): New variable.
1012         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1013         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1014         instead of `utf-8' in UTF-2000.
1015
1016 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1017
1018         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1019         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1020         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1021         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1022         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1023         CONVERSION_96x96x96x96 are introduced.
1024         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1025         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1026         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1027
1028         * char-ucs.h (CONVERSION_94): New macro.
1029         (CONVERSION_96): New macro.
1030         (CONVERSION_94x94): New macro.
1031         (CONVERSION_96x96): New macro.
1032         (CONVERSION_94x94x94): New macro.
1033         (CONVERSION_96x96x96): New macro.
1034         (CONVERSION_94x94x94x60): New macro.
1035         (CONVERSION_94x94x94x94): New macro.
1036         (CONVERSION_96x96x96x96): New macro.
1037
1038 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1039
1040         * chartab.c (Vcharacter_variant_table): Deleted.
1041         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1042         of `Vcharacter_variant_table'.
1043         (Fput_char_attribute): Likewise.
1044         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1045         (complex_vars_of_chartab): Likewise.
1046
1047 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1048
1049         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1050
1051         * fns.c (Qideographic_structure): New variable.
1052         (Qkeyword_char): New variable.
1053         (ids_format_unit): New function.
1054         (Fideographic_structure_to_ids): New function.
1055         (syms_of_fns): Add new symbols `ideographic-structure' and
1056         `:char'; add new builtin function `ideographic-structure-to-ids'.
1057
1058         * data.c (Fchar_ref_p): New function.
1059         (syms_of_data): Add new builtin function `char-ref-p'.
1060
1061         * chartab.h: Add an EXFUN for `Ffind_char'.
1062
1063 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1064
1065         * text-coding.c (Vcharacter_composition_table): Deleted.
1066         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1067         in every UTF-2000.
1068
1069         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1070         UTF-2000.
1071         (Vcharacter_composition_table): Deleted.
1072         (Fget_composite_char): Use the implementation for external-DB
1073         support in every UTF-2000.
1074         (Fput_char_attribute): Likewise.
1075         (char_attribute_system_db_file): Don't define if external-DB
1076         feature is not available.
1077         (Fsave_char_attribute_table): Likewise.
1078         (Fmount_char_attribute_table): Likewise.
1079         (Fclose_char_attribute_table): Likewise.
1080         (Freset_char_attribute_table): Likewise.
1081         (Fload_char_attribute_table): Likewise.
1082         (syms_of_chartab): Don't define `save-char-attribute-table',
1083         `mount-char-attribute-table', `reset-char-attribute-table',
1084         `close-char-attribute-table' and `load-char-attribute-table' if
1085         external-DB feature is not available.
1086         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1087
1088 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1089
1090         * text-coding.c (Qcomposition): Add extern if external-DB feature
1091         is supported.
1092         (Vcharacter_composition_table): Don't add extern if external-DB
1093         feature is supported.
1094         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1095         character composition rule if external-DB feature is supported.
1096
1097         * chartab.c (Vcharacter_composition_table): Don't define if
1098         external-DB feature is supported.
1099         (Qcomposition): New variable.
1100         (Fget_composite_char): New implementation for external-DB support.
1101         (Fput_char_attribute): Use `composition' property of each
1102         character instead of `Vcharacter_composition_table' to store
1103         character-composition rules if external-DB feature is supported.
1104         (syms_of_chartab): Add new symbol `composition'.
1105         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1106         external-DB feature is supported.
1107
1108 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1109
1110         * chartab.c (Vchar_db_stingy_mode): New variable.
1111         (load_char_attribute_maybe): Close database if
1112         Vchar_db_stingy_mode is not NIL.
1113         (Fload_char_attribute_table_map_function): Use
1114         `get_char_id_table_0' instead of `get_char_id_table'.
1115         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1116
1117         * chartab.h (get_char_id_table_0): New inline function.
1118         (get_char_id_table): Use `get_char_id_table_0'.
1119
1120 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1121
1122         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1123         and `COMPOSE_ADD_CHAR'.
1124         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1125
1126 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1127
1128         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1129         instead of `DECODE_ADD_UCS_CHAR'.
1130         (COMPOSE_ADD_CHAR): Likewise.
1131
1132 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1133
1134         * text-coding.c (decode_flush_er_chars): New inline function.
1135         (decode_add_er_char): New function.
1136         (decode_coding_utf8): Use `decode_flush_er_chars' and
1137         `decode_add_er_char'.
1138
1139 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1140
1141         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1142         done before `decode_output_utf8_partial_char'.
1143
1144         * mule-charset.c (complex_vars_of_mule_charset): Specify
1145         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1146         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1147
1148 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1149
1150         * mule-charset.c (decode_defined_char): New function; search
1151         mother.
1152         (decode_builtin_char): Don't search mother if
1153         XCHARSET_MAX_CODE(charset) == 0.
1154         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1155         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1156         (Fdecode_char): Use `decode_defined_char' instead of
1157         `DECODE_DEFINED_CHAR'.
1158         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1159         mother of `Vcharset_ucs_jis'.
1160
1161         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1162         instead of `DECODE_DEFINED_CHAR'.
1163
1164         * char-ucs.h (decode_defined_char): Renamed from
1165         `DECODE_DEFINED_CHAR'; changed to normal function.
1166         (DECODE_CHAR): Use `decode_defined_char' instead of
1167         `DECODE_DEFINED_CHAR'.
1168
1169         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1170
1171 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1172
1173         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1174
1175         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1176         variable.
1177         (Quse_entity_reference): New variable.
1178         (Qd): New variable.
1179         (Qx): New variable.
1180         (QX): New variable.
1181         (coding_system_description): Add description for
1182         `ccs_priority_list'.
1183         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1184         (allocate_coding_system): Initialize `ccs_priority_list' in
1185         UTF-2000.
1186         (Fmake_coding_system): Add description about
1187         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1188         (codesys).
1189         (Fcoding_system_property): Accept `disable-composition' and
1190         `use-entity-reference' in UTF-2000.
1191         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1192         in UTF-2000.
1193         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1194         (decode_coding_utf8): Decode entity-reference if
1195         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1196         (char_encode_utf8): Encode non-Unicode characters as
1197         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1198         (str->codesys).
1199         (syms_of_file_coding): Add new symbols `use-entity-reference',
1200         `d', `x', `X'.
1201         (vars_of_file_coding): Add new variable
1202         `coded-charset-entity-reference-alist'.
1203         (complex_vars_of_file_coding): Declare `disable-composition' and
1204         `use-entity-reference' to be coding-system-properties in UTF-2000.
1205
1206         * file-coding.h (struct Lisp_Coding_System): Add new member
1207         `use_entity_reference' and `ccs_priority_list'.
1208         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1209         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1210         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1211
1212 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1213
1214         * chartab.c (save_uint8_byte_table): Don't clear the table.
1215         (save_uint16_byte_table): Likewise.
1216         (save_byte_table): Likewise.
1217         (Fmount_char_attribute_table): New function.
1218         (syms_of_chartab): Add new builtin function
1219         `mount-char-attribute-table'.
1220
1221 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1222
1223         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1224         "w+" mode.
1225         (load_char_decoding_entry_maybe): Open database as read-only mode.
1226
1227         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1228         open database as "w+" mode.
1229         (load_char_attribute_maybe): Open database as read-only mode.
1230         (Fload_char_attribute_table): Likewise.
1231
1232 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1233
1234         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1235         (char_table_description): Delete member `db_file'.
1236         (Fmake_char_table): Don't refer `ct->db_file'.
1237         (Fcopy_char_table): Likewise.
1238         (Fsave_char_attribute_table): Likewise.
1239         (Fclose_char_attribute_table): Likewise.
1240         (Freset_char_attribute_table): Likewise.
1241         (load_char_attribute_maybe): Likewise.
1242         (Fload_char_attribute_table): Likewise.
1243
1244         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1245
1246 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1247
1248         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1249         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1250         `ct->db' is living.
1251         (load_char_attribute_maybe): Likewise.
1252         (Fload_char_attribute_table): Likewise.
1253
1254 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1255
1256         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1257         `ct->db_file' unconditionally.
1258
1259 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1260
1261         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1262         UTF-2000.
1263         (char_table_description): Add description for `db_file' and `db'
1264         in UTF-2000.
1265         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1266         UTF-2000.
1267         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1268         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1269         (Fclose_char_attribute_table): New function.
1270         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1271         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1272         and `cit->db'.
1273         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1274         (syms_of_chartab): Add new builtin function
1275         `Fclose_char_attribute_table'.
1276
1277 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1278
1279         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1280         `db' in UTF-2000.
1281         (load_char_attribute_maybe): Change interface.
1282         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1283
1284 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1285
1286         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1287
1288 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1289
1290         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1291         instead of `DECODE_CHAR' for mother; don't use special code for
1292         chinese-big5 to use code space of chinese-big5-1 and
1293         chinese-big5-2.
1294         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1295         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1296
1297         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1298         (MAX_CHAR_BIG5_CDP): Revival.
1299
1300 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1301
1302         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1303         the XLFD registry-encoding name of `chinese-big5'.
1304
1305 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1306
1307         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1308         (Qchinese_big5_cdp): Deleted.
1309         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1310         (complex_vars_of_mule_charset): Delete coded-charset
1311         `chinese-big5-cdp'.
1312
1313         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1314         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1315         `CHARSET_ID_OFFSET - n' for private CCS.
1316         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1317         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1318         of `MIN_LEADING_BYTE'.
1319         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1320         `(CHARSET_ID_OFFSET - 97)'.
1321         (MIN_CHAR_BIG5_CDP): Deleted.
1322         (MAX_CHAR_BIG5_CDP): Deleted.
1323
1324 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1325
1326         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1327
1328 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1331         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1332         chartab.c].
1333
1334         * chartab.c (Vutf_2000_version): Moved to mule.c.
1335         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1336
1337 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1338
1339         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1340         when HAVE_CHISE_CLIENT is not defined.
1341
1342         * mule.c (vars_of_mule): Provide feature `chise' when
1343         HAVE_CHISE_CLIENT is defined.
1344
1345 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1346
1347         * config.h.in (UTF2000): Add comment.
1348         (HAVE_CHISE_CLIENT): New macro.
1349
1350 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1351
1352         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1353         CONSP.
1354         (Fput_char_attribute): Likewise.
1355         (char_attribute_system_db_file): Encode file-name of attribute.
1356         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1357         the initial value.
1358
1359 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1360
1361         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1362         (Fsave_charset_mapping_table): Use
1363         `char_attribute_system_db_file'.
1364         (load_char_decoding_entry_maybe): Likewise.
1365
1366         * chartab.h (Qsystem_char_id): New external variable.
1367         (char_attribute_system_db_file): New prototype.
1368
1369         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1370         (char_attribute_system_db_file): New function.
1371         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1372         (Freset_char_attribute_table): Likewise.
1373         (load_char_attribute_maybe): Likewise.
1374         (Fload_char_attribute_table): Likewise.
1375         (syms_of_chartab): Add new symbol `system-char-id'.
1376
1377 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1378
1379         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1380         `XCHARSET_GRAPHIC(ccs)'.
1381
1382 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1383
1384         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1385
1386 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1387
1388         * chartab.c (Q_ucs_variants): New variable.
1389         (syms_of_chartab): Add new symbol `->ucs-variants'.
1390         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1391         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1392         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1393
1394         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1395
1396         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1397         `HAVE_DATABASE' is defined.
1398         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1399         `HAVE_DATABASE' is defined.
1400
1401 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1402
1403         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1404         attribute-table.
1405         (Freset_char_attribute_table): New function.
1406         (syms_of_chartab): Add new builtin function
1407         `reset-char-attribute-table'.
1408
1409 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1410
1411         * chartab.c (load_char_attribute_maybe): Don't make directories.
1412
1413 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1414
1415         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1416
1417         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1418         for decoding-table.
1419
1420 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1421
1422         * mule-charset.c (Fsave_charset_mapping_table): Use
1423         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1424
1425         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1426         instead of `XCHARSET_CHARS'.
1427
1428 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1429
1430         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1431         (XCHARSET_BYTE_SIZE): Likewise.
1432
1433         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1434         mule-charset.c].
1435         (XCHARSET_BYTE_SIZE): Likewise.
1436
1437 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1438
1439         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1440         data-directory to store database.
1441         (Fsave_char_attribute_table): Likewise.
1442         (load_char_attribute_maybe): Likewise.
1443         (Fload_char_attribute_table): Likewise.
1444
1445 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1446
1447         * mule-charset.c (Fsave_charset_mapping_table): New function.
1448         (syms_of_mule_charset): Add new builtin function
1449         `save-charset-mapping-table'.
1450
1451 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1452
1453         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1454         (get_ccs_octet_table): New inline function.
1455         (put_ccs_octet_table): Likewise.
1456         (decoding_table_put_char): Use `get_ccs_octet_table' and
1457         `put_ccs_octet_table'.
1458         (decoding_table_remove_char): Use `decoding_table_put_char'.
1459         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1460
1461         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1462         into encoding_table.
1463         (make_charset): Use Qunbound instead Qnil as initial value of
1464         decoding_table.
1465
1466 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1467
1468         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1469         element is Qunloaded.
1470         (map_over_uint16_byte_table): Likewise.
1471         (map_over_byte_table): Likewise.
1472         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1473         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1474         database support, load encoding-table of the specified
1475         coded-charset if it is not loaded yet.
1476         (save_uint8_byte_table): New function of UTF-2000 with external
1477         database support.
1478         (save_uint16_byte_table): Likewise.
1479         (save_byte_table): Likewise.
1480         (Fput_char_attribute): Don't store value into external database
1481         even if the external database feature is supported in UTF-2000;
1482         set `attribute' as name of char-table if the external database
1483         feature is supported.
1484         (Fsave_char_attribute_table): New function in UTF-2000.
1485         (syms_of_chartab): Add new builtin function
1486         `save-char-attribute-table' in UTF-2000.
1487
1488 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1489
1490         * chartab.c (char_attribute_table_to_put): New variable in
1491         UTF-2000.
1492         (Qput_char_table_map_function): Likewise.
1493         (value_to_put): Likewise.
1494         (Fput_char_table_map_function): New function in UTF-2000.
1495         (put_char_table): Use `Fmap_char_attribute' for
1496         CHARTAB_RANGE_CHARSET in UTF-2000.
1497         (Fput_char_attribute): Store symbol instead of string in
1498         `XCHAR_TABLE_NAME (table)'.
1499         (load_char_attribute_maybe): Likewise.
1500         (syms_of_chartab): Add new symbol/function
1501         `put-char-table-map-function'.
1502
1503 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1504
1505         * database.h: Add new EXFUN for `Fmap_database'.
1506
1507         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1508         (syms_of_database): Likewise.
1509
1510         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1511         UTF-2000.
1512         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1513         (XCHAR_TABLE_UNLOADED): Likewise.
1514
1515         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1516         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1517         HAVE_DATABASE is defined.
1518         (char_attribute_table_to_load): New variable of UTF-2000 with
1519         external database support.
1520         (Qload_char_attribute_table_map_function): Likewise.
1521         (Fload_char_attribute_table_map_function): New function of
1522         UTF-2000 with external database support.
1523         (Fload_char_attribute_table): New function of UTF-2000.
1524         (Fmap_char_attribute): Call Fload_char_attribute_table if
1525         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1526         (syms_of_chartab): Add new symbol and function
1527         `load-char-attribute-table-map-function' in UTF-2000 with external
1528         database support; add new function `load-char-attribute-table' in
1529         UTF-2000.
1530
1531 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1532
1533         * chartab.h (load_char_attribute_maybe): New prototype for
1534         UTF-2000 with DATABASE support.
1535         (get_char_id_table): Use `load_char_attribute_maybe' if
1536         HAVE_DATABASE is defined.
1537
1538         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1539         with DATABASE support.
1540
1541 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1542
1543         * chartab.c (Fput_char_attribute): Use S-expression as key of
1544         external database.
1545
1546         * chartab.h (get_char_id_table): Use S-expression as key of
1547         external database.
1548
1549 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1550
1551         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1552         if an element is not loaded, load the corresponding attributes
1553         from an external database.
1554         (map_over_uint16_byte_table): Likewise.
1555         (map_over_byte_table): Likewise.
1556         (map_char_table): Modify for `map_over_uint8_byte_table',
1557         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1558         element is not loaded, load the corresponding attributes from an
1559         external database.
1560         (Fput_char_attribute): Change initial values to Qunloaded.
1561
1562         * chartab.h (get_char_id_table): If a character attribute is not
1563         loaded and the attribute value is not found in an external
1564         database, store Qunbound as the attribute value.
1565
1566 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1567
1568         * chartab.c (BT_UINT8_unloaded): New macro.
1569         (UINT8_VALUE_P): Accept Qunloaded.
1570         (UINT8_ENCODE): Likewise.
1571         (UINT8_DECODE): Likewise.
1572         (BT_UINT16_unloaded): New macro.
1573         (UINT16_VALUE_P): Accept Qunloaded.
1574         (UINT16_ENCODE): Likewise.
1575         (UINT16_DECODE): Likewise.
1576         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1577         BT_UINT16_unloaded.
1578         (mark_char_table): Mark `ct->name' in UTF-2000.
1579         (char_table_description): Add `name' in UTF-2000.
1580         (Fmake_char_table): Initialize `ct->name'.
1581         (Fcopy_char_table): Copy `ct->name'.
1582         (Fput_char_attribute): Store value into an external database if
1583         HAVE_DATABASE is defined.
1584
1585         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1586         UTF-2000.
1587         (CHAR_TABLE_NAME): New macro in UTF-2000.
1588         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1589         (get_char_id_table): Try to read an external database if Qunloaded
1590         is stored in a table.
1591
1592         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1593         Qunloaded.
1594
1595 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1596
1597         * database.h: Add EXFUN definitions for Fopen_database,
1598         Fput_database, Fget_database and Fclose_database.
1599
1600         * data.c (Qunloaded): New variable in UTF-2000.
1601
1602         * lisp.h (Qunloaded): New variable in UTF-2000.
1603
1604 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1605
1606         * mule-charset.c (put_char_ccs_code_point): Modify for
1607         `decoding_table_remove_char' and `decoding_table_put_char'.
1608         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1609
1610         * char-ucs.h (decoding_table_remove_char): Change arguments to
1611         hide decoding_table vector.
1612         (decoding_table_put_char): Likewise.
1613
1614 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1615
1616         * mule-charset.c (decoding_table_remove_char): Moved to
1617         char-ucs.h.
1618         (decoding_table_put_char): Likewise.
1619
1620         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1621         from mule-charset.c].
1622         (decoding_table_remove_char): New inline function [moved from
1623         mule-charset.c].
1624         (decoding_table_put_char): Likewise.
1625
1626 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1627
1628         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1629         extension.
1630
1631 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1632
1633         * mule-charset.c (decode_builtin_char): Support mother charsets.
1634
1635 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1636
1637         * mule-charset.c (Q94x94x60): New variable.
1638         (charset_code_point): Support conversion `94x94x60'.
1639         (Fmake_charset): Likewise.
1640         (syms_of_mule_charset): Add new symbol `94x94x60'.
1641
1642         * char-ucs.h (CONVERSION_94x94x60): New macro.
1643
1644 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1645
1646         * mule-charset.c (charset_code_point): Unify code about
1647         `code-offset'.
1648
1649 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1650
1651         * mule-charset.c (charset_code_point): Merge code about builtin
1652         characters into code about mother charsets; don't use
1653         `range_charset_code_point'.
1654         (range_charset_code_point): Deleted.
1655
1656 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1657
1658         * mule-charset.c (Qcode_offset): New variable.
1659         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1660         `max-code'; accept new property `code-offset'.
1661         (syms_of_mule_charset): Add new symbol `code-offset'.
1662
1663 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1664
1665         * mule-charset.c (range_charset_code_point): Fixed.
1666
1667 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1668
1669         * mule-charset.c (decode_builtin_char): Change semantics of
1670         code-offset of coded-charset.
1671         (charset_code_point): Likewise.
1672         (range_charset_code_point): Likewise.
1673         (complex_vars_of_mule_charset): Modify for the change.
1674
1675 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1676
1677         * mule-charset.c (Fencode_char): Reverse arguments.
1678
1679         * mule-charset.c (charset_code_point): Fixed.
1680
1681 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1682
1683         * mule-charset.c (Vcharset_mojikyo): Deleted.
1684         (Vcharset_mojikyo_2022_1): Deleted.
1685         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1686         (Qmin_code): New variable in UTF-2000.
1687         (Qmax_code): Likewise.
1688         (Qmother): Likewise.
1689         (Qconversion): Likewise.
1690         (Q94x60): Likewise.
1691         (Qmojikyo): Deleted.
1692         (Qmojikyo_2022_1): Deleted.
1693         (Qmojikyo_pj_{1..22}): Deleted.
1694         (mark_charset): Mark `cs->mother'.
1695         (charset_description): Add description for `mother'.
1696         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1697         new arguments `mother' and `conversion'; use
1698         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1699         (charset_code_point): Moved from char-ucs.h; support `mother'
1700         charset feature.
1701         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1702         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1703         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1704         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1705         allow 2 as the value of `graphic' in UTF-2000; add new properties
1706         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1707         require `final' in UTF-2000; modify for `make_charset'.
1708         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1709         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1710         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1711         (Fencode_char): New function.
1712         (syms_of_mule_charset): Add new builtin function `encode-char' in
1713         UTF-2000; add new symbols `min-code', `max-code', `mother',
1714         `conversion' and `94x60'; delete symbols `mojikyo',
1715         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1716         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1717         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1718         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1719
1720         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1721         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1722
1723         * char-ucs.h (Vcharset_mojikyo): Deleted.
1724         (Vcharset_mojikyo_2022_1): Deleted.
1725         (LEADING_BYTE_MOJIKYO): Deleted.
1726         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1727         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1728         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1729         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1730         add new member `mother'; add new member `conversion'.
1731         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1732         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1733         (CHARSET_MOTHER): New macro.
1734         (CHARSET_CONVERSION): New macro.
1735         (CONVERSION_IDENTICAL): New macro.
1736         (CONVERSION_94x60): New macro.
1737         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1738         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1739         (XCHARSET_MOTHER): New macro.
1740         (XCHARSET_CONVERSION): New macro.
1741         (MIN_CHAR_MOJIKYO): Deleted.
1742         (MAX_CHAR_MOJIKYO): Deleted.
1743         (DECODE_MOJIKYO_2022): Deleted.
1744         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1745         (charset_code_point): Changed to non-inline function.
1746         (encode_char_1): Use `charset_code_point'.
1747         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1748
1749 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1750
1751         * lread.c (read_compiled_function): Fix prototype.
1752         (read_vector): Likewise.
1753
1754 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1755
1756         * lrecord.h (struct lrecord_header): Delete `older'.
1757         (set_lheader_implementation): Delete code for `older'.
1758         (set_lheader_older_implementation): Deleted.
1759         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1760         (OLDER_RECORD_P): Deleted.
1761         (OLDER_RECORD_HEADER_P): Deleted.
1762         (alloc_older_lcrecord): Deleted.
1763         (alloc_older_lcrecord_type): Deleted.
1764
1765         * alloc.c (all_older_lcrecords): Deleted.
1766         (alloc_older_lcrecord): Deleted.
1767         (disksave_object_finalization_1): Delete code for older objects.
1768         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1769         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1770
1771 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1772
1773         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1774         instead of `make_older_vector'.
1775         (put_char_ccs_code_point): Likewise.
1776         (mark_charset): Mark `cs->decoding_table'.
1777         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1778
1779         * lisp.h (make_older_vector): Deleted.
1780         (make_vector_newer): Deleted.
1781
1782         * config.h.in (HAVE_GGC): Deleted.
1783
1784         * alloc.c (make_older_vector): Deleted.
1785         (make_vector_newer_1): Deleted.
1786         (make_vector_newer): Deleted.
1787
1788 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1789
1790         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1791         (Qideograph_daikanwa_2): New variable.
1792         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1793         (complex_vars_of_mule_charset): Add new coded-charset
1794         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1795         `LEADING_BYTE_DAIKANWA'.
1796
1797         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1798         (LEADING_BYTE_DAIKANWA_1): New macro.
1799         (LEADING_BYTE_DAIKANWA_2): New macro.
1800         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1801
1802 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1803
1804         * mule-charset.c (complex_vars_of_mule_charset): Change
1805         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
1806         the second revised version.
1807
1808 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1809
1810         * mule-charset.c (Vcharset_ucs_smp): New variable.
1811         (Vcharset_ucs_sip): New variable.
1812         (Qucs_smp): New variable.
1813         (Qucs_sip): New variable.
1814         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
1815         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
1816         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
1817         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
1818         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
1819         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
1820
1821         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
1822         (LEADING_BYTE_UCS_SIP): New macro.
1823         (MIN_CHAR_SMP): New macro.
1824         (MAX_CHAR_SMP): New macro.
1825         (MIN_CHAR_SIP): New macro.
1826         (MAX_CHAR_SIP): New macro.
1827
1828 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
1829
1830         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
1831         utf-2000.
1832
1833 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1834
1835         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
1836         value; don't store value into `encoding_table' of `Lisp_Charset'.
1837         (mark_charset): `encoding_table' was deleted.
1838         (charset_description): Likewise.
1839         (make_charset): Likewise.
1840         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
1841         `put_char_ccs_code_point'.
1842
1843         * chartab.h (Fput_char_attribute): New EXFUN.
1844
1845         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
1846         is unified with normal symbol space.
1847         (Fget_char_attribute): Likewise.
1848         (Fput_char_attribute): Likewise; behavior of
1849         `put_char_ccs_code_point' is changed.
1850
1851         * char-ucs.h: Include "elhash.h".
1852         (Vchar_attribute_hash_table): New external variable.
1853         (struct Lisp_Charset): Delete `encoding_table'.
1854         (CHARSET_ENCODING_TABLE): New implementation; refer
1855         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
1856         `Lisp_Charset'.
1857
1858 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1859
1860         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
1861         (cs) == 0.
1862
1863 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1864
1865         * text-coding.c (char_encode_big5): Prefer charset-g1 than
1866         `chinese-big5'.
1867
1868 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1869
1870         * chartab.c (uint8_byte_table_description): New constant.
1871         (uint8-byte-table): Use `uint8_byte_table_description'.
1872         (uint16_byte_table_description): New constant.
1873         (uint16-byte-table): Use `uint16_byte_table_description'.
1874
1875 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1876
1877         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
1878         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
1879
1880 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1881
1882         * mule-charset.c (Vcharset_ucs_ks): New variable.
1883         (Qucs_ks): New variable.
1884         (syms_of_mule_charset): Add new symbol `ucs-ks'.
1885         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
1886
1887         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
1888
1889 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1890
1891         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
1892         (Fdecode_char): Likewise.
1893
1894         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
1895         chartab.h.
1896         (Fdefine_char): Modify for Fdecode_char.
1897         (Ffind_char): Likewise.
1898
1899         * mule-charset.c (Fdecode_char): Add new optional argument
1900         `defined-only'.
1901         (Fdecode_builtin_char): Modify for `Fdecode_char'.
1902
1903 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1904
1905         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
1906         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
1907         (allocate_coding_system): Initialize initial-charsets of
1908         CODESYS_BIG5 in XEmacs UTF-2000.
1909         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
1910         CODESYS_BIG5 in XEmacs UTF-2000.
1911         (decode_coding_big5): Use initial-charset-g0 and -g1 of
1912         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
1913
1914         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
1915         variables.
1916         (Qideograph_hanziku_{1 .. 12}): Likewise.
1917         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
1918         .. 12}'.
1919         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
1920         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
1921         `ideograph-hanziku-{1 .. 12}'.
1922
1923         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
1924         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
1925         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
1926         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
1927         (DECODE_DEFINED_CHAR): New inline function.
1928         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
1929
1930 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1931
1932         * mule-charset.c (Vcharset_china3_jef): Renamed from
1933         `Vcharset_japanese_jef_china3'.
1934         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
1935         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
1936         `{MIN|MAX}_CHAR_JEF_CHINA3'..
1937         (syms_of_mule_charset): Rename `china3-jef' from
1938         `japanese-jef-china3'.
1939         (complex_vars_of_mule_charset): Likewise; rename
1940         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
1941
1942         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
1943         `LEADING_BYTE_JEF_CHINA3'.
1944         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
1945         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
1946
1947 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * mule-charset.c (encode_builtin_char_1): Comment out special code
1950         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
1951
1952         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
1953         (MAX_CHAR_MOJIKYO_0): Comment out.
1954         (MIN_CHAR_CBETA): Changed to 0x00E20000.
1955         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
1956         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
1957         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
1958
1959 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1960
1961         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
1962         (Qideograph_cbeta): New variable.
1963         (encode_builtin_char_1): Comment out special code for
1964         coded-charset `mojikyo' and `japanese-jef-china3'.
1965         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
1966         (complex_vars_of_mule_charset): Add new coded-charset
1967         `ideograph-cbeta'.
1968
1969         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
1970         (MIN_CHAR_CBETA): New macro.
1971         (MAX_CHAR_CBETA): New macro.
1972
1973 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1974
1975         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
1976         (LEADING_BYTE_JEF_CHINA3): New macro.
1977         (MIN_CHAR_JEF_CHINA3): New macro.
1978         (MAX_CHAR_JEF_CHINA3): Likewise.
1979         (DECODE_CHAR): Fixed.
1980
1981 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1982
1983         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
1984         (Qjapanese_jef_china3): New variable.
1985         (encode_builtin_char_1): Support `japanese-jef-china3'.
1986         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
1987         (complex_vars_of_mule_charset): Add new coded-charset
1988         `japanese-jef-china3'.
1989
1990 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1991
1992         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
1993         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
1994         94^4, 96^3, 96^4, 128^n and 256^n set.
1995         (put_char_table): Use `XCHARSET_CELL_RANGE'.
1996         (map_char_table): Likewise.
1997
1998 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1999
2000         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2001         UTF-2000.
2002
2003 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2004
2005         * chartab.h (get_char_id_table): New inline function.
2006
2007         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2008         function.
2009
2010 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2011
2012         * chartab.h (decode_char_table_range): New prototype in XEmacs
2013         UTF-2000.
2014         (put_char_id_table): New inline function in XEmacs UTF-2000.
2015
2016         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2017         function.
2018         (decode_char_table_range): Delete static declaration in XEmacs
2019         UTF-2000.
2020
2021 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2022
2023         * chartab.c (put_char_id_table): Use `put_char_table'.
2024
2025 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2028         (map_over_uint16_byte_table): Likewise.
2029         (map_over_byte_table): Likewise.
2030         (map_char_table): Modify for `map_over_uint8_byte_table',
2031         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2032         UTF-2000.
2033
2034 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2035
2036         * chartab.c (struct map_char_table_for_charset_arg): New
2037         structure.
2038         (map_char_table_for_charset_fun): New function.
2039         (map_char_table): Use `map_char_table' for encoding_table of
2040         `range->charset'.
2041
2042 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2043
2044         * chartab.c (map_char_table): Check a character is found in
2045         range->charset instead of non default value is defined in
2046         char-table when range is CHARTAB_RANGE_ROW.
2047
2048 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2049
2050         * chartab.c (map_char_id_table): Deleted.
2051         (Fmap_char_attribute): Use `map_char_table' instead of
2052         `map_char_id_table'.
2053
2054 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2055
2056         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2057         UTF-2000.
2058         (update_syntax_table): Deleted in XEmacs UTF-2000.
2059
2060         * syntax.c (find_defun_start): Use `syntax_table' instead of
2061         `mirror_syntax_table' in XEmacs UTF-2000.
2062         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2063         UTF-2000.
2064         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2065         XEmacs UTF-2000.
2066         (Fmatching_paren): Likewise.
2067         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2068         in XEmacs UTF-2000.
2069         (find_start_of_comment): Likewise.
2070         (find_end_of_comment): Likewise.
2071         (Fforward_comment): Likewise.
2072         (scan_lists): Likewise.
2073         (char_quoted): Likewise.
2074         (Fbackward_prefix_chars): Likewise.
2075         (scan_sexps_forward): Likewise.
2076         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2077         (update_syntax_table): Likewise.
2078
2079         * search.c (skip_chars): Use `syntax_table' instead of
2080         `mirror_syntax_table' in XEmacs UTF-2000.
2081         (wordify): Likewise.
2082         (Freplace_match): Likewise.
2083
2084         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2085         `mirror_syntax_table' in XEmacs UTF-2000.
2086         (WORDCHAR_P_UNSAFE): Likewise.
2087         (re_match_2_internal): Likewise.
2088
2089         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2090         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2091
2092         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2093         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2094
2095         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2096         XEmacs UTF-2000.
2097
2098         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2099         UTF-2000.
2100         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2101         (char_table_description): Delete `mirror_table' in XEmacs
2102         UTF-2000.
2103         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2104         UTF-2000.
2105         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2106         (Fcopy_char_table): Likewise.
2107         (put_char_table): Don't call `update_syntax_table' in XEmacs
2108         UTF-2000.
2109
2110         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2111         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2112         (casify_region_internal): Likewise.
2113
2114         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2115
2116         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2117         `mirror_syntax_table' in XEmacs UTF-2000.
2118
2119         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2120         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2121         (Fexpand_abbrev): Likewise.
2122
2123 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2124
2125         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2126
2127 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2130         (map_over_uint16_byte_table): Likewise.
2131         (map_over_byte_table): Likewise.
2132         (get_char_id_table): Refer `cit->default_value'.
2133         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2134         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2135         of character-id ranges.
2136         (mark_char_table): Mark `ct->default_value'.
2137         (char_table_description): Add `default_value'.
2138         (fill_char_table): Use `default_value'.
2139         (decode_char_table_range): Decode `nil' as
2140         `CHARTAB_RANGE_DEFAULT'.
2141         (get_char_id_table): Refer `cit->default_value'.
2142         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2143         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2144         temporary hack; check value of char-table is bound or not.
2145         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2146
2147         * chartab.h (struct Lisp_Char_Table): Add new member
2148         `default_value' in XEmacs UTF-2000.
2149         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2150         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2151         UTF-2000.
2152
2153 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2154
2155         * chartab.h (Lisp_Char_ID_Table): Deleted.
2156
2157         * chartab.c (char_table_description): Fix typo.
2158         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2159         `Lisp_Char_ID_Table'.
2160
2161 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2162
2163         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2164         `CHAR_ID_TABLE_P'.
2165
2166         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2167         `CHAR_ID_TABLE_P'.
2168
2169         * chartab.h (XCHAR_ID_TABLE): Deleted.
2170         (XSETCHAR_ID_TABLE): Deleted.
2171         (CHAR_ID_TABLE_P): Deleted.
2172
2173         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2174         `CHAR_ID_TABLE_P'.
2175         (Fget_composite_char): Likewise.
2176         (put_char_table): Likewise.
2177         (add_char_attribute_alist_mapper): Fixed.
2178         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2179         `CHAR_ID_TABLE_P'.
2180         (Fget_char_attribute): Likewise.
2181         (Fget_char_attribute): Likewise.
2182         (Fmap_char_attribute): Likewise.
2183
2184         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2185         `CHAR_ID_TABLE_P'.
2186         (encode_char_1): Likewise.
2187
2188 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2189
2190         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2191         `XCHAR_ID_TABLE'.
2192
2193         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2194         instead of `XCHAR_ID_TABLE'.
2195         (remove_char_ccs): Likewise.
2196
2197         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2198         `XCHAR_ID_TABLE'.
2199         (Fget_composite_char): Likewise.
2200         (Fchar_variants): Likewise.
2201         (put_char_table): Likewise.
2202         (add_char_attribute_alist_mapper): Likewise.
2203         (Fchar_attribute_alist): Likewise.
2204         (Fget_char_attribute): Likewise.
2205         (Fput_char_attribute): Likewise.
2206         (Fmap_char_attribute): Likewise.
2207         (Fmap_char_attribute): Likewise.
2208
2209         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2210         `XCHAR_ID_TABLE'.
2211         (encode_char_1): Likewise.
2212
2213 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2214
2215         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2216         `Lisp_Char_ID_Table'.
2217         (mark_char_id_table): Deleted.
2218         (print_char_id_table): Likewise.
2219         (char_id_table_equal): Likewise.
2220         (char_id_table_hash): Likewise.
2221         (char_id_table_description): Likewise.
2222         (char_id_table): Likewise.
2223         (make_char_id_table): Use `Fmake_char_table' and
2224         `fill_char_table'.
2225         (get_char_id_table): Use `Lisp_Char_Table' instead of
2226         `Lisp_Char_ID_Table'.
2227         (put_char_id_table): Likewise.
2228         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2229         `XCHAR_ID_TABLE'.
2230         (Fremove_char_attribute): Likewise.
2231         (syms_of_chartab): Don't define type `char-id-table'.
2232
2233         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2234         (char_id_table): Likewise.
2235         (GC_CHAR_ID_TABLE_P): Likewise.
2236         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2237         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2238         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2239         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2240         (get_char_id_table): Use `Lisp_Char_Table' instead of
2241         `Lisp_Char_ID_Table'.
2242         (put_char_id_table_0): Likewise.
2243         (put_char_id_table): Likewise.
2244
2245 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2246
2247         * chartab.h: Lisp_Byte_Table related codes are moved from
2248         chartab.h.
2249
2250         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2251
2252 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2253
2254         * chartab.h: Don't include "chartab.h".
2255         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2256         (Lisp_Char_ID_Table): Likewise.
2257         (char_id_table): Likewise.
2258         (XCHAR_ID_TABLE): Likewise.
2259         (XSETCHAR_ID_TABLE): Likewise.
2260         (CHAR_ID_TABLE_P): Likewise.
2261         (GC_CHAR_ID_TABLE_P): Likewise.
2262         (get_char_id_table): Likewise.
2263
2264         * char-ucs.h: Include "chartab.h".
2265         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2266         (Lisp_Char_ID_Table): Likewise.
2267         (char_id_table): Likewise.
2268         (XCHAR_ID_TABLE): Likewise.
2269         (XSETCHAR_ID_TABLE): Likewise.
2270         (CHAR_ID_TABLE_P): Likewise.
2271         (GC_CHAR_ID_TABLE_P): Likewise.
2272         (get_char_id_table): Likewise.
2273
2274 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2275
2276         * chartab.c (copy_uint8_byte_table): New function.
2277         (copy_uint16_byte_table): New function.
2278         (copy_byte_table): New function.
2279         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2280         characters to call.
2281         (map_over_uint16_byte_table): Likewise.
2282         (map_over_byte_table): Likewise.
2283         (get_byte_table): Move prototype to chartab.h.
2284         (put_byte_table): Likewise.
2285         (put_char_id_table_0): Moved to chartab.h.
2286         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2287         (char_table_entry_equal): Likewise.
2288         (char_table_entry_hash): Likewise.
2289         (char_table_entry_description): Likewise.
2290         (char_table_entry): Likewise.
2291         (make_char_table_entry): Likewise.
2292         (copy_char_table_entry): Likewise.
2293         (get_non_ascii_char_table_value): Likewise.
2294         (map_over_charset_ascii): Likewise.
2295         (map_over_charset_control_1): Likewise.
2296         (map_over_charset_row): Likewise.
2297         (map_over_other_charset): Likewise.
2298         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2299         (print_char_table): Likewise.
2300         (char_table_equal): Likewise.
2301         (char_table_hash): Likewise.
2302         (char_table_description): Likewise.
2303         (fill_char_table): Likewise.
2304         (Fcopy_char_table): Likewise.
2305         (get_char_table): Likewise.
2306         (Fget_range_char_table): Likewise.
2307         (put_char_table): Likewise.
2308         (map_char_table): Likewise.
2309         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2310         UTF-2000.
2311
2312 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2313
2314         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2315         `Vauto_fill_chars' in XEmacs UTF-2000.
2316
2317         * chartab.h (get_byte_table): New prototype [moved from
2318         chartab.c].
2319         (put_byte_table): Likewise [moved from chartab.c].
2320         (put_char_id_table_0): New inline function [moved from chartab.c].
2321         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2322         (Lisp_Char_Table_Entry): Likewise.
2323         (char_table_entry): Likewise.
2324         (XCHAR_TABLE_ENTRY): Likewise.
2325         (XSETCHAR_TABLE_ENTRY): Likewise.
2326         (CHAR_TABLE_ENTRYP): Likewise.
2327         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2328         (NUM_ASCII_CHARS): Likewise.
2329         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2330         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2331
2332 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2333
2334         * chartab.c (get_char_id_table): Change interface.
2335         (put_char_id_table_0): New function.
2336         (put_char_id_table): Change interface; new implementation.
2337         (Fget_composite_char): Modify for interface change of
2338         `get_char_id_table'.
2339         (Fchar_variants): Likewise.
2340         (add_char_attribute_alist_mapper): Likewise.
2341         (Fchar_attribute_alist): Likewise.
2342         (Fget_char_attribute): Likewise.
2343         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2344         as same as character as the first argument like `put-char-table';
2345         modify for interface change of `put_char_id_table'.
2346         (Fremove_char_attribute): Modify for interface change of
2347         `put_char_id_table'.
2348
2349 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2350
2351         * text-coding.c: Sync up with XEmacs 21.2.41.
2352         (COMPOSE_ADD_CHAR): Modify for interface change of
2353         `get_char_id_table'.
2354
2355         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2356         change of `put_char_id_table'.
2357         (remove_char_ccs): Likewise.
2358
2359         * chartab.h (put_char_id_table): Change interface.
2360
2361         * char-ucs.h (get_char_id_table): Change interface.
2362         (charset_code_point): Modify for interface change of
2363         `get_char_id_table'.
2364         (encode_char_1): Likewise.
2365
2366 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2367
2368         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2369         argument `ccs'.
2370         (map_over_uint16_byte_table): Likewise.
2371         (map_over_byte_table): Likewise.
2372         (map_char_id_table): Add new argument `range' like
2373         `map_char_table'.
2374         (Fmap_char_attribute): Add new argument `range' like
2375         `Fmap_char_table'.
2376
2377 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2378
2379         * chartab.c (map_over_uint8_byte_table): Change interface of
2380         mapping function to use struct chartab_range instead of Emchar.
2381         (map_over_uint16_byte_table): Likewise.
2382         (map_over_byte_table): Likewise.
2383         (map_char_id_table): Likewise.
2384         (struct slow_map_char_id_table_arg): Deleted.
2385         (slow_map_char_id_table_fun): Deleted.
2386         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2387         function `slow_map_char_table_fun' instead of struct
2388         `slow_map_char_id_table_arg' and function
2389         `slow_map_char_id_table_fun'.
2390
2391 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2392
2393         * mule-charset.c: Move char-it-table related codes to chartab.c.
2394         (Vutf_2000_version): Moved to chartab.c.
2395         (Fdefine_char): Likewise.
2396         (Ffind_char): Likewise.
2397         (syms_of_mule_charset): Move types `uint8-byte-table',
2398         `uint16-byte-table', `byte-table' and `char-id-table' to
2399         chartab.c; move functions `char_attribute_list,
2400         `find_char_attribute_table, `char_attribute_alist,
2401         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2402         `map_char_attribute, `define_char, `find_char, `char_variants and
2403         `get_composite_char to chartab.c; move symbols `=>ucs',
2404         `->decomposition', `compat', `isolated', `initial', `medial',
2405         `final', `vertical', `noBreak', `fraction', `super', `sub',
2406         `circle', `square', `wide', `narrow', `small' and `font' to
2407         chartab.c.
2408         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2409         setting codes for `Vcharacter_composition_table' and
2410         `Vcharacter_variant_table' to chartab.c.
2411         (complex_vars_of_mule_charset): Move setting code for
2412         `Vchar_attribute_hash_table' to chartab.c.
2413
2414         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2415         (make_char_id_table): New prototype.
2416         (put_char_id_table): Likewise.
2417         (Fget_char_attribute): Likewise.
2418
2419         * chartab.c: Move char-id-table related code from mule-charset.c.
2420         (Vutf_2000_version): Moved from mule-charset.c.
2421
2422         * char-ucs.h (Qucs): New external variable.
2423         (put_char_ccs_code_point): New prototype.
2424         (remove_char_ccs): Likewise.
2425
2426 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2427
2428         * mule-charset.c (Vcharset_ucs_jis): New variable.
2429         (Qucs_jis): Likewise.
2430         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2431         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2432
2433         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2434
2435 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2436
2437         * mule-charset.c (map_over_uint8_byte_table): New function.
2438         (map_over_uint16_byte_table): Likewise.
2439         (map_over_byte_table): Likewise.
2440         (map_char_id_table): Likewise.
2441         (slow_map_char_id_table_fun): Likewise.
2442         (Fmap_char_attribute): Likewise.
2443         (syms_of_mule_charset): Add new function `map-char-attribute'.
2444
2445 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2446
2447         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2448         (syms_of_mule_charset): Add new function `find-char'.
2449
2450 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2451
2452         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2453         XEmacs UTF-2000.
2454         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2455         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2456         XEmacs UTF-2000.
2457         (complex_vars_of_mule_charset): Add new coded-charset
2458         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2459         `ideograph-gt-pj-*'.
2460
2461         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2462
2463 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2464
2465         * mule-charset.c (encode_builtin_char_1): Purge codes about
2466         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2467         {MIN|MAX}_CHAR_HEBREW.
2468         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2469         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2470
2471         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2472         (MAX_CHAR_GREEK): Purged.
2473         (MIN_CHAR_CYRILLIC): Purged.
2474         (MAX_CHAR_CYRILLIC): Purged.
2475         (MIN_CHAR_HEBREW): Commented out.
2476         (MAX_CHAR_HEBREW): Likewise.
2477
2478 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2479
2480         * mule-charset.c (Qto_ucs): New variable.
2481         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2482         (Fdefine_char): Likewise.
2483         (syms_of_mule_charset): Add new symbol `=>ucs'.
2484
2485 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2486
2487         * mule-charset.c (Fdecode_char): Fixed.
2488
2489 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2490
2491         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2492         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2493         "tcvn5712-1".
2494
2495 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2496
2497         * mule-charset.c (Vcharset_ucs_big5): New variable.
2498         (Qucs_big5): Likewise.
2499         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2500         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2501
2502         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2503
2504 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2505
2506         * mule-charset.c (decode_builtin_char): Check Big5 code range
2507         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2508
2509 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2510
2511         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2512         (Qchinese_gb12345): Likewise.
2513         (Fdecode_builtin_char): Fixed.
2514         (syms_of_mule_charset): Add `chinese-gb12345'.
2515         (complex_vars_of_mule_charset): Add coded-charset
2516         `chinese-gb12345'.
2517
2518         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2519         (LEADING_BYTE_CHINESE_GB12345): New macro.
2520
2521 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2522
2523         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2524         and `latin-viscii-upper' for `latin-viscii'.
2525
2526 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2527
2528         * mule-charset.c (Fdecode_builtin_char): Comment out
2529         regularization code for ISO-IR GR representation.
2530
2531 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2532
2533         * mule-charset.c (decode_builtin_char): New function; renamed from
2534         `make_builtin_char'; return -1 instead of signal.
2535         (Fdecode_builtin_char): Use `decode_builtin_char'.
2536
2537         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2538         `make_builtin_char'.
2539         (DECODE_CHAR): Use `decode_builtin_char' instead of
2540         `make_builtin_char'; use mapping table of `chinese-big5' for
2541         `chinese-big5-{1,2}'.
2542
2543 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2544
2545         * text-coding.c (char_encode_big5): New function.
2546         (char_finish_big5): Likewise.
2547         (reset_encoding_stream): Use `char_encode_big5' and
2548         `char_finish_big5' for CODESYS_BIG5.
2549         (mule_encode): Don't use `encode_coding_big5'.
2550         (encode_coding_big5): Deleted.
2551
2552 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2553
2554         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2555         0x81- in XEmacs UTF-2000.
2556         (detect_coding_big5): Likewise.
2557
2558 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2559
2560         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2561         generate character-id if the CCS property does not have
2562         corresponding predefined character.
2563         (make_builtin_char): Return -1 if corresponding predefined
2564         character is not found.
2565         (Fdecode_char): Return nil if corresponding character is not
2566         found.
2567         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2568         don't map to builtin ucs space.
2569
2570 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2571
2572         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2573         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2574
2575 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2576
2577         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2578         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2579         (Qideograph_gt): Likewise.
2580         (Qideograph_gt_pj_{1..11}): Likewise.
2581         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2582         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2583         `ideograph-gt-pj-11'.
2584         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2585         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2586         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2587
2588         * char-ucs.h (LEADING_BYTE_GT): New macro.
2589         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2590         (MIN_CHAR_GT): Likewise.
2591         (MAX_CHAR_GT): Likewise.
2592
2593 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2594
2595         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2596         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2597
2598         * doprnt.c (unsigned_int_converters): Add `c'.
2599         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2600
2601         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2602         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2603         `MIN_CHAR_MOJIKYO'.
2604         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2605         (MAX_CHAR_MOJIKYO_0): New macro.
2606         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2607
2608 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2609
2610         * mule-charset.c (Fdefine_char): Delete cemented out code.
2611         (encode_builtin_char_1): Modify for new allocation of builtin
2612         Mojikyo characters.
2613
2614         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2615
2616 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2617
2618         * mule-charset.c (Vcharset_ucs_cns): New variable.
2619         (Qucs_cns): New variable.
2620         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2621         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2622
2623 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2624
2625         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2626
2627 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2628
2629         * search.c (search_buffer): Make `charset_base_code' as
2630         character-id >> 6 to eliminate the corresponding last byte in
2631         UTF-8 representation [I'm not sure it is right thing].
2632         (boyer_moore): Likewise.
2633
2634 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2635
2636         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2637         representation in MULE.
2638
2639 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2640
2641         * text-coding.c (Fmake_coding_system): Use
2642         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2643         `EXTERNAL_PROPERTY_LIST_LOOP'.
2644
2645 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2646
2647         * text-coding.c (decode_output_utf8_partial_char): New function.
2648         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2649
2650 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2651
2652         * text-coding.c (decode_coding_utf8): Output original byte
2653         sequence if it is broken; change order of conditions.
2654
2655         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2656         of conditions.
2657
2658         * mb-multibyte.h (BYTE_ASCII_P):
2659         Use bit ops for char-signedness safety.
2660         (BYTE_C0_P): Use bit ops for char-signedness safety.
2661         (BYTE_C1_P): Use bit ops for char-signedness safety.
2662
2663         * character.h: (XCHAR_OR_CHAR_INT):
2664         Always use inline function.
2665         Remove redundant type checking assert() - XINT will abort quite
2666         nicely.
2667
2668 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2669
2670         * text-coding.c: (Fencode_shift_jis_char):
2671         (Fencode_big5_char):
2672         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2673         Replace 0 with '\0' when working with bytes.
2674         Replace initial "(" with "\(" in docstrings.
2675
2676         (Fmake_coding_system):
2677         When type is ccl and value is vector, register it with a proper
2678         symbol.  And checks whether the given ccl program is valid.
2679         (mule_decode): When calling ccl_driver, if src indicates
2680         NULL pointer, set an empty string instead.
2681         (mule_encode): Likewise.
2682
2683         (detect_eol_type):
2684         (detect_coding_sjis):
2685         (decode_coding_sjis):
2686         (detect_coding_big5):
2687         (decode_coding_big5):
2688         (detect_coding_ucs4):
2689         (decode_coding_ucs4):
2690         (detect_coding_utf8):
2691         (decode_coding_utf8):
2692         (detect_coding_iso2022):
2693         (decode_coding_iso2022):
2694         (decode_coding_no_conversion):
2695         (mule_decode):
2696         Make all detecting and decoding functions take an Extbyte * arg.
2697         (text_encode_generic):
2698         (encode_coding_big5):
2699         (encode_coding_no_conversion):
2700         (mule_encode):
2701         Make all encoding functions take a Bufbyte * arg.
2702         Use size_t instead of unsigned int for memory sizes.
2703         Only cast to unsigned char whenever dereferencing Extbyte *.
2704
2705         (struct lrecord_description fcd_description_1): Use countof.
2706         (complex_vars_of_file_coding):
2707         Use countof instead of sizeof.
2708         Use CHECK_NATNUM instead of CHECK_INT.
2709
2710 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2711
2712         * mule-charset.c (Fget_char_attribute): Add new optional argument
2713         `default-value'.
2714         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2715         (remove_char_ccs): Likewise.
2716
2717 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2718
2719         * text-coding.c (char_encode_shift_jis): New implementation in
2720         UTF-2000.
2721         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2722         ...)'.
2723
2724         * mule-charset.c (Vcharset_chinese_big5): New variable in
2725         UTF-2000.
2726         (Qchinese_big5): New variable in UTF-2000.
2727         (BIG5_SAME_ROW): New macro in UTF-2000.
2728         (make_builtin_char): Use builtin characters of
2729         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2730         characters of `Vcharset_chinese_big5'.
2731         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2732         (complex_vars_of_mule_charset): Add new coded-charset
2733         `chinese-big5' in UTF-2000.
2734
2735         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2736         (Vcharset_chinese_big5): New external variable declaration.
2737         (Vcharset_japanese_jisx0208_1990): Likewise.
2738
2739 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2740
2741         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2742         function.
2743         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2744
2745 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2746
2747         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2748         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2749         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2750         `mojikyo-pj-*'.
2751
2752 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2753
2754         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2755
2756 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2757
2758         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2759         to 0.17.
2760
2761 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2762
2763         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2764         for `CHARSET_BY_ATTRIBUTES'.
2765         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2766         `CHARSET_BY_ATTRIBUTES'.
2767
2768         * text-coding.c (struct decoding_stream): Rename member `CH' to
2769         `CPOS'.
2770         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2771         (decode_coding_sjis): Likewise.
2772         (decode_coding_big5): Likewise.
2773         (decode_coding_ucs4): Likewise.
2774         (decode_coding_utf8): Likewise.
2775         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2776         `CHARSET_BY_ATTRIBUTES'.
2777         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2778         `str->counter'; decode 3, 4 bytes sets.
2779         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2780         sets.
2781         (decode_coding_no_conversion): Use `str->cpos' instead of
2782         `str->ch'.
2783
2784         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2785         (Qmojikyo_2022_1): New variable.
2786         (make_charset): Don't use `CHARSET_TYPE_*'.
2787         (range_charset_code_point): Support coded-charset
2788         `mojikyo-2022-1'.
2789         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2790         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2791         `CHARSET_BY_ATTRIBUTES'.
2792         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2793         `CHARSET_BY_ATTRIBUTES'.
2794         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2795         (complex_vars_of_mule_charset): Add new coded-charset
2796         `mojikyo-2022-1'.
2797
2798         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2799         interface; changed to inline function.
2800
2801         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2802         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
2803         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
2804         (CHARSET_TYPE_94): Deleted.
2805         (CHARSET_TYPE_94X94): Deleted.
2806         (CHARSET_TYPE_96): Deleted.
2807         (CHARSET_TYPE_96X96): Deleted.
2808         (CHARSET_TYPE_128): Deleted.
2809         (CHARSET_TYPE_128X128): Deleted.
2810         (CHARSET_TYPE_256): Deleted.
2811         (CHARSET_TYPE_256X256): Deleted.
2812         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
2813         to inline function.
2814         (DECODE_MOJIKYO_2022): New inline function.
2815         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
2816         `Vcharset_mojikyo_2022_1'.
2817
2818 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2819
2820         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
2821         instead of `EQ'.
2822         (put_byte_table): Likewise.
2823         (char_id_table_equal): Use `get_byte_table' [new implementation].
2824
2825 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2826
2827         * mule-charset.c: Include <limits.h> in UTF-2000.
2828         (BT_UINT8_MIN): New macro in UTF-2000.
2829         (BT_UINT8_MAX): New macro in UTF-2000.
2830         (BT_UINT8_t): New macro in UTF-2000.
2831         (BT_UINT8_nil): New macro in UTF-2000.
2832         (BT_UINT8_unbound): New macro in UTF-2000.
2833         (INT_UINT8_P): New inline function in UTF-2000.
2834         (UINT8_VALUE_P): New inline function in UTF-2000.
2835         (UINT8_ENCODE): New inline function in UTF-2000.
2836         (UINT8_DECODE): New inline function in UTF-2000.
2837         (mark_uint8_byte_table): New function in UTF-2000.
2838         (print_uint8_byte_table): New function in UTF-2000.
2839         (uint8_byte_table_equal): New function in UTF-2000.
2840         (uint8_byte_table_hash): New function in UTF-2000.
2841         (make_uint8_byte_table): New function in UTF-2000.
2842         (uint8_byte_table_same_value_p): New function in UTF-2000.
2843         (BT_UINT16_MIN): New macro in UTF-2000.
2844         (BT_UINT16_MAX): New macro in UTF-2000.
2845         (BT_UINT16_t): New macro in UTF-2000.
2846         (BT_UINT16_nil): New macro in UTF-2000.
2847         (BT_UINT16_unbound): New macro in UTF-2000.
2848         (INT_UINT16_P): New inline function in UTF-2000.
2849         (UINT16_VALUE_P): New inline function in UTF-2000.
2850         (UINT16_ENCODE): New inline function in UTF-2000.
2851         (UINT16_DECODE): New inline function in UTF-2000.
2852         (UINT8_TO_UINT16): New inline function in UTF-2000.
2853         (mark_uint16_byte_table): New function in UTF-2000.
2854         (print_uint16_byte_table): New function in UTF-2000.
2855         (uint16_byte_table_equal): New function in UTF-2000.
2856         (uint16_byte_table_hash): New function in UTF-2000.
2857         (make_uint16_byte_table): New function in UTF-2000.
2858         (uint16_byte_table_same_value_p): New function in UTF-2000.
2859         (print_byte_table): New function in UTF-2000.
2860         (byte-table): Use `print_byte_table' as printer.
2861         (make_byte_table): Delete second argument `older'.
2862         (byte_table_same_value_p): New function in UTF-2000.
2863         (copy_byte_table): Deleted.
2864         (get_byte_table): New function in UTF-2000.
2865         (put_byte_table): New function in UTF-2000.
2866         (print_char_id_table): New function in UTF-2000.
2867         (char-id-table): Use `print_char_id_table' as printer.
2868         (make_char_id_table): Delete second argument `older'.
2869         (get_char_id_table): Use `get_byte_table [new implementation].
2870         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
2871         implementation].
2872         (Ffind_char_attribute_table): New function in UTF-2000.
2873         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
2874         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
2875         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
2876         (syms_of_mule_charset): Add new function
2877         `find-char-attribute-table' in UTF-2000.
2878
2879         * lrecord.h (enum lrecord_type): Add
2880         `lrecord_type_uint16_byte_table' and
2881         `lrecord_type_uint8_byte_table'.
2882
2883         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
2884         (Lisp_Uint8_Byte_Table): New type.
2885         (XUINT8_BYTE_TABLE): New macro.
2886         (XSETUINT8_BYTE_TABLE): New macro.
2887         (UINT8_BYTE_TABLE_P): New macro.
2888         (GC_UINT8_BYTE_TABLE_P): New macro.
2889         (struct Lisp_Uint16_Byte_Table): New structure.
2890         (Lisp_Uint16_Byte_Table): New type.
2891         (XUINT16_BYTE_TABLE): New macro.
2892         (XSETUINT16_BYTE_TABLE): New macro.
2893         (UINT16_BYTE_TABLE_P): New macro.
2894         (GC_UINT16_BYTE_TABLE_P): New macro.
2895
2896 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2897
2898         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
2899         (Vcharacter_ideographic_strokes_table): Deleted.
2900         (Vcharacter_total_strokes_table): Deleted.
2901         (Vcharacter_morohashi_daikanwa_table): Deleted.
2902         (Vcharacter_decomposition_table): Deleted.
2903         (Qname): Deleted because it is duplicated.
2904         (Qideographic_radical): Deleted.
2905         (Qideographic_strokes): Deleted.
2906         (Qtotal_strokes): Deleted.
2907         (Qmorohashi_daikanwa): Deleted.
2908         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
2909         `ideographic-radical', `ideographic-strokes', `total-strokes',
2910         `morohashi-daikanwa' and `->decomposition'.
2911         (Fget_char_attribute): Likewise.
2912         (Fput_char_attribute): Likewise; use `make-vector' instead of
2913         `make_older_vector' for `->decomposition' value.
2914         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
2915         `ideograph-daikanwa'.
2916         (syms_of_mule_charset): Delete builtin symbols `name',
2917         `ideographic-radical', `ideographic-strokes', `total-strokes' and
2918         `morohashi-daikanwa'.
2919         (vars_of_mule_charset): Don't setup
2920         `Vcharacter_ideographic_radical_table',
2921         `Vcharacter_ideographic_strokes_table',
2922         `Vcharacter_total_strokes_table',
2923         `Vcharacter_morohashi_daikanwa_table' and
2924         `Vcharacter_decomposition_table'.
2925
2926 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2927
2928         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
2929         `make_older_vector', `make_vector_newer_1' and
2930         `make_vector_newer'.
2931
2932         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
2933         `make_older_vector' and `make_vector_newer'.
2934
2935         * config.h.in (HAVE_GGC): New macro.
2936
2937 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2938
2939         * mule-charset.c (struct char_attribute_list_closure): New
2940         structure in UTF-2000.
2941         (add_char_attribute_to_list_mapper): New function in UTF-2000.
2942         (Fchar_attribute_list): Likewise.
2943         (Fset_charset_mapping_table): Use `make_vector_newer'.
2944         (Fdecode_builtin_char): New function in UTF-2000.
2945         (syms_of_mule_charset): Add new function `char-attribute-list' and
2946         `decode-builtin-char' in UTF-2000.
2947
2948         * lisp.h (make_vector_newer): New prototype.
2949
2950         * alloc.c (make_vector_newer_1): New function.
2951         (make_vector_newer): New function.
2952
2953 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
2956         50100)'.
2957
2958 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2959
2960         * mule-charset.c (Vchar_attribute_hash_table): New variable.
2961         (Vcharacter_attribute_table): Deleted.
2962         (Vcharacter_name_table): Deleted.
2963         (put_char_attribute): Deleted.
2964         (remove_char_attribute): Deleted.
2965         (struct char_attribute_alist_closure): New structure.
2966         (add_char_attribute_alist_mapper): New function.
2967         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
2968         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
2969         (Fget_char_attribute): Likewise.
2970         (Fput_char_attribute): Likewise.
2971         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
2972         of `remove_char_attribute'.
2973         (Fdefine_char): Return character.
2974         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
2975         and `Vcharacter_name_table'.
2976         (complex_vars_of_mule_charset): Likewise
2977         `Vchar_attribute_hash_table'.
2978
2979 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2980
2981         * character.h (CHARC_CHARSET): New macro.
2982         (CHARC_CHARSET_ID): New macro.
2983         (CHARC_CODE_POINT): New macro.
2984         (CHARC_COLUMNS): New macro.
2985         (CHARC_TO_CHAR): New inline function.
2986         (CHARC_EQ): New inline function.
2987         (CHARC_ASCII_EQ): New inline function.
2988         (CHARC_IS_SPACE): New inline function.
2989         (ASCII_TO_CHARC): New inline function.
2990
2991         * char-ucs.h (encode_char_2): Deleted.
2992         (ENCODE_CHAR): Use `encode_char_1' again.
2993         (breakup_char_1): Likewise.
2994         (CHAR_TO_CHARC): New inline function.
2995
2996         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
2997
2998 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2999
3000         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3001         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3002         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3003         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3004         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3005         `CHARC_IS_SPACE'.
3006         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3007
3008         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3009         `CHARC_CODE_POINT'.
3010         (x_output_display_block): Use `CHARC_CHARSET' and
3011         `CHARC_ASCII_EQ'.
3012
3013         * redisplay-tty.c (tty_output_display_block): Use
3014         `CHARC_ASCII_EQ'.
3015         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3016
3017         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3018
3019         * insdel.c (find_charsets_in_charc_string): Use
3020         `CHARC_CHARSET_ID'.
3021         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3022         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3023         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3024         (convert_charc_string_into_malloced_string): Likewise.
3025
3026 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3027
3028         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3029         instead of <Emchar_dynarr *> for buf; use
3030         `convert_bufbyte_string_into_charc_dynarr' instead of
3031         `convert_bufbyte_string_into_emchar_dynarr'; use
3032         `find_charsets_in_charc_string' instead of
3033         `find_charsets_in_emchar_string'.
3034
3035         * redisplay.h:
3036         - Include "character.h".
3037         (struct rune): New member `cglyph'; delete member `chr'.
3038
3039         * redisplay.c (redisplay_text_width_charc_string): New function;
3040         delete `redisplay_text_width_emchar_string'.
3041         (rtw_charc_dynarr): New variable; renamed from
3042         `rtw_emchar_dynarr'.
3043         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3044         `rtw_emchar_dynarr'; use
3045         `convert_bufbyte_string_into_charc_dynarr' instead of
3046         `convert_bufbyte_string_into_emchar_dynarr'; use
3047         `redisplay_text_width_charc_string' instead of
3048         `redisplay_text_width_emchar_string'.
3049         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3050         instead of `rtw_emchar_dynarr'; use
3051         `convert_bufbyte_string_into_charc_dynarr' instead of
3052         `convert_bufbyte_string_into_emchar_dynarr'.
3053         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3054         `redisplay_text_width_charc_string' instead of
3055         `redisplay_text_width_emchar_string'.
3056         (create_text_block): Modify for <struct rune> change.
3057         (generate_formatted_string_db): Likewise.
3058         (create_string_text_block): Likewise.
3059         (pixel_to_glyph_translation): Likewise.
3060
3061         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3062         instead of <const Emchar *>.
3063         (x_text_width): Likewise.
3064         (x_output_display_block): Use <Charc_dynarr *> instead
3065         <Emchar_dynarr *>; modify for <structure rune> change.
3066         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3067         *>.
3068
3069         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3070         <const Emchar *>; use `charc_string_displayed_columns' instead of
3071         `emchar_string_displayed_columns'.
3072         (tty_output_display_block): Use <Charc_dynarr *> instead of
3073         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3074         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3075         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3076         `tty_output_emchar_dynarr_dynarr'.
3077         (tty_output_charc_dynarr): New function; delete
3078         `tty_output_charc_dynarr'.
3079
3080         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3081         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3082         <Emchar_dynarr *> for buf; use
3083         `convert_bufbyte_string_into_charc_dynarr' instead of
3084         `convert_bufbyte_string_into_emchar_dynarr'.
3085
3086         * frame.c (title_string_charc_dynarr): New variable; renamed from
3087         `title_string_emchar_dynarr'.
3088         (generate_title_string): Use `title_string_charc_dynarr' instead
3089         of `title_string_emchar_dynarr'; use
3090         `convert_charc_string_into_malloced_string' instead of
3091         `convert_emchar_string_into_malloced_string'.
3092         (init_frame): Use `title_string_charc_dynarr' instead of
3093         `title_string_emchar_dynarr'.
3094
3095         * console.h:
3096         - Include "character.h".
3097         (struct console_methods): Use <const Charc *> instead of <const
3098         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3099         <Emchar_dynarr *> in output_string_method.
3100
3101         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3102         <Emchar_dynarr *>.
3103
3104         * console-stream.c (stream_text_width): Use <const Charc *>
3105         instead of <const Emchar *>.
3106
3107         * character.h (Charc_dynarr): New type.
3108
3109         * char-ucs.h (structure Charc): New structure; define new type
3110         `Charc'.
3111
3112         * char-lb.h (DECODE_CHAR): New inline function.
3113         (encode_char_1): New inline function.
3114         (ENCODE_CHAR): New macro.
3115         (structure Charc): New structure; define new type `Charc'.
3116
3117         * char-1byte.h (Vcharset_control_1): New macro.
3118         (Vcharset_latin_iso8859_1): New macro.
3119         (DECODE_CHAR): New inline function.
3120         (encode_char_1): New inline function.
3121         (ENCODE_CHAR): New macro.
3122         (structure Charc): New structure; define new type `Charc'.
3123
3124         * insdel.c (find_charsets_in_charc_string): New function; delete
3125         `find_charsets_in_emchar_string'.
3126         (charc_string_displayed_columns): New function; delete
3127         `emchar_string_displayed_columns'.
3128         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3129         `convert_bufbyte_string_into_emchar_dynarr'.
3130         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3131         `convert_charc_string_into_bufbyte_dynarr'.
3132         (convert_charc_string_into_malloced_string): New function; delete
3133         `convert_charc_string_into_malloced_string'.
3134
3135         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3136         `find_charsets_in_emchar_string'.
3137         (charc_string_displayed_columns): New prototype; delete
3138         `emchar_string_displayed_columns'.
3139         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3140         `convert_charc_string_into_bufbyte_dynarr'.
3141         (convert_charc_string_into_malloced_string): New prototype; delete
3142         `convert_charc_string_into_malloced_string'.
3143
3144 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3145
3146         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3147
3148 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3149
3150         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3151
3152         * char-ucs.h: Use <short> for <Charset_ID>.
3153
3154         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3155         <Charset_ID>.
3156
3157 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3158
3159         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3160         to 0.16.
3161
3162 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3163
3164         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3165         variable.
3166         (Qmorohashi_daikanwa): New variable.
3167         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3168         for `morohashi-daikanwa' attribute.
3169         (Fget_char_attribute): Likewise.
3170         (Fput_char_attribute): Likewise.
3171         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3172         has the same value of `ideograph-daikanwa'.
3173         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3174         (vars_of_mule_charset): Setup
3175         `Vcharacter_morohashi_daikanwa_table'.
3176
3177 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3178
3179         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3180         attributes.
3181         (add_charset_to_list_mapper): Add `key' instead of
3182         `XCHARSET_NAME (value)' to return aliases.
3183
3184 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3185
3186         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3187         variable.
3188         (Vcharacter_ideographic_strokes_table): New variable.
3189         (Qideographic_radical): New variable.
3190         (Qideographic_strokes): New variable.
3191         (Fchar_attribute_alist): Use
3192         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3193         attribute; use `Vcharacter_ideographic_strokes_table' for
3194         `ideographic-strokes' attribute.
3195         (Fget_char_attribute): Likewise.
3196         (Fput_char_attribute): Likewise.
3197         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3198         `ideographic-strokes'.
3199         (vars_of_mule_charset): Setup
3200         `Vcharacter_ideographic_radical_table' and
3201         `Vcharacter_ideographic_strokes_table'.
3202
3203 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3204
3205         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3206         (Qtotal_strokes): New variable.
3207         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3208         `total-strokes' attribute.
3209         (Fget_char_attribute): Likewise.
3210         (Fput_char_attribute): Likewise.
3211         (syms_of_mule_charset): Add new symbol `total-strokes'.
3212         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3213
3214 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3215
3216         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3217         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3218         are found.
3219         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3220         `->decomposition' attribute.
3221         (Fput_char_attribute): Likewise.
3222         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3223
3224 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3225
3226         * mule-charset.c (decoding_table_check_elements): New function.
3227         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3228
3229 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3230
3231         * mule-charset.c (Fset_charset_mapping_table): Use
3232         `put_char_ccs_code_point'.
3233
3234 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3235
3236         * mule-charset.c (decoding_table_put_char): New inline function.
3237         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3238
3239 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3240
3241         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3242         (XCHARSET_BYTE_SIZE): New macro.
3243         (decoding_table_remove_char): New inline function.
3244         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3245         `decoding_table_remove_char'.
3246         (remove_char_ccs): Use `decoding_table_remove_char'.
3247         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3248
3249 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3250
3251         * mule-charset.c (Vcharacter_name_table): New variable.
3252         (Qname): New variable.
3253         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3254         attribute.
3255         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3256         `Vcharacter_name_table' for `name' attribute.
3257         (Fremove_char_attribute): Use function `remove_char_ccs'.
3258         (put_char_ccs_code_point): New function.
3259         (remove_char_ccs): New function.
3260         (syms_of_mule_charset): Add new symbol `name'.
3261         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3262
3263 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3264
3265         * mule-charset.c (make_byte_table): Add new argument `older'.
3266         (make_char_id_table): Likewise.
3267         (copy_char_id_table): Comment out because it is not used.
3268         (put_char_id_table): Modify for `make_byte_table'.
3269         (Fput_char_attribute): Make encoding_table as older object;
3270         inherit older bit of `Vcharacter_composition_table'.
3271         (mark_charset): Don't mark `cs->encoding_table'.
3272         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3273         normal object; make `Vcharacter_composition_table' as an older
3274         object; delete staticpro for `Vcharacter_composition_table'; make
3275         `Vcharacter_variant_table' as a normal object.
3276
3277         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3278         (mark_object): Don't check older object in UTF-2000.
3279
3280         * lrecord.h (struct lrecord_header): Add new member `older' in
3281         UTF-2000.
3282         (set_lheader_implementation): Setup `SLI_header->older' in
3283         UTF-2000.
3284         (set_lheader_older_implementation): New macro in UTF-2000.
3285         (OLDER_RECORD_P): New macro in UTF-2000.
3286         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3287         (alloc_older_lcrecord): New prototype in UTF-2000.
3288         (alloc_older_lcrecord_type): New macro in UTF-2000.
3289
3290 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3291
3292         * mule-charset.c (byte_table_description): Use
3293         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3294         (char_id_table_description): Delete bogus `, 1'.
3295         (Fget_char_attribute): Refer encoding_table of each coded-charset
3296         to get value of coded-charset attribute of a character.
3297         (Fput_char_attribute): Use `make_older_vector' instead of
3298         `make_vector'; use encoding_table of each coded-charset to store
3299         value of coded-charset attribute of a character.
3300         (Fremove_char_attribute): Use encoding_table of each coded-charset
3301         to store value of coded-charset attribute of a character.
3302         (mark_charset): Mark `cs->encoding_table'; don't mark
3303         `cs->decoding_table'.
3304         (charset_description): Add description of new member
3305         `encoding_table'.
3306         (make_charset): Initialize `encoding_table'.
3307
3308         * char-ucs.h (struct Lisp_Charset): Add new member
3309         `encoding_table'.
3310         (CHARSET_ENCODING_TABLE): New macro.
3311         (XCHARSET_ENCODING_TABLE): New macro.
3312         (charset_code_point): New implementation.
3313         (encode_char_1): Likewise.
3314
3315         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3316         (disksave_object_finalization_1): Call finalizers of
3317         `all_older_lcrecords' in UTF-2000.
3318         (make_older_vector): New function in UTF-2000.
3319         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3320         UTF-2000.
3321
3322         * lisp.h (make_older_vector): New prototype in UTF-2000.
3323
3324 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3325
3326         * lrecord.h (enum lrecord_type): Rename
3327         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3328
3329         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3330         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3331         `get_char_code_table'.
3332
3333         * mule-charset.c (mark_char_id_table): Renamed from
3334         `mark_char_code_table'.
3335         (char_id_table_equal): Renamed from `char_code_table_equal'.
3336         (char_id_table_hash): Renamed from `char_code_table_hash'.
3337         (make_char_id_table): Renamed from `make_char_code_table'.
3338         (copy_char_id_table): Renamed from `copy_char_code_table'.
3339         (get_char_id_table): Renamed from `get_char_code_table'.
3340         (put_char_id_table): Renamed from `put_char_code_table'.
3341         (to_char_id): Renamed from `to_char_code'.
3342
3343         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3344         `Lisp_Char_Code_Table'.
3345         (char_id_table): Renamed from `char_code_table'.
3346         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3347         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3348         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3349         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3350         (get_char_id_table): Renamed from `get_char_code_table'.
3351
3352 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3353
3354         * lrecord.h (enum lrecord_type): Rename
3355         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3356
3357         * mule-charset.c (mark_byte_table): Renamed from
3358         `mark_char_byte_table'.
3359         (byte_table_equal): Renamed from `char_byte_table_equal'.
3360         (byte_table_hash): Renamed from `byte_table_hash'.
3361         (make_byte_table): Renamed from `make_byte_table'.
3362         (copy_byte_table): Renamed from `copy_char_byte_table'.
3363
3364         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3365         `Lisp_Char_Byte_Table'.
3366         (byte_table): Renamed from `char_byte_table'.
3367         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3368         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3369         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3370         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3371
3372 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3373
3374         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3375         (dfc_convert_to_internal_format): Likewise.
3376         
3377         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3378         * text-coding.c (Fcoding_system_alias_p): New function.
3379         * text-coding.c (Fcoding_system_aliasee): New function.
3380         * text-coding.c (append_suffix_to_symbol): New function.
3381         * text-coding.c (dangling_coding_system_alias_p): New function.
3382         * text-coding.c (Ffind_coding_system):
3383         * text-coding.c (Fcopy_coding_system):
3384         * text-coding.c (encode_coding_no_conversion):
3385         * text-coding.c (syms_of_file_coding):
3386         * text-coding.c (vars_of_file_coding):
3387         Rewrite coding system alias code.
3388         Allow nested aliases, like symbolic links.
3389         Allow redefinition of coding system aliases.
3390         Prevent existence of dangling coding system aliases.
3391         Eliminate convert_to_external_format.
3392         Eliminate convert_to_internal_format.
3393         
3394         * text-coding.c: Change enum eol_type to eol_type_t.
3395
3396 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3397
3398         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3399         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3400
3401         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3402         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3403
3404 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3405
3406         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3407         `ideograph-daikanwa'.
3408
3409         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3410         (Vcharset_ucs_bmp): Likewise.
3411         (Vcharset_mojikyo): Add new extern variable definition.
3412         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3413         (Vcharset_latin_iso8859_3): Likewise.
3414         (Vcharset_latin_iso8859_4): Likewise.
3415         (Vcharset_latin_iso8859_9): Likewise.
3416         (Vcharset_latin_viscii_lower): Likewise.
3417         (Vcharset_latin_viscii_upper): Likewise.
3418         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3419         `mojikyo' code-point is used to decode.
3420         (encode_char_2): New function [to convert `mojikyo' code-point to
3421         Mojikyo font encoding].
3422         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3423         (breakup_char_1): Likewise.
3424         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3425
3426 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3427
3428         * text-coding.c (Fmake_coding_system): Add document about
3429         `disable-composition' property.
3430
3431 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3432
3433         * text-coding.c (Qdisable_composition): New variable; delete
3434         `Qcomposite'.
3435         (Fmake_coding_system): Add new property `disable-composite';
3436         delete property `composite'.
3437         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3438         instead of `!CODING_SYSTEM_COMPOSITE'.
3439         (syms_of_file_coding): Add new symbol `disable-composition';
3440         delete symbol `composite'.
3441
3442         * file-coding.h (struct Lisp_Coding_System): Add
3443         `disable_composition'; delete `enable_composition'.
3444         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3445         `CODING_SYSTEM_COMPOSITE'.
3446         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3447         `XCODING_SYSTEM_COMPOSITE'.
3448
3449 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3450
3451         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3452         to 0.15.
3453
3454 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3455
3456         * text-coding.c (Qcomposite): New variable.
3457         (Fmake_coding_system): Add new property `composite'.
3458         (struct decoding_stream): Add `combined_char_count',
3459         `combined_chars' and `combining_table' in UTF-2000.
3460         (COMPOSE_FLUSH_CHARS): New macro.
3461         (COMPOSE_ADD_CHAR): New macro.
3462         (reset_decoding_stream): Reset `str->combined_char_count' and
3463         `str->combining_table' in UTF-2000.
3464         (decode_coding_iso2022): Modify for character-decomposition.
3465         (syms_of_file_coding): Add new symbol `composite'.
3466
3467 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3468
3469         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3470         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3471         of `Vcharacter_composition_table' if `->decomposition' property
3472         has only 1 element.
3473         (Qlatin_tcvn5712): New variable.
3474         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3475         (complex_vars_of_mule_charset): Add new coded-charset
3476         `latin-tcvn5712'.
3477
3478         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3479
3480 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3481
3482         * file-coding.h (struct Lisp_Coding_System): Add
3483         `enable_composition'.
3484         (CODING_SYSTEM_COMPOSITE): New macro.
3485         (XCODING_SYSTEM_COMPOSITE): New macro.
3486
3487 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3488
3489         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3490
3491 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3492
3493         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3494         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3495
3496 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3497
3498         * mule-charset.c (Vcharset_mojikyo): New variable.
3499         (Fdefine_char): Don't use coded-charset which does not have
3500         non-builtin character range to allocate character-id.
3501         (Qmojikyo): New variable.
3502         (syms_of_mule_charset): Add new symbol `mojikyo'.
3503         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3504
3505         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3506         (LEADING_BYTE_MOJIKYO): New macro.
3507         (MIN_CHAR_MOJIKYO): New macro.
3508         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3509         (MAX_CHAR_MOJIKYO): New macro.
3510
3511 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3512
3513         * mule-charset.c (remove_char_attribute): Fixed.
3514
3515 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3516
3517         * mule-charset.c (remove_char_attribute): New function.
3518         (Fremove_char_attribute): New function.
3519         (encode_builtin_char_1): Comment out builtin-support for
3520         greek-iso8859-7 and cyrillic-iso8859-5.
3521         (Fdecode_char): Check `code' is an integer.
3522         (syms_of_mule_charset): Add `remove-char-attribute'.
3523         (MIN_CHAR_GREEK): Deleted.
3524         (MAX_CHAR_GREEK): Likewise.
3525         (MIN_CHAR_CYRILLIC): Likewise.
3526         (MAX_CHAR_CYRILLIC): Likewise.
3527         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3528         MAX_CHAR_GREEK for `greek-iso8859-7'.
3529
3530         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3531         (MAX_CHAR_GREEK): Likewise.
3532         (MIN_CHAR_CYRILLIC): Likewise.
3533         (MAX_CHAR_CYRILLIC): Likewise.
3534
3535 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3536
3537         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3538         format is used without `ucs' property.
3539         (Fdecode_char): Fix problem with GR representation.
3540         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3541         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3542
3543 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3544
3545         * mule-charset.c (make_builtin_char): New function.
3546         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3547         (Fset_charset_mapping_table): Modify for new representation of
3548         code-point.
3549         (Fdecode_char): New function.
3550         (syms_of_mule_charset): Add new builtin function `decode-char' in
3551         UTF-2000.
3552
3553         * char-ucs.h (make_builtin_char): New prototype.
3554         (DECODE_CHAR): New inline function.
3555         (MAKE_CHAR): Use `DECODE_CHAR'.
3556
3557 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3558
3559         * text-coding.c (parse_charset_conversion_specs): Use
3560         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3561         `XCHARSET_TYPE'.
3562         (iso2022_designate): Likewise.
3563
3564         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3565         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3566
3567         * mule-charset.c (Vcharset_ucs): New variable.
3568         (print_charset): Change design; use `CHARSET_CHARS' and
3569         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3570         (make_charset): Change signature to specify `chars' and
3571         `dimension' instead of `type'.
3572         (range_charset_code_point): Modify for 256^n-set.
3573         (encode_builtin_char_1): Encode as `ucs' in default.
3574         (Fmake_charset): Modify for `make_charset'.
3575         (Fmake_reverse_direction_charset): Likewise.
3576         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3577         UTF-2000.
3578         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3579         for `make_charset'.
3580
3581         * char-ucs.h (Vcharset_ucs): New variable.
3582         (LEADING_BYTE_UCS): New macro.
3583         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3584         and `chars' to `unsigned short' from `unsigned int'.
3585         (CHARSET_TYPE): Deleted.
3586         (XCHARSET_TYPE): Deleted.
3587
3588 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3589
3590         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3591
3592         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3593         (ENCODE_CHAR): New macro.
3594
3595 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3596
3597         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3598         to 0.14 (Kawachi-Katakami).
3599
3600 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3601
3602         * text-coding.c (char_encode_shift_jis): Modify for
3603         `charset_code_point'.
3604         (char_encode_iso2022): Likewise.
3605
3606         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3607         (integer) instead of list of <Lisp_Object>s (integers) as the
3608         format of code-point of a coded-charset.
3609         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3610         (encode_builtin_char_1): New function; delete
3611         `split_builtin_char'.
3612         (charset_code_point): Return <int> instead of <Lisp_Object>.
3613         (Fsplit_char): Don't use `SPLIT_CHAR'.
3614
3615         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3616         prototype for `split_builtin_char'.
3617         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3618         (charset_code_point): Likewise.
3619         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3620         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3621
3622 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3623
3624         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3625         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3626
3627 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3628
3629         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3630
3631         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3632         (MAX_CHAR_OBS_94x94): Deleted.
3633
3634 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3635
3636         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3637
3638         * char-ucs.h (MAX_CHAR_BMP): New macro.
3639
3640 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3641
3642         * text-coding.c: Sync with r21-2-24.
3643
3644 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3645
3646         * file-coding.c: Modify for UTF-2000.
3647
3648 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3649
3650         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3651         to 0.13 (Takaida).
3652
3653 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3654
3655         * mule-charset.c (split_builtin_char): Delete builtin support for
3656         `katakana-jisx0201'.
3657         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3658         BMP area in builtin representation.
3659
3660         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3661         `Vcharset_katakana_jisx0201'.
3662
3663 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3664
3665         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3666         (Qisolated): New variable.
3667         (Qinitial): New variable.
3668         (Qmedial): New variable.
3669         (Qfinal): New variable.
3670         (Qvertical): New variable.
3671         (Qsmall): New variable.
3672         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3673         `Qvertical' and `Qsmall'.
3674         (Qmojikyo_pj_[1 .. 21]): New variable.
3675         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3676         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3677         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3678         .. 21]'.
3679
3680 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3681
3682         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3683         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3684         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3685
3686 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3687
3688         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3689         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3690         BMP.
3691         (Qjapanese_jisx0208_1990): New variable.
3692         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3693         (complex_vars_of_mule_charset): Add new coded-charset
3694         `japanese-jisx0208-1990'.
3695
3696         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3697         (MIN_CHAR_JIS_X0208_1990): New macro.
3698         (MAX_CHAR_JIS_X0208_1990): New macro.
3699
3700 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3701
3702         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3703         coded-charset is not found.
3704
3705 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3706
3707         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3708         (Fdefine_char): Use `Fmake_char'.
3709
3710 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3711
3712         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3713         (Vcharset_hiragana_jisx0208): Deleted.
3714         (Vcharset_katakana_jisx0208): Deleted.
3715         (Qideograph_daikanwa): New variable.
3716         (Qhiragana_jisx0208): Deleted.
3717         (Qkatakana_jisx0208): Deleted.
3718         (split_builtin_char): Split `ideograph-daikanwa'.
3719         (Fsplit_char): New implementation for UTF-2000.
3720         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3721         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3722         (complex_vars_of_mule_charset): Add new coded-charset
3723         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3724         `katakana-jisx0208'.
3725
3726         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3727         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3728         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3729         (MIN_CHAR_DAIKANWA): New macro.
3730         (MAX_CHAR_DAIKANWA): New macro.
3731
3732 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3733
3734         * data.c (Fstring_to_number): Don't recognize floating point if
3735         base is not 10.
3736
3737 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3738
3739         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3740
3741 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3742
3743         * mule-charset.c (Qsquare): New variable.
3744         (to_char_code): Add `Qsquare'.
3745         (syms_of_mule_charset): Add new symbol `square'.
3746
3747 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3748
3749         * mule-charset.c (Qcircle): New variable.
3750         (to_char_code): Add `Qcircle'.
3751         (syms_of_mule_charset): Add new symbol `circle'.
3752
3753 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3754
3755         * mule-charset.c (Qfont): New variable.
3756         (to_char_code): Add `Qfont'.
3757         (syms_of_mule_charset): Add new symbol `font'.
3758
3759 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3760
3761         * mule-charset.c (Qsub): New variable.
3762         (to_char_code): Add `Qsub'.
3763         (syms_of_mule_charset): Add new symbol `sub'.
3764
3765 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3766
3767         * mule-charset.c (Fput_char_attribute): Convert each element of
3768         VALUE to GL position if ATTRIBUTE is a GR-set,
3769
3770 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3771
3772         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3773         coded-charset is a GR-set.
3774
3775 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3776
3777         * mule-charset.c (Fput_char_attribute): Check each element of
3778         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3779
3780 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3781
3782         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3783         UTF-2000.
3784         (Qethiopic_ucs): New variable in UTF-2000.
3785         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3786         (complex_vars_of_mule_charset): Add new coded-charset
3787         `ethiopic-ucs' in UTF-2000.
3788
3789         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3790         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3791         9)'.
3792         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3793         10)'.
3794         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3795
3796 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3797
3798         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3799         `ascii'.
3800
3801 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3802
3803         * mule-charset.c (Vcharacter_variant_table): New variable.
3804         (Q_ucs): New variable.
3805         (Fchar_variants): New function.
3806         (Fput_char_attribute): Register `->ucs' value to
3807         `Vcharacter_variant_table'.
3808         (syms_of_mule_charset): Add new function `char-variants' and new
3809         symbol `->ucs'.
3810         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
3811
3812 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3813
3814         * mule-charset.c (get_char_code_table): Allow negative character
3815         code.
3816         (put_char_code_table): Likewise.
3817         (Vcharacter_composition_table): New variable.
3818         (Q_decomposition): New variable.
3819         (Qwide): New variable.
3820         (Qnarrow): New variable.
3821         (Qcompat): New variable.
3822         (QnoBreak): New variable.
3823         (Qsuper): New variable.
3824         (Qfraction): New variable.
3825         (to_char_code): New function.
3826         (Fget_composite_char): New function.
3827         (Fput_char_attribute): Register `->decomposition' value to
3828         `Vcharacter_composition_table'.
3829         (syms_of_mule_charset): Add new function `get-composite-char', new
3830         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
3831         `super' and `fraction'.
3832         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
3833
3834 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3835
3836         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
3837         character; copy the return value.
3838
3839 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3840
3841         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
3842
3843         * mule-charset.c (range_charset_code_point): Must use make_int.
3844         (split_builtin_char): New function.
3845
3846 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3847
3848         * mule-charset.c (char_byte_table): Change name from
3849         "char-code-table" to "char-byte-table".
3850         (mark_char_code_table): New function.
3851         (char_code_table_equal): New function.
3852         (char_code_table_hash): New function.
3853         (char_code_table_description): New constant.
3854         (char_code_table): New type.
3855         (make_char_code_table): New function.
3856         (copy_char_code_table): New function.
3857         (get_char_code_table): Modify for `char_code_table' type.
3858         (put_char_code_table): Likewise.
3859         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
3860         (Kashiwara).
3861
3862         * char-ucs.h (char_code_table): New type.
3863         (XCHAR_CODE_TABLE): New macro.
3864         (XSETCHAR_CODE_TABLE): New macro.
3865         (CHAR_CODE_TABLE_P): New macro.
3866         (GC_CHAR_CODE_TABLE_P): New macro.
3867         (struct Lisp_Char_Code_Table): New structure.
3868
3869 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3870
3871         * mule-charset.c (Fmake_charset): Setup byte_offset for
3872         {94|96}^n-set.
3873
3874 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3875
3876         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
3877         character.
3878
3879 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3880
3881         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
3882         is found.
3883
3884 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
3885
3886         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
3887         charset, it is regarded as a charset.
3888         (put_char_attribute): New function in UTF-2000.
3889         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
3890         charset, mapping-table of the charset is modified.
3891         (Fdefine_char): New function in UTF-2000.
3892         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
3893         `Fput_char_attribute'.
3894         (syms_of_mule_charset): Add new function `define-char' and new
3895         symbol `ucs' in UTF-2000.
3896         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
3897
3898 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3899
3900         * mule-charset.c (Fcharset_name): Define `byte_offset' in
3901         non-UTF-2000 configuration.
3902
3903 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3904
3905         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
3906         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
3907
3908         * mule-charset.c (mark_charset): `cs->encoding_table' has been
3909         deleted.
3910         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
3911         (Fset_charset_mapping_table): Likewise.
3912
3913         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
3914         (CHARSET_ENCODING_TABLE): Delete.
3915         (XCHARSET_ENCODING_TABLE): Delete.
3916         (charset_code_point): New interface.
3917
3918 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
3919
3920         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
3921         instead of `charset_get_byte1' and `charset_get_byte2'.
3922
3923         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
3924         (charset_get_byte2): Deleted.
3925
3926 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3927
3928         * char-ucs.h (SPLIT_CHAR): New inline function.
3929         (breakup_char_1): Use `SPLIT_CHAR'.
3930
3931         * mule-charset.c (range_charset_code_point): New function.
3932         (charset_code_point): New function.
3933
3934         * char-ucs.h (range_charset_code_point): New interface.
3935         (breakup_char_1): Use `range_charset_code_point'.
3936
3937 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3938
3939         * mule-charset.c (Fmake_charset): Delete unused local variable
3940         `code_offset'.
3941
3942         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
3943         (breakup_char_1): Find a charset and code-point in
3944         `Vcharacter_attribute_table'.
3945
3946 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
3947
3948         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3949         to 0.10 (Yao).
3950
3951 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
3952
3953         * mule-charset.c (Vcharacter_attribute_table): New variable.
3954         (Fchar_attribute_alist): New function.
3955         (Fget_char_attribute): New function.
3956         (Fput_char_attribute): New function.
3957         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
3958         too.
3959         (syms_of_mule_charset): Add new function `char-attribute-alist',
3960         `get-char-attribute' and `put-char-attribute'.
3961         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
3962
3963 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
3964
3965         * mule-charset.c (Fmake_charset): Just use
3966         `get_unallocated_leading_byte'.
3967
3968         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
3969         sets; don't use final-byte based number for private sets.
3970
3971 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3972
3973         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
3974         integer.
3975
3976 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
3977
3978         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3979         to 0.9.
3980
3981 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3982
3983         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
3984         of `CHAR_LEADING_BYTE' in UTF-2000.
3985
3986         * insdel.c (find_charsets_in_bufbyte_string): Use
3987         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3988         (find_charsets_in_emchar_string): Likewise.
3989
3990         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
3991         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
3992
3993         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
3994         (CHAR_CHARSET_ID): New macro.
3995
3996 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3997
3998         * chartab.c (get_char_table): Don't use type `Charset_ID' for
3999         charset-id - MIN_LEADING_BYTE.
4000         (put_char_table): Likewise.
4001
4002 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4003
4004         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4005         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4006         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4007         (CHARSET_ID_OFFSET): New macro.
4008         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4009         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4010         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4011         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4012         4).
4013         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4014         5).
4015         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4016         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4017         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4018         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4019         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4020
4021 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4022
4023         * mule-charset.c (next_allocated_leading_byte): New variable in
4024         UTF-2000.
4025         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4026         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4027         (get_unallocated_leading_byte): Simply use
4028         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4029         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4030         UTF-2000.
4031
4032         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4033         (MAX_LEADING_BYTE_PRIVATE): New macro.
4034         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4035         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4036
4037 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4038
4039         * mule-charset.c (Fmake_charset): Allocate final-byte based
4040         charset-id for 94-set, 96-set and 94x94-set.
4041
4042 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4043
4044         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4045         ambiguous `else'.
4046         (Fmake_charset): Likewise.
4047         (complex_vars_of_mule_charset): Modify the font registry of
4048         `ucs-bmp' not to match `Ethiopic-Unicode'.
4049
4050 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4051
4052         * mule-charset.c (complex_vars_of_mule_charset): Add font
4053         registory of `ucs-bmp'.
4054
4055 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4056
4057         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4058         coded-charsets in `default-coded-charset-priority-list' when
4059         breaking up a character.
4060
4061         * mule-charset.c (Vcharset_latin_viscii): New variable.
4062         (Qlatin_viscii): New variable.
4063         (make_charset): Don't use `decoding_table'.
4064         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4065         byte_offset.
4066         (Fset_charset_mapping_table): New implementation.
4067         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4068         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4069         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4070         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4071         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4072         charset `latin_viscii'.
4073
4074         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4075         (CHARSET_TYPE_94X94): Change to 1 from 2.
4076         (CHARSET_TYPE_96): Change to 2 from 1.
4077         (CHARSET_TYPE_128): New macro.
4078         (CHARSET_TYPE_128X128): Change to 5 from 4.
4079         (CHARSET_TYPE_256): New macro.
4080         (CHARSET_TYPE_256X256): Change to 7 from 5.
4081         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4082
4083 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4084
4085         * text-coding.c (char_encode_shift_jis): Refer
4086         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4087         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4088
4089         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4090         (char_byte_table_equal): New function in UTF-2000.
4091         (char_byte_table_hash): New function in UTF-2000.
4092         (char_byte_table_description): New constant in UTF-2000.
4093         (char_byte_table): New type in UTF-2000.
4094         (make_char_byte_table): New function in UTF-2000.
4095         (copy_char_byte_table): New function in UTF-2000.
4096         (make_char_code_table): New macro in UTF-2000.
4097         (get_char_code_table): New function in UTF-2000.
4098         (put_char_code_table): New function in UTF-2000.
4099         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4100         (charset_description): Add setting in UTF-2000.
4101         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4102         `CHARSET_TO_BYTE1_TABLE(cs)'.
4103         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4104         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4105         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4106         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4107         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4108         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4109         `CHARSET_TO_BYTE2_TABLE(cs)'.
4110
4111         * char-ucs.h (char_byte_table): New type.
4112         (XCHAR_BYTE_TABLE): New macro.
4113         (XSETCHAR_BYTE_TABLE): New macro.
4114         (CHAR_BYTE_TABLE_P): New macro.
4115         (GC_CHAR_BYTE_TABLE_P): New macro.
4116         (struct Lisp_Char_Byte_Table): New structure.
4117         (get_char_code_table): New interface.
4118         (Emchar_to_byte_table): Deleted.
4119         (get_byte_from_character_table): Deleted.
4120         (struct Lisp_Charset): Add `encoding_table'; delete
4121         `to_byte1_table' and `to_byte2_table'.
4122         (CHARSET_ENCODING_TABLE): New macro.
4123         (CHARSET_TO_BYTE1_TABLE): Deleted.
4124         (CHARSET_TO_BYTE2_TABLE): Deleted.
4125         (XCHARSET_ENCODING_TABLE): New macro.
4126         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4127         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4128
4129 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4130
4131         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4132         `vietnamese-viscii-*'.
4133
4134 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4135
4136         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4137         (Qvietnamese_viscii_upper): New variable.
4138         (Fdefine_charset_alias): New function.
4139         (syms_of_mule_charset): Add new function `define-charset-alias'.
4140         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4141         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4142         `latin-viscii-*'.
4143
4144 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4145
4146         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4147         (MAX_CHAR_OBS_94x94): New macro.
4148         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4149         for 94x94 sets.
4150
4151         * mule-charset.c (put_byte_from_character_table): Change unit size
4152         from 128 to 256.
4153         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4154         not defined.
4155         (Fmake_reverse_direction_charset): Modify dummy argument of
4156         `make_charset' for non-UTF-2000 environment.
4157
4158 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4159
4160         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4161
4162         * mule-charset.c (destroy_byte_from_character_table): New macro.
4163         (latin_jisx0201_to_ucs): Deleted.
4164         (latin_iso8859_2_to_ucs): Deleted.
4165         (latin_iso8859_3_to_ucs): Deleted.
4166         (latin_iso8859_4_to_ucs): Deleted.
4167         (latin_iso8859_9_to_ucs): Deleted.
4168         (latin_viscii_lower_to_ucs): Deleted.
4169         (latin_viscii_upper_to_ucs): Deleted.
4170         (mark_charset): Mark `cs->decoding_table'.
4171         (Fcharset_mapping_table): Fix DOC-string.
4172         (Fset_charset_mapping_table): New function.
4173         (syms_of_mule_charset): Add nwe function
4174         `set-charset-mapping-table'.
4175         (complex_vars_of_mule_charset): Don't setup and use
4176         `latin_*_to_ucs'.
4177
4178 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4179
4180         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4181         charset.
4182
4183 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4184
4185         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4186         (Vcharset_katakana_jisx0208): New variable.
4187         (Qhiragana_jisx0208): New variable.
4188         (Qkatakana_jisx0208): New variable.
4189         (make_charset): Add new argument `byte_offset'.
4190         (charset_get_byte1): Modify for new coded-charset definition; use
4191         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4192         `XCHARSET_BYTE_OFFSET'.
4193         (Fmake_charset): Modify for `make_charset'.
4194         (Fmake_reverse_direction_charset): Likewise.
4195         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4196         `katakana-jisx0208'.
4197         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4198         `.'  in font registry of charset `katakana-jisx0201',
4199         `latin-jisx0201', `vietnamese-viscii-lower' and
4200         `vietnamese-viscii-upper'; modify DOC-string of charset
4201         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4202         registry of charset `japanese-jisx0208' not to use font for JIS
4203         X0208:1990; add new charset `hiragana-jisx0208' and
4204         `katakana-jisx0208'.
4205
4206         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4207         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4208         (struct Lisp_Charset): Add `byte_offset'.
4209         (CHARSET_BYTE_OFFSET): New macro.
4210         (XCHARSET_UCS_MIN): New macro.
4211         (XCHARSET_UCS_MAX): New macro.
4212         (XCHARSET_CODE_OFFSET): New macro.
4213         (XCHARSET_BYTE_OFFSET): New macro.
4214         (MIN_CHAR_HIRAGANA): New macro.
4215         (MAX_CHAR_HIRAGANA): New macro.
4216         (MIN_CHAR_KATAKANA): New macro.
4217         (MAX_CHAR_KATAKANA): New macro.
4218         (MAKE_CHAR): Modify for new coded-charset definition; use
4219         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4220         `XCHARSET_BYTE_OFFSET'.
4221
4222 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4223
4224         * mule-charset.c (CHAR96): Deleted.
4225         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4226         <Lisp_Object>.
4227         (latin_iso8859_2_to_ucs): Likewise.
4228         (latin_iso8859_3_to_ucs): Likewise.
4229         (latin_iso8859_4_to_ucs): Likewise.
4230         (latin_iso8859_9_to_ucs): Likewise.
4231         (latin_viscii_lower_to_ucs): Likewise.
4232         (latin_viscii_upper_to_ucs): Likewise.
4233         (latin_tcvn5712_to_ucs): Commented out.
4234         (make_charset): Change type of argument `decoding_table' from
4235         <Emchar*> to <Lisp_Object> [vector of characters].
4236         (Fmake_charset): Modify for `make_charset'.
4237         (Fmake_reverse_direction_charset): Likewise.
4238         (Fcharset_mapping_table): New function in UTF-2000.
4239         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4240         UTF-2000.
4241         (complex_vars_of_mule_charset): Modify for type change of
4242         `*_to_ucs'; modify for `make_charset'.
4243
4244         * char-ucs.h (struct Lisp_Charset): Change type of
4245         `decoding_table' from <Emchar*> to <Lisp_Object>.
4246         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4247
4248 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4249
4250         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4251         error with non-UTF-2000-Mule.
4252
4253 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4254
4255         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4256         in lisp again].
4257         (Vcharset_chinese_cns11643_4): Likewise.
4258         (Vcharset_chinese_cns11643_5): Likewise.
4259         (Vcharset_chinese_cns11643_6): Likewise.
4260         (Vcharset_chinese_cns11643_7): Likewise.
4261         (Qchinese_cns11643_3): Likewise.
4262         (Qchinese_cns11643_4): Likewise.
4263         (Qchinese_cns11643_5): Likewise.
4264         (Qchinese_cns11643_6): Likewise.
4265         (Qchinese_cns11643_7): Likewise.
4266         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4267         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4268         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4269         (complex_vars_of_mule_charset): Likewise.
4270
4271 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4272
4273         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4274         96-set.
4275         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4276         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4277
4278 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4279
4280         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4281         0xFF60.
4282         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4283         (breakup_char_1): Likewise.
4284
4285         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4286         one of them includes the specified character.
4287
4288 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4289
4290         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4291
4292 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4293
4294         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4295
4296 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4297
4298         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4299         definition for non-UTF-2000 Mule.
4300         (latin_iso8859_3_to_ucs): Likewise.
4301         (latin_iso8859_4_to_ucs): Likewise.
4302         (latin_iso8859_9_to_ucs): Likewise.
4303         (latin_jisx0201_to_ucs): Likewise.
4304         (MIN_CHAR_THAI): Likewise.
4305         (MAX_CHAR_THAI): Likewise.
4306         (MIN_CHAR_GREEK): Likewise.
4307         (MAX_CHAR_GREEK): Likewise.
4308         (MIN_CHAR_HEBREW): Likewise.
4309         (MAX_CHAR_HEBREW): Likewise.
4310         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4311         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4312         (MIN_CHAR_CYRILLIC): Likewise.
4313         (MAX_CHAR_CYRILLIC): Likewise.
4314
4315 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4316
4317         * char-ucs.h (breakup_char_1): Use
4318         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4319         thai-tis620 and katakana-jisx0201 area.
4320
4321 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4322
4323         * char-ucs.h (breakup_char_1): Use
4324         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4325         area.
4326
4327         * text-coding.c (reset_encoding_stream): Fixed.
4328         (char_encode_ucs4): Delete `& 255'.
4329
4330         * char-ucs.h (breakup_char_1): Use
4331         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4332
4333 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4334
4335         * file-coding.c (Fmake_coding_system): Don't set up
4336         `codesys->fixed.size'.
4337         (encode_coding_no_conversion): Don't refer
4338         `str->codesys->fixed.size'.
4339
4340 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4341
4342         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4343         (latin_a_char_to_byte1): Deleted.
4344         (latin_a_char_to_byte2): Deleted.
4345
4346 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4347
4348         * mule-charset.c (make_charset): Add new argument `ucs_min',
4349         `ucs_max' and `code_offset'.
4350         (charset_get_byte1): New implementation [delete specific charset
4351         depended implementations].
4352         (Fmake_charset): Modify for `make_charset'.
4353         (Fmake_reverse_direction_charset): Likewise.
4354         (complex_vars_of_mule_charset): Likewise.
4355
4356         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4357         `code_offset'.
4358         (CHARSET_UCS_MIN): New macro.
4359         (CHARSET_UCS_MAX): New macro.
4360         (CHARSET_CODE_OFFSET): New macro.
4361         (MAKE_CHAR): Delete charset depended definitions [except
4362         katakana-jisx0201].
4363
4364 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4365
4366         * char-ucs.h (breakup_char_1): Use
4367         `Vdefault_coded_charset_priority_list' for C0-Controls,
4368         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4369
4370 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4371
4372         * char-ucs.h (charset_get_byte1): New function.
4373         (XCHARSET_GET_BYTE1): Deleted.
4374         (charset_get_byte2): New function.
4375         (XCHARSET_GET_BYTE2): Deleted.
4376         (Vdefault_coded_charset_priority_list): New external variable.
4377         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4378         `Vdefault_preferred_coded_charset_list'.
4379
4380         * mule-charset.c (charset_get_byte1): New function.
4381         (charset_get_byte2): New function.
4382         (Vdefault_coded_charset_priority_list): New variable.
4383         (vars_of_mule_charset): Add new variable
4384         `default-coded-charset-priority-list'.
4385
4386 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4387
4388         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4389         (XCHARSET_GET_BYTE2): New inline function.
4390         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4391         `XCHARSET_GET_BYTE2'.
4392
4393 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4394
4395         * mule-charset.c (make_charset): Initialize
4396         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4397         NULL if table is not defined.
4398
4399 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4400
4401         * text-coding.c (char_encode_shift_jis): Use
4402         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4403         `ucs_to_latin_jisx0201'.
4404
4405         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4406         (ucs_to_latin_iso8859_2): Deleted.
4407         (ucs_to_latin_iso8859_3): Deleted.
4408         (ucs_to_latin_iso8859_4): Deleted.
4409         (ucs_to_latin_iso8859_9): Deleted.
4410         (ucs_to_latin_viscii_lower): Deleted.
4411         (ucs_to_latin_viscii_upper): Deleted.
4412         (ucs_to_latin_tcvn5712): Deleted.
4413         (make_charset): Add new argument `decoding_table'; set up
4414         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4415         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4416         `decoding_table' is defined in UTF-2000.
4417         (Fmake_charset): Modify for `make_charset'.
4418         (Fmake_reverse_direction_charset): Likewise.
4419         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4420         and `GENERATE_96_SET'.
4421
4422         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4423         (ucs_to_latin_jisx0201): Deleted.
4424         (latin_iso8859_2_to_ucs): Deleted.
4425         (ucs_to_latin_iso8859_2): Deleted.
4426         (latin_iso8859_3_to_ucs): Deleted.
4427         (ucs_to_latin_iso8859_3): Deleted.
4428         (latin_iso8859_4_to_ucs): Deleted.
4429         (ucs_to_latin_iso8859_4): Deleted.
4430         (latin_iso8859_9_to_ucs): Deleted.
4431         (ucs_to_latin_iso8859_9): Deleted.
4432         (latin_viscii_lower_to_ucs): Deleted.
4433         (ucs_to_latin_viscii_lower): Deleted.
4434         (latin_viscii_upper_to_ucs): Deleted.
4435         (ucs_to_latin_viscii_upper): Deleted.
4436         (struct Lisp_Charset): Renamed `encoding_table' to
4437         `to_byte1_table'; add `to_byte2_table'.
4438         (CHARSET_DECODING_TABLE): New macro.
4439         (CHARSET_TO_BYTE1_TABLE): New macro.
4440         (CHARSET_TO_BYTE2_TABLE): New macro.
4441         (XCHARSET_DECODING_TABLE): New macro.
4442         (XCHARSET_TO_BYTE1_TABLE): New macro.
4443         (XCHARSET_TO_BYTE2_TABLE): New macro.
4444         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4445         tables.
4446         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4447         don't use `ucs_to_*' tables.
4448
4449 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4450
4451         * text-coding.c (Fmake_coding_system): Don't set up
4452         `codesys->fixed.size'.
4453         (encode_coding_no_conversion): Use `if' instead of `switch'.
4454
4455         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4456
4457 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4458
4459         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4460         (Fmake_charset): Modify for `make_charset'.
4461         (Fmake_reverse_direction_charset): Likewise.
4462         (complex_vars_of_mule_charset): Likewise.
4463
4464 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4465
4466         * text-coding.c (char_encode_shift_jis): Use table
4467         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4468
4469 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4470
4471         * text-coding.c (text_encode_generic): Use `if' instead of
4472         `switch'.
4473         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4474         decode JIS-Latin.
4475
4476 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4477
4478         * text-coding.c (encode_coding_sjis): Deleted.
4479         (char_encode_shift_jis): New function.
4480         (char_finish_shift_jis): New function.
4481         (reset_encoding_stream): Set up `encode_char' and `finish' for
4482         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4483         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4484         (char_encode_utf8): Treat `eol_type'.
4485
4486 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4487
4488         * file-coding.c (decode_coding_iso2022): Use
4489         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4490
4491 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4492
4493         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4494         to 0.7 (Hirano).
4495
4496 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4497
4498         * char-lb.h (CHAR_COLUMNS): New macro.
4499
4500 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4501
4502         * text-coding.c (char_encode_ucs4): New function.
4503         (char_finish_ucs4): New function.
4504         (encode_coding_ucs4): Deleted.
4505         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4506         (text_encode_generic): Delete local variable `charset' and `half'.
4507         (ucs_to_mule_table): Deleted.
4508         (mule_to_ucs_table): Deleted.
4509         (Fset_ucs_char): Deleted.
4510         (ucs_to_char): Deleted.
4511         (Fucs_char): Deleted.
4512         (Fset_char_ucs): Deleted.
4513         (Fchar_ucs): Deleted.
4514         (decode_ucs4): Deleted.
4515         (mule_char_to_ucs4): Deleted.
4516         (encode_ucs4): Deleted.
4517         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4518         (decode_coding_utf8): Likewise.
4519         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4520         (char_encode_iso2022): Fixed.
4521         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4522         `Fset_char_ucs' and `Fchar_ucs'.
4523         (complex_vars_of_file_coding): Don't initialize
4524         `ucs_to_mule_table'.
4525
4526         * objects-tty.c (tty_initialize_font_instance): Don't use
4527         `XCHARSET_COLUMNS'.
4528
4529         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4530         UTF-2000.
4531
4532         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4533         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4534
4535         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4536         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4537         (emchar_string_displayed_columns): Likewise.
4538
4539         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4540         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4541         (string_column_at_point): Likewise.
4542         (Fmove_to_column): Likewise.
4543
4544         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4545         `encoding_table' and `decoding_table'.
4546         (CHARSET_REP_BYTES): Deleted.
4547         (XCHARSET_REP_BYTES): Deleted.
4548         (XCHARSET_COLUMNS): Deleted.
4549         (CHAR_COLUMNS): New macro.
4550         (lookup_composite_char): Deleted unconditionally.
4551         (composite_char_string): Likewise.
4552
4553 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4554
4555         * char-ucs.h (Emchar_to_byte_table): New type.
4556         (get_byte_from_character_table): New function interface.
4557         (Vcharset_latin_jisx0201): New variable.
4558         (latin_jisx0201_to_ucs): New variable.
4559         (ucs_to_latin_jisx0201): New variable.
4560         (Vcharset_latin_iso8859_2): New variable.
4561         (latin_iso8859_2_to_ucs): New variable.
4562         (ucs_to_latin_iso8859_2): New variable.
4563         (Vcharset_latin_iso8859_3): New variable.
4564         (latin_iso8859_3_to_ucs): New variable.
4565         (ucs_to_latin_iso8859_3): New variable.
4566         (Vcharset_latin_iso8859_4): New variable.
4567         (latin_iso8859_4_to_ucs): New variable.
4568         (ucs_to_latin_iso8859_4): New variable.
4569         (Vcharset_latin_iso8859_9): New variable.
4570         (latin_iso8859_9_to_ucs): New variable.
4571         (ucs_to_latin_iso8859_9): New variable.
4572         (Vcharset_latin_viscii_lower): New variable.
4573         (latin_viscii_lower_to_ucs): New variable.
4574         (ucs_to_latin_viscii_lower): New variable.
4575         (Vcharset_latin_viscii_upper): New variable.
4576         (latin_viscii_upper_to_ucs): New variable.
4577         (ucs_to_latin_viscii_upper): New variable.
4578         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4579         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4580         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4581         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4582         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4583         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4584         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4585         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4586         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4587         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4588
4589         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4590         (Vcharset_latin_viscii_upper): New variable.
4591         (make_byte_from_character_table): New function.
4592         (put_byte_from_character_table): New function.
4593         (get_byte_from_character_table): New function.
4594         (CHAR96): New macro.
4595         (ucs_to_latin_jisx0201): New variable.
4596         (latin_jisx0201_to_ucs): New variable.
4597         (ucs_to_latin_iso8859_2): New variable.
4598         (latin_iso8859_2_to_ucs): New variable.
4599         (ucs_to_latin_iso8859_3): New variable.
4600         (latin_iso8859_3_to_ucs): New variable.
4601         (ucs_to_latin_iso8859_4): New variable.
4602         (latin_iso8859_4_to_ucs): New variable.
4603         (ucs_to_latin_iso8859_9): New variable.
4604         (latin_iso8859_9_to_ucs): New variable.
4605         (ucs_to_latin_viscii_lower): New variable.
4606         (latin_viscii_lower_to_ucs): New variable.
4607         (ucs_to_latin_viscii_upper): New variable.
4608         (latin_viscii_upper_to_ucs): New variable.
4609         (ucs_to_latin_tcvn5712): New variable.
4610         (latin_tcvn5712_to_ucs): New variable.
4611         (Qlatin_viscii_lower): New variable.
4612         (Qlatin_viscii_upper): New variable.
4613         (syms_of_mule_charset): Set up new symbol
4614         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4615         (complex_vars_of_mule_charset): Set up new charset
4616         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4617         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4618         `ucs_to_<CHARSET>' tables.
4619
4620 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4621
4622         * text-coding.c: New file.
4623
4624 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4625
4626         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4627
4628         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4629         (MAKE_CHAR): Modify for `ucs-bmp'.
4630         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4631         non-MULE characters of BMP.
4632
4633 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4634
4635         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4636         to 0.6.
4637
4638 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4639
4640         * lstream.h:
4641         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4642         - Include character.h for `CHAR_ASCII_P'.
4643
4644         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4645
4646         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4647         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4648
4649         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4650         (BYTE_C0_P): Likewise.
4651         (BYTE_C1_P): Likewise.
4652         (Lstream_get_emchar_1): Likewise.
4653         (Lstream_fput_emchar): Likewise.
4654         (Lstream_funget_emchar): Likewise.
4655         (copy_internal_to_external): Likewise.
4656         (copy_external_to_internal): Likewise.
4657
4658         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4659         (BYTE_C0_P): Likewise.
4660         (BYTE_C1_P): Likewise.
4661         (Lstream_get_emchar_1): Likewise.
4662         (Lstream_fput_emchar): Likewise.
4663         (Lstream_funget_emchar): Likewise.
4664         (copy_internal_to_external): Likewise.
4665         (copy_external_to_internal): Likewise.
4666
4667         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4668         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4669
4670         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4671         (BYTE_ASCII_P): Moved to mb-1byte.h.
4672
4673 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4674
4675         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4676
4677         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4678         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4679         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4680         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4681         (VALIDATE_CHARPTR_FORWARD): Likewise.
4682         (simple_charptr_emchar): Moved to mb-multibyte.h.
4683         (simple_set_charptr_emchar): Likewise.
4684         (simple_charptr_copy_char): Likewise.
4685         (non_ascii_charptr_emchar): Likewise.
4686         (non_ascii_set_charptr_emchar): Likewise.
4687         (non_ascii_charptr_copy_char): Likewise.
4688         (charptr_emchar): Moved to mb-*byte.h.
4689         (set_charptr_emchar): Likewise.
4690         (charptr_copy_char): Likewise.
4691
4692         * mb-1byte.h, mb-multibyte.h: New files.
4693
4694 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4695
4696         * mb-utf-8.h (MULTIBYTE): New macro.
4697         (MAX_EMCHAR_LEN): Moved from buffer.h.
4698         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4699
4700         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4701
4702         * mb-lb.h, multibyte.h: New files.
4703
4704         * char-1byte.h (Charset_ID): Moved from buffer.h.
4705         (MIN_LEADING_BYTE): Likewise.
4706         (LEADING_BYTE_ASCII): Likewise.
4707         (NUM_LEADING_BYTES): Likewise.
4708         (CHARSETP): Likewise.
4709         (CHARSET_BY_LEADING_BYTE): Likewise.
4710         (XCHARSET_LEADING_BYTE): Likewise.
4711         (XCHARSET_GRAPHIC): Likewise.
4712         (XCHARSET_COLUMNS): Likewise.
4713         (XCHARSET_DIMENSION): Likewise.
4714         (CHAR_CHARSET): Likewise.
4715         (CHAR_LEADING_BYTE): Likewise.
4716         (BREAKUP_CHAR): Likewise.
4717         (Vcharset_ascii): Likewise.
4718
4719         * buffer.h: Include multibyte.h unconditionally.
4720         (VALID_CHARPTR_P): Moved to multibyte.h.
4721         (ASSERT_VALID_CHARPTR): Likewise.
4722         (REAL_INC_CHARPTR): Likewise.
4723         (REAL_INC_CHARBYTIND): Likewise.
4724         (REAL_DEC_CHARPTR): Likewise.
4725         (INC_CHARPTR): Likewise.
4726         (INC_CHARBYTIND): Likewise.
4727         (DEC_CHARPTR): Likewise.
4728         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4729         (VALIDATE_CHARPTR_FORWARD): Likewise.
4730         (charptr_n_addr): Likewise.
4731         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4732         (simple_charptr_emchar): Moved to multibyte.h.
4733         (simple_set_charptr_emchar): Likewise.
4734         (simple_charptr_copy_char): Likewise.
4735         (non_ascii_charptr_emchar): Likewise.
4736         (non_ascii_set_charptr_emchar): Likewise.
4737         (non_ascii_charptr_copy_char): Likewise.
4738         (charptr_emchar): Likewise.
4739         (set_charptr_emchar): Likewise.
4740         (charptr_copy_char): Likewise.
4741         (charptr_emchar_n): Likewise.
4742         (Charset_ID): Moved to char-1byte.h.
4743         (Vcharset_ascii): Likewise.
4744         (CHAR_CHARSET): Likewise.
4745         (CHAR_LEADING_BYTE): Likewise.
4746         (LEADING_BYTE_ASCII): Likewise.
4747         (NUM_LEADING_BYTES): Likewise.
4748         (MIN_LEADING_BYTE): Likewise.
4749         (CHARSETP): Likewise.
4750         (CHARSET_BY_LEADING_BYTE): Likewise.
4751         (XCHARSET_LEADING_BYTE): Likewise.
4752         (XCHARSET_GRAPHIC): Likewise.
4753         (XCHARSET_COLUMNS): Likewise.
4754         (XCHARSET_DIMENSION): Likewise.
4755         (BREAKUP_CHAR): Likewise.
4756
4757 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4758
4759         * character.h: Add document about interface for characters.
4760
4761         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4762         (MAKE_CHAR): Delete comment about
4763         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4764         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4765         (BREAKUP_CHAR): Modify name of arguments.
4766         (CHAR_CHARSET): Modify name of argument.
4767
4768         * buffer.h: Delete document about Emchar accessors.
4769
4770 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4771
4772         * character.h (CHAR_INTP): Moved from buffer.h
4773         (CHAR_OR_CHAR_INTP): Likewise.
4774         (XCHAR_OR_CHAR_INT): Likewise.
4775         (CHECK_CHAR_COERCE_INT): Likewise.
4776
4777         * buffer.h (CHAR_INTP): Moved to character.h
4778         (CHAR_OR_CHAR_INTP): Likewise.
4779         (XCHAR_OR_CHAR_INT): Likewise.
4780         (CHECK_CHAR_COERCE_INT): Likewise.
4781
4782 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4783
4784         * character.h:
4785         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4786         - Include char-1byte.h, char-lb.h or char-ucs.h.
4787
4788         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4789
4790         * buffer.h: Include character unconditionally.
4791         (valid_char_p): Moved to char-*.h.
4792         (non_ascii_valid_char_p): Moved to char-lb.h.
4793
4794         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4795
4796 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4797
4798         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4799         in UTF-2000 because it is not ported yet and not to use
4800         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4801         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4802         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
4803
4804         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
4805         (CHAR_ASCII_P): Moved from character.h.
4806
4807         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
4808         (CHAR_ASCII_P): Likewise.
4809         (CHAR_FIELD1_MASK): Deleted.
4810         (CHAR_FIELD2_MASK): Deleted.
4811         (CHAR_FIELD3_MASK): Deleted.
4812         (MAX_CHAR_BASIC_LATIN): New macro.
4813         (CHAR_FIELD1): Deleted.
4814         (CHAR_FIELD2_INTERNAL): Deleted.
4815         (CHAR_FIELD3_INTERNAL): Deleted.
4816         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
4817         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
4818         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
4819         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
4820         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
4821         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
4822         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
4823         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
4824         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
4825         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
4826         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
4827         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
4828         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
4829         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
4830         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
4831         (MIN_CHAR_COMPOSITION): Deleted.
4832         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
4833         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
4834
4835 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
4836
4837         * buffer.h: Include mb-utf-8.h in UTF-2000.
4838
4839         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
4840
4841         * mb-utf-8.h: New file.
4842
4843 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
4844
4845         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
4846         instead of `int'.
4847
4848         * mule-charset.h, buffer.h (Charset_ID): New type.
4849
4850 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4851
4852         * mule-canna.c (c2mu): Use `MAKE_CHAR',
4853         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
4854         instead of `MULE_CHAR_PRIVATE_OFFSET',
4855         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
4856         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
4857         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
4858
4859         * character.h (Vcharset_japanese_jisx0212): New variable
4860         definition.
4861
4862 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
4863
4864         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
4865         (charset_by_attributes): Delete array about direction.
4866         (latin_a_char_to_charset): New variable in UTF-2000.
4867         (latin_a_char_to_byte1): New variable in UTF-2000.
4868         (latin_a_char_to_byte2): New variable in UTF-2000.
4869         (Qucs_bmp): New variable.
4870         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
4871         `Bufbyte'.
4872         (next_allocated_2_byte_leading_byte): Likewise.
4873         (non_ascii_set_charptr_emchar): Likewise.
4874         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
4875         `CHARSET_TYPE_256X256' in UTF-2000; modify for
4876         `charset_by_attributes'.
4877         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
4878         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
4879         and `CHARSET_BY_LEADING_BYTE'.
4880         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
4881         `utf-2000-version' to `vars_of_mule_charset'.
4882         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
4883         define `leading-code-private-11' in UTF-2000; move setting of
4884         `utf-2000-version' from `syms_of_mule_charset'.
4885         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
4886         UTF-2000.
4887
4888         * character.h (Charset_ID): New type.
4889         (LEADING_BYTE_UCS_BMP): New macro.
4890         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
4891         (CHARSET_ID_OFFSET_94): New macro.
4892         (MIN_CHARSET_ID_PRIVATE_94): New macro.
4893         (MAX_CHARSET_ID_PRIVATE_94): New macro.
4894         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
4895         final-byte.
4896         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
4897         (LEADING_BYTE_LATIN_JISX0201): Likewise.
4898         (CHARSET_ID_OFFSET_96): New macro.
4899         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
4900         CHARSET_ID_OFFSET_96 and final-byte.
4901         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
4902         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
4903         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
4904         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
4905         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
4906         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
4907         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
4908         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
4909         (LEADING_BYTE_THAI_TIS620): Likewise.
4910         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
4911         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
4912         (CHARSET_ID_OFFSET_94x94): New macro.
4913         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
4914         CHARSET_ID_OFFSET_94x94 and final-byte.
4915         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
4916         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
4917         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
4918         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
4919         (LEADING_BYTE_CHINESE_GB2312): Likewise.
4920         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
4921         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
4922         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
4923         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
4924         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
4925         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
4926         (CHARSET_TYPE_128X128): New macro.
4927         (CHARSET_TYPE_256X256): New macro.
4928         (XCHARSET_PRIVATE_P): Delete unconditionally.
4929         (charset_by_attributes): Delete array about direction.
4930         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
4931         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
4932         (MIN_CHAR_94): New macro.
4933         (MAX_CHAR_94): New macro.
4934         (MIN_CHAR_96): New macro.
4935         (MAX_CHAR_96): New macro.
4936         (MIN_CHAR_94x94): New macro.
4937         (MAX_CHAR_94x94): New macro.
4938         (MIN_CHAR_96x96): New macro.
4939         (MAX_CHAR_96x96): New macro.
4940         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
4941         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
4942         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
4943         - 32)'.
4944         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
4945         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
4946         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
4947         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
4948         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
4949         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
4950         `XCHARSET_LEADING_BYTE' to make code-point.
4951         (latin_a_char_to_charset): New variable.
4952         (latin_a_char_to_byte1): New variable.
4953         (latin_a_char_to_byte2): New variable.
4954         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
4955         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
4956         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
4957
4958         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
4959         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
4960         (find_charsets_in_emchar_string): Likewise.
4961         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
4962
4963         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
4964         `int'.
4965         (decode_coding_iso2022): Likewise.
4966
4967         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
4968         of `unsigned char'.
4969
4970         * redisplay.c (redisplay_text_width_emchar_string): Use
4971         `Charset_ID' instead of `unsigned char'.
4972         (redisplay_frame_text_width_string): Likewise.
4973
4974         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
4975         `unsigned char'.
4976
4977         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
4978         instead of `unsigned char'.
4979         (face_cachel_charset_font_metric_info): Likewise.
4980
4981         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
4982         (get_non_ascii_char_table_value): Likewise.
4983         (get_char_table): Likewise.
4984         (put_char_table): Likewise.
4985         (map_over_other_charset): Likewise.
4986         (map_char_table): Likewise.
4987
4988         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
4989         instead of `unsigned char'.
4990
4991 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
4992
4993         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
4994         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
4995
4996         * mule-charset.c (leading_code_private_11): Don't define in
4997         UTF-2000.
4998
4999         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5000         in UTF-2000 because it is not ported yet and not to use
5001         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5002
5003 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5004
5005         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5006
5007 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5008
5009         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5010         in UTF-2000.
5011
5012         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5013         of unsigned char to store leading-byte.
5014
5015         * chartab.c (get_non_ascii_char_table_value): Don't use
5016         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5017
5018         * file-coding.c (encode_coding_big5): Delete bogus implementation
5019         in UTF2000.
5020
5021         * character.h (LEADING_BYTE_*): Delete definition for
5022         non-UTF-2000.
5023         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5024         (LEADING_BYTE_PREFIX_P): Deleted.
5025         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5026         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5027         (BUFBYTE_LEADING_BYTE_P): Deleted.
5028         (CHARSET_PRIVATE_P): Deleted unconditionally.
5029         (rep_bytes_by_first_byte): Deleted unconditionally.
5030         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5031         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5032         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5033         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5034         (CHAR_FIELD2): Deleted.
5035         (CHAR_FIELD3): Deleted.
5036         (MAKE_CHAR): Delete definition for non-UTF-2000.
5037         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5038         (breakup_char_1): New implementation.
5039         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5040         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5041
5042 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5043
5044         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5045         condition.
5046
5047 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5048
5049         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5050         (CHARSET_PRIVATE_P): Likewise.
5051         (XCHARSET_PRIVATE_P): Likewise.
5052         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5053
5054         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5055         UTF2000.
5056         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5057
5058 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5059
5060         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5061         (NUM_LEADING_BYTES): Changed from 128 to 256.
5062         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5063         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5064         UTF2000.
5065         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5066
5067         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5068         UTF2000.
5069         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5070         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5071         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5072         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5073         (Qchinese_cns11643_3): New variable in UTF2000.
5074         (Qchinese_cns11643_4): New variable in UTF2000.
5075         (Qchinese_cns11643_5): New variable in UTF2000.
5076         (Qchinese_cns11643_6): New variable in UTF2000.
5077         (Qchinese_cns11643_7): New variable in UTF2000.
5078         (syms_of_mule_charset): Define `chinese-cns11643-3',
5079         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5080         and `chinese-cns11643-7' in UTF2000.
5081         (vars_of_mule_charset): Initialize
5082         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5083         + 1 in UTF2000.
5084         (complex_vars_of_mule_charset): Setup charset
5085         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5086         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5087
5088 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5089
5090         * mule-charset.c: Move setting for `leading-code-private-11' from
5091         `syms_of_mule_charset' to `vars_of_mule_charset'.
5092
5093 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5094
5095         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5096         and `NUM_LEADING_BYTES' in assert.
5097
5098 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5099
5100         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5101         instead of 128.
5102         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5103         `NUM_LEADING_BYTES' instead of 128.
5104
5105 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5106
5107         * mule-charset.h (charset_by_leading_byte): Use
5108         `NUM_LEADING_BYTES' instead of 128.
5109         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5110
5111         * mule-charset.c (charset_by_leading_byte): Use
5112         `NUM_LEADING_BYTES' instead of 128.
5113         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5114
5115         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5116         128.
5117
5118 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5119
5120         * mule-charset.c (syms_of_mule_charset): Update to
5121         0.4 (Shin-Imamiya).
5122
5123 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5124
5125         * file-coding.c (encode_coding_sjis): New implementation for
5126         UTF2000.  (decode_coding_sjis): Ditto.
5127
5128 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5129
5130         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5131         Don't define in UTF2000.
5132
5133         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5134         defined.
5135
5136         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5137         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5138         MULE.
5139
5140 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5141
5142         * config.h.in (CHAR_IS_UCS4): New macro.
5143
5144         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5145         conventional MULE representation.
5146         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5147
5148         * mule-charset.h: Reverted to original.
5149
5150         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5151         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5152         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5153
5154         * character.h: New file.
5155
5156         * file-coding.c (Fmake_coding_system): Set 1 to
5157         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5158         defined.
5159         (encode_coding_no_conversion): New implementation for UTF2000.
5160
5161         * file-coding.h (struct Lisp_Coding_System): Add new member
5162         `fixed.size'.
5163
5164 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5165
5166         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5167         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5168         (encode_coding_iso2022): New implementation for UTF2000.
5169
5170 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5171
5172         * mule-canna.c (c2mu): New implementation for UTF2000.
5173         (m2c): Likewise.
5174
5175 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5176
5177         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5178
5179 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5180
5181         * file-coding.c (reset_encoding_stream): Set 0 to
5182         `str->iso2022.current_char_boundary' in UTF2000.
5183         (encode_utf8): Don't define in UTF2000.
5184         (encode_coding_utf8): New implementation for UTF-8 representation
5185         of UTF2000.
5186         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5187
5188 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5189
5190         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5191
5192         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5193         UTF2000.
5194         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5195
5196         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5197
5198         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5199         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5200         as UTF-8 in UTF2000.
5201         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5202         (non_ascii_valid_char_p): Don't define in UTF2000.
5203         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5204         (Lstream_get_emchar_1): Likewise.
5205         (utf-2000-version): New variable in UTF2000.
5206
5207         * lread.c (read_escape): Add new reader `u'.
5208
5209         * insdel.c (three_to_one_table): Don't define in UTF2000.
5210         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5211         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5212         UTF2000.
5213         (bytind_to_bufpos_func): Likewise.
5214         (buffer_mule_signal_inserted_region): Likewise.
5215         (vars_of_insdel): Don't initialize `three_to_one_table'.
5216         (init_buffer_text): Use `buf->text->mule_size' instead of
5217         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5218         UTF2000.
5219
5220         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5221         UTF-8 representation in UTF2000.
5222         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5223         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5224         (decode_coding_iso2022): Don't define local variable `lb' in
5225         UTF2000; don't use LEADING_BYTE in UTF2000; use
5226         `DECODE_ADD_UCS_CHAR' in UTF2000.
5227         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5228
5229         * config.h.in (UTF2000): New macro.
5230
5231         * buffer.h (struct buffer_text): Add new member `mule_size' and
5232         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5233         (valid_char_p): Return always 1 in UTF2000.
5234         (MAX_EMCHAR_LEN): 6 in UTF2000.
5235         (three_to_one_table): Don't define in UTF2000.
5236         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5237         UTF2000.
5238         (real_bytind_to_bufpos): Likewise.
5239
5240         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5241
5242 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5243
5244         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5245         representation change.
5246         (Vutf_2000_version): New variable.
5247         (leading_code_private_11): New variable.
5248         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5249         `leading-code-private-11'.
5250
5251         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5252         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5253         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5254         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5255         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5256         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5257         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5258         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5259         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5260         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5261         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5262         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5263         (MIN_CHAR_GREEK): New macro.
5264         (MAX_CHAR_GREEK): New macro.
5265         (MIN_CHAR_CYRILLIC): New macro.
5266         (MAX_CHAR_CYRILLIC): New macro.
5267         (MIN_CHAR_HEBREW): New macro.
5268         (MAX_CHAR_HEBREW): New macro.
5269         (MIN_CHAR_THAI): New macro.
5270         (MAX_CHAR_THAI): New macro.
5271         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5272         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5273         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5274         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5275         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5276         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5277         (CHAR_FIELD2): New inline function.
5278         (CHAR_FIELD3): New inline function.
5279         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5280         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5281         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5282         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5283         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5284         (MIN_CHAR_COMPOSITION): Likewise.
5285         (CHAR_LEADING_BYTE): Modified for character representation change.
5286         (MAKE_CHAR): Likewise.
5287
5288         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5289         (Vcharset_greek_iso8859_7): Likewise.
5290         (Vcharset_cyrillic_iso8859_5): Likewise.
5291         (Vcharset_hebrew_iso8859_8): Likewise.
5292         (Vcharset_thai_tis620): Likewise.
5293         (Vcharset_katakana_jisx0201): Likewise.
5294
5295 2003-09-03  Vin Shelton <acs@xemacs.org>
5296
5297         * XEmacs 21.4.14 is released
5298
5299 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5300
5301         * config.h.in (REGEX_MALLOC): Make it configure'able.
5302
5303 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5304
5305         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5306         linking.
5307         * sysdll.c (dll_init):
5308         * sysdll.c (dll_open):
5309         * sysdll.c (dll_close):
5310         * sysdll.c (dll_function):
5311         * sysdll.c (dll_variable):
5312         * sysdll.c (dll_error):
5313         Add support for loading bundles using Darwin/MacOSX
5314         native API.
5315
5316 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5317
5318         * process.c (start-process-internal): Document coding systems.
5319
5320 2003-07-30  Jerry James  <james@xemacs.org>
5321
5322         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5323
5324 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5325
5326         * event-msw.c (mswindows_enqueue_mouse_button_event):
5327         * event-msw.c (mswindows_wnd_proc):
5328           enqueue button event when scrollwheel event isn't handled by 
5329           mswindows_handle_mousewheel_event, such as when the scrollbars
5330           are not showing.
5331
5332 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5333
5334         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5335
5336 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5337
5338         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5339
5340 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5341
5342         * regex.c (re_match_2_internal): Fix matching degenerate word
5343         boundaries.
5344
5345 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5346
5347         * XEmacs 21.4.13 is released
5348
5349 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5350
5351         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5352         * lisp.h (<inttypes.h>):
5353         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5354         the definition.
5355
5356 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5357
5358         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5359         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5360         Result: "temacs can only be run in -batch mode."
5361         Fix: Check xemacs executable candidate for directory-ness.
5362
5363 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5364
5365         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5366           they conflict with <sys/types.h>.
5367
5368 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5369
5370         * database.c: Berkeley DB wants __STDC__ to be defined.
5371
5372 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5373
5374         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5375
5376 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5377
5378         * process-unix.c (unix_send_process): Fix C++ compile error.
5379
5380 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5381
5382         * Added .dylib as an acceptable shared library file extension
5383         * to support MacOSX.
5384
5385 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5386
5387         * EmacsFrameP.h (EmacsFramePart):
5388         Kludge to allow compiling with Motif1, but linking with Motif2.
5389
5390 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5391
5392         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5393
5394
5395 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5396
5397         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5398
5399 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5400
5401         * sysdll.c: Included lisp.h to define needed alloca_array.
5402
5403 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5404
5405         Make XEmacs redisplay 10 times faster.
5406         If, that is, you're using a slow X connection and MoveOpaque.
5407         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5408         Use compress_motion = TRUE.
5409         * EmacsFrame.c (emacsFrameClassRec): 
5410         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5411         * EmacsManager.c (emacsManagerClassRec):
5412         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5413
5414 2003-01-30  Vin Shelton  <acs@xemacs.org>
5415
5416         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5417
5418 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5419
5420         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5421         Patch by Martin Buchholz.
5422
5423 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5424
5425         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5426         Thanks to icc for warning and Martin Buchholz for reporting.
5427
5428 2003-01-29  Vin Shelton <acs@xemacs.org>
5429
5430         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5431
5432         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5433         remember to multiply by the element size.
5434
5435 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5436
5437         * XEmacs 21.4.12 "Portable Code" is released.
5438
5439 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5440
5441         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5442         * s/cygwin.sc: new linker file.
5443
5444 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5445
5446         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5447
5448         * redisplay-x.c (x_output_string): Use X11-specified types.
5449         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5450         * emacs.c (__free_hook): Use typeof with Intel compiler.
5451         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5452
5453 2003-01-08  Andy Piper  <andy@xemacs.org>
5454
5455         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5456         reserve size during unexec().
5457
5458 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5459
5460         * process-unix.c (unix_create_process): Don't let outchannel block.
5461
5462 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5463
5464         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5465         Needed for IsBadReadPtr().
5466
5467 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5468
5469         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5470
5471 2002-12-14  Ben Wing  <ben@xemacs.org>
5472
5473         * callint.c: Declaration error.
5474         * dumper.c (pdump):
5475         * dumper.c (pdump_load): Warning fix.
5476         * process.c: GCPRO error.
5477         * glyphs.c (unmap_subwindow):
5478         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5479         * event-stream.c (maybe_kbd_translate): Wrong argument to
5480         character_to_event().
5481
5482         * alloc.c (garbage_collect_1):
5483         * emacs.c:
5484         * emacs.c (debug_can_access_memory):
5485         * emacs.c (fatal_error_signal):
5486         * emacs.c (mswindows_handle_hardware_exceptions):
5487         * emacs.c (main_1):
5488         * emacs.c (main):
5489         * emacs.c (assert_failed):
5490         * emacs.c (syms_of_emacs):
5491         * lisp.h:
5492         * print.c:
5493         * print.c (std_handle_out_va):
5494         * print.c (write_string_to_stdio_stream):
5495         * print.c (write_fmt_string):
5496         * print.c (printing_badness):
5497         * print.c (printing_major_badness):
5498         * print.c (print_internal):
5499         * print.c (debug_print_no_newline):
5500         * print.c (debug_backtrace):
5501         Be more defensive in handling bad values when printing.  Add code
5502         from trunk involving inhibit_non_essential_printing_operations.
5503         When going down or in debug_print(), don't do external conversion
5504         and such and try really, really hard when printing to avoid core
5505         dumping.  Add force-debugging-signal, debug_break().
5506
5507 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5508
5509         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5510         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5511
5512 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5513
5514         * database.c: Fix open_database. Berkeley DB API has changed in
5515         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5516
5517 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5518
5519         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5520
5521 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5522
5523         * event-Xt.c (Xt_timeout):
5524         (Xt_timeout_callback):
5525         (emacs_Xt_add_timeout):
5526         (emacs_Xt_remove_timeout):
5527         (Xt_timeout_to_emacs_event):
5528         Turn completed_timeouts from a stack into a queue.  Fixes
5529         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5530
5531 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5532
5533         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5534         * emacs.c (main): Assert that mmap'd allocation is disabled.
5535
5536 2002-10-14  Andy Piper  <andy@xemacs.org>
5537
5538         * glyphs-widget.c (layout_query_geometry): add in fiddle
5539         factor. Include border text in width layout calculation.
5540         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5541
5542 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5543
5544         * XEmacs 21.4.10 "Military Intelligence" is released.
5545
5546 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5547
5548         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5549         using the NAS private array SoundFileInfo that no longer exists in
5550         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5551         and earlier.  This is broken for some versions between 1.5a and
5552         1.5f.
5553
5554 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5555
5556         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5557
5558         * emacs.c (shut_down_emacs): Improve crash message.
5559
5560 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5561
5562         * file-coding.c (determine_real_coding_system): Check for coding
5563         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5564         shebangs and Python PEP 263.
5565
5566 2002-10-08  Andy Piper  <andy@xemacs.org>
5567
5568         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5569         if static sizes haven't been set.
5570
5571 2002-08-30  Mike Alexander  <mta@arbortext.com>
5572
5573         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5574         to close a socket.
5575
5576 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5577
5578         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5579
5580 2002-09-20  Mike Sperber <mike@xemacs.org>
5581
5582         (This partially gets back my patch from 2002-07-20 without the
5583         bug.)
5584         * callproc.c (child_setup): Remove Ben's comment noting confusion
5585         over the file descriptors >= 3: close_process_descs() doesn't
5586         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5587         * process-unix.c (unix_create_process): Call
5588         begin_dont_check_for_quit to inhibit unwanted interaction (and
5589         thus breaking of X event synchronicity) in the child.
5590
5591 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5592
5593         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5594         widget.
5595
5596 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5597
5598         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5599         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5600         the xemacs process did not exit, but looped infinitely here.  This
5601         fixes that problem.
5602
5603 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5604
5605         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5606         (find_context): Improve comments.
5607
5608         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5609         (re_match_2): An XCHAR_TABLE operation was missing.
5610
5611         Many of the following changes were inspired by Andy Piper's (now
5612         obsolete) patch to make syntax-table text property lookup optional.
5613
5614         [Documentation]
5615
5616         * syntax.h (top level): Document semantics of syntax flags.
5617         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5618         * syntax.c, syntax.h (top level): Document syntax cache better in
5619         comments.
5620
5621         [Instrument syntax caching (temporary change)]
5622
5623         * syntax.h (enum syntax_cache_statistics_functions, struct
5624         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5625         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5626         * syntax.c (scan_words, Fforward_comment, scan_lists,
5627         Fbackward_prefix_characters):
5628         * font-lock.c (find_context):
5629         Use them to instrument syntax caching. 
5630         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5631         syntax_cache_statistics_function_names): New type and variables.
5632         * syntax.c (update_syntax_cache): Update and report statistics.
5633
5634         [Major syntax cache optimizations]
5635
5636         syntax.c (lookup_syntax_properties): Default off.
5637
5638         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5639         * syntax.c (update_syntax_cache):
5640         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5641
5642         [Minor syntax cache optimizations and code clarifications]
5643
5644         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5645         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5646         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5647         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5648         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5649         (Code clarification.)
5650
5651         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5652         scan_lists): Compute code from syncode, use Boolean macros instead
5653         of redundant masking operations.  (Code clarification; any decent
5654         compiler can do this optimization.)
5655
5656         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5657         for clarity.
5658
5659         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5660         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5661         use F*_single_property_change instead of F*_extent_change.
5662         Currently F*_single_property_change is _much_ less efficient.
5663
5664         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5665         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5666         syntax_cache.object properly, don't leave Qt or Qnil.
5667         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5668         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5669         tests for Qt or Qnil.
5670
5671 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5672
5673         * redisplay.c (point_in_line_start_cache): 
5674         * extents.c (print_extent_1):
5675         Fix warnings.
5676
5677         * extents.c (Fset_extent_property): Document `syntax-table' property.
5678
5679         * extents.h (Fnext_single_property_change): EXFUN it.
5680
5681 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5682
5683         * search.c (clear_unused_search_regs): New static function.
5684         (search_buffer): 
5685         (simple_search): 
5686         (boyer_moore):
5687         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5688         Minor clarifications in comments.
5689
5690         * regex.c (re_match_2_internal): Ensure no stale submatches.
5691
5692 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5693
5694         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5695
5696 2002-08-29  Jerry James  <james@xemacs.org>
5697
5698         * lisp.h: structrures -> structures.
5699
5700 2002-06-03  Andy Piper  <andy@xemacs.org>
5701
5702         * frame.c (frame_conversion_internal): add conversion appropriate
5703         for setting frame dimensions in pixels.
5704
5705         * console.h (struct console_methods): add device-specific widget
5706         layout functions.
5707
5708         * emacs.c (main_1): initialize glyph vars.
5709
5710         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5711         (handle_focus_event_2): new function. Allow focus to
5712         be set to a particular window and widget.
5713         (enqueue_focus_event): new function. Create a
5714         synthetic focus event.
5715         (emacs_Xt_handle_magic_event): call
5716         handle_focus_event_2.
5717
5718         * frame.c (Fset_frame_pixel_height): new function. Allow
5719         pixel-based sizing. Does the right thing on character-oriented
5720         displays.
5721         (Fset_frame_pixel_width): ditto.
5722         (Fset_frame_pixel_size): ditto.
5723         (syms_of_frame): declare.
5724
5725         * general-slots.h: add :vertically-justify and
5726         :horizontally-justify.
5727
5728         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
5729         (mswindows_widget_border_width): new function.
5730         (mswindows_combo_box_instantiate): set border widths.
5731         (console_type_create_glyphs_mswindows): declare.
5732
5733         * glyphs-widget.c:
5734         (check_valid_justification): allow vertical and horizontal
5735         justification.
5736         (widget_border_width): new function. Call device methods.
5737         (widget_instance_border_width): ditto.
5738         (logical_unit_height): new function. Determine the height of a
5739         logical-unit. Logical units are intended to provide grid-like
5740         layout for subcontrols in a layout. If the layout is
5741         :vertically-justify top then subcontrols will be positioned on
5742         logical-unit boundaries, thus allowing adjacent subcontrols to
5743         line up.
5744         (widget_logical_unit_height): ditto for widgets.
5745         (redisplay_widget): misc cleanup.
5746         (widget_spacing): new function. Call device specific
5747         methods. Intended to be the default gap between adjacent widgets.
5748         (widget_query_geometry): use new spacing functions to determine
5749         appropriate geometry.
5750         (initialize_widget_image_instance): initialize horizontal and
5751         vertical justification.
5752         (widget_instantiate): use logica-units where appropriate for
5753         sizing large widgets.
5754         (button_query_geometry): use widget_instance_border_width.
5755         (tree_view_query_geometry): ditto.
5756         (tab_control_query_geometry): ditto.
5757         (edit_field_query_geometry): new function.
5758         (layout_update): pick up :justify, :horizontally-justify and
5759         :vertically-justify none of which worked previously. :justify is
5760         used as a fallback for both horizontal and vertical justification.
5761         (layout_query_geometry): use logical units to size appropriately.
5762         (layout_layout): ditto.
5763         (Fwidget_logical_to_character_width): new function. Allow users to
5764         convert from logical units to characters so that frame sizes can
5765         be set appropriately.
5766         (Fwidget_logical_to_character_height): ditto.
5767         (syms_of_glyphs_widget): declare.
5768         (image_instantiator_edit_fields): add edit_field_query_geometry.
5769         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
5770         :horizontally-justify.
5771         (specifier_vars_of_glyphs_widget): new function. Declare
5772         Vwidget_border_width which is not yet used.
5773
5774         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
5775         (x_widget_border_width): new function.
5776         (x_widget_instantiate): create a sensible name for widgets.
5777         (console_type_create_glyphs_x): declare x_widget_border_width.
5778
5779         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
5780         (struct Lisp_Image_Instance): add :vertically-justify and
5781         :horizontally-justify.
5782         (LAYOUT_JUSTIFY_TOP): new.
5783         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
5784         (ROUND_UP): new macro. Round argument up to next integral
5785         interval.
5786
5787         * redisplay-output.c (redisplay_output_layout): misc formatting.
5788
5789         * symsinit.h: declare specifier_vars_of_glyphs_widget.
5790
5791 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
5792
5793         * XEmacs 21.4.9 "Informed Management" is released.
5794
5795 2002-08-19  Andy Piper  <andy@xemacs.org>
5796
5797         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
5798         win32 format.
5799
5800         * realpath.c (xrealpath): normalize drive spec also so that dir
5801         sep chars are not mixed on cygwin.
5802
5803 2002-08-06  Jerry James  <james@xemacs.org>
5804
5805         * window.c (Fsplit_window): Count only half of the divider width
5806         against the left window when splitting horizontally. 
5807
5808 2002-06-24  Andy Piper  <andy@xemacs.org>
5809
5810         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
5811         toolbar was cleared.
5812
5813         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
5814         function. Split out from mswindows_output_frame_toolbars.
5815         (mswindows_output_frame_toolbars): move clear pieces to
5816         mswindows_output_frame_toolbars.
5817
5818         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
5819         out from gtk_output_frame_toolbars.
5820         (gtk_output_frame_toolbars): move clear pieces to
5821         gtk_clear_frame_toolbars.
5822
5823         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
5824         the frame is cleared. How this ever worked before is a mystery.
5825         (x_output_frame_toolbars): Only output toolbars.
5826         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
5827
5828         * gutter.c (update_gutter_geometry):
5829         Mark frame layout changed.
5830         (update_frame_gutter_geometry, update_frame_gutters):
5831         Respect frame_layout_changed.
5832
5833         * console.h (struct console_methods): add
5834         clear_frame_toolbars_method.
5835
5836         * redisplay.c (redisplay_frame): call
5837         update_frame_toolbars_geometry and re-order update_frame_toolbars.
5838
5839         * toolbar.h: declare update_frame_toolbars_geometry.
5840
5841         * toolbar.c (update_frame_toolbars_geometry): new function. Split
5842         out from update_frame_toolbars.  Call clear_frame_toolbars.
5843         (update_frame_toolbars): only output, do not change geometry.
5844
5845         * redisplay.c: add frame_layout_changed.
5846
5847         * redisplay.h: add frame_layout_changed.
5848         (CLASS_RESET_CHANGED_FLAGS): set it.
5849         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
5850         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
5851         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
5852
5853         * device.h (struct device): add frame_layout_changed.
5854         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
5855
5856         * frame.h (struct frame): add frame_layout_changed.
5857         (MARK_FRAME_LAYOUT_CHANGED): new.
5858
5859 2002-06-30  Mike Alexander  <mta@arbortext.com>
5860
5861         * event-msw.c (mswindows_need_event): Don't wait for a new message
5862         if the queue is not empty.  Suggested by Paul Moore.
5863
5864 2002-06-12  Andy Piper  <andy@xemacs.org>
5865
5866         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
5867         for printing on accurately.
5868
5869 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
5870
5871         * event-msw.c (mswindows_wnd_proc): Add a handler for the
5872         WM_ACTIVATE message. Make sure that the frame is visible if the
5873         window is visible. This seemss to fix the problem where XEmacs
5874         appears to freeze after switching desktops with certain virtual
5875         window managers.
5876         (debug_output_mswin_message): Added code to output message
5877         parameters for WM_WINDOWPOSCHANGED, 
5878         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
5879
5880 2002-05-25  Andy Piper  <andy@xemacs.org>
5881
5882         * select-x.c (vars_of_select_x): Fix docstring of
5883         x-selection-strict-motif-ownership
5884
5885 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5886
5887         * keymap.c (get_keymap):
5888         Add comment about do_autoload GCPROs own args.
5889
5890 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5891
5892         * bytecode.c (execute_optimized_program): check_opcode ifdef
5893         ERROR_CHECK_BYTE_CODE.
5894
5895 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
5896
5897         Thanks to Ben Wing and Michael Sperber.
5898
5899         * eval.c (Fcommand_execute):
5900         (Feval):
5901         (Ffuncall):
5902         (Fmacroexpand_internal):
5903         (function_argcount):
5904         callint.c (Fcall_interactively):
5905         Add comment about do_autoload GCPROs own args.
5906
5907         * (do_autoload): GCPRO both args as well as local Lisp_Object.
5908
5909         * eval.c (Ffuncall): Extra braces to placate GCC.
5910
5911 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
5912
5913         * backtrace.h (grow_specpdl):
5914         (SPECPDL_RESERVE):
5915         * EmacsFrame.c (EmacsFrameSetValues):
5916         * eval.c (grow_specpdl):
5917         * ExternalShell.c (hack_event_masks_1):
5918         * glyphs-x.c (convert_EImage_to_XImage): 
5919         (x_finalize_image_instance):
5920         * ralloc.c (page_size):
5921         (r_alloc_sbrk):
5922         * xgccache.c (gc_cache_hash):
5923         Fix unsigned comparison warnings.
5924
5925 2002-07-29  Jerry James  <james@xemacs.org>
5926
5927         * lread.c (locate_file): Any nonnegative return value indicates
5928         success if MODE is nonnegative.
5929
5930 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
5931
5932         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
5933         argument. 
5934
5935 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
5936
5937         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
5938
5939         * dumper.c (pdump_get_indirect_count):
5940         (pdump_scan_by_alignment):
5941         (pdump_dump_root_struct_ptrs):
5942         (pdump_dump_rtables):
5943         (pdump_dump_root_objects):
5944         (pdump):
5945         * nas.c (WaveOpenDataForReading):
5946         * fns.c (print_bit_vector):
5947         * font-lock.c (SINGLE_SYNTAX_STYLE):
5948         * glyphs.c (check_for_ignored_expose):
5949         (find_matching_subwindow):
5950         * glyphs-eimage.c:
5951         * imgproc.c (get_histogram):
5952         * redisplay.c (point_in_line_start_cache):
5953         * redisplay-output.c (redisplay_unmap_subwindows):
5954         * symbols.c (defsymbol_massage_name_1):
5955         (defkeyword_massage_name):
5956         (deferror_massage_name_and_message):
5957         * redisplay-x.c (x_output_string): 
5958         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
5959         * frame.h (struct frame):
5960         * filelock.c (current_lock_owner):
5961         * doprnt.c (emacs_doprnt_1):
5962         * lisp.h (struct Lisp_Bit_Vector):
5963         (DO_REALLOC):
5964         Fix warnings.
5965
5966 2002-02-13  Ben Wing  <ben@xemacs.org>
5967
5968         * event-stream.c (reset_key_echo):
5969         * event-stream.c (reset_this_command_keys):
5970         * event-stream.c (execute_command_event):
5971         If console is dead as a result of C-x 5 0, then post-command stuff
5972         needs to be careful and do only non-console-specific stuff.
5973
5974 2002-07-01  Mike Sperber <mike@xemacs.org>
5975
5976         * process-unix.c (unix_send_process): Mark coding_outstream as
5977         non-open upon SIGPIPE.
5978
5979         * event-stream.c (Fnext_event): Reorder switch cases to something
5980         that makes sense.
5981
5982 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
5983
5984         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
5985         Don't bogusly reinitialize ascii_character property.
5986
5987 2002-07-08  Mike Sperber <mike@xemacs.org>
5988
5989         * process.c (Fstart_process_internal): Do error checking before we
5990         fork off the child, so the child can't muck with the state of the
5991         parent.
5992
5993 2002-07-08  Mike Sperber <mike@xemacs.org>
5994
5995         * ralloc.c (init_ralloc): Allocate properly for pdump.
5996
5997 2002-06-12  Andy Piper  <andy@xemacs.org>
5998
5999         * glyphs.c (query_string_geometry): check the string.
6000
6001         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6002         widget names.
6003
6004 2002-06-17  Jerry James  <james@xemacs.org>
6005
6006         * sysdll.c: Remove RTLD_GLOBAL initialization.
6007         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6008
6009 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6010
6011         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6012
6013 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6014
6015         * sysdep.c (sys_rename): Make sys_rename work for the case where
6016         Windows rename sets errno to EACCES if target file exists.
6017
6018 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6019
6020         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6021         Fix detection of metric units to work on Win95
6022
6023 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6024
6025         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6026
6027 2002-04-25  Andy Piper  <andy@xemacs.org>
6028
6029         * redisplay.c (create_text_block): Remove extra comment trailer.
6030
6031 2002-04-24  Andy Piper  <andy@xemacs.org>
6032
6033         * redisplay.c (create_text_block): Don't actually add propagation
6034         data if the line ends after we have added a glyph.
6035
6036 2002-04-22  Andy Piper  <andy@xemacs.org>
6037
6038         * extents.c (extent_fragment_update): check for glyphs we have
6039         previously displayed.
6040         * extents.c (print_extent_1): warning removal.
6041         * extents.h: change prototype.
6042         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6043         widths correctly for wide glyphs.
6044         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6045         * redisplay.c (prop_type): add PROP_GLYPH.
6046         * redisplay.c (struct prop_block): add glyph type
6047         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6048         to the propagation data.
6049         * redisplay.c (create_text_block): if there is a glyph in the
6050         propagation data use it to salt extent_fragment_update.
6051         * redisplay.c (create_string_text_block): ditto.
6052
6053 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6054
6055         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6056         * redisplay-output.c (compare_runes): Compare them.
6057         * redisplay.c: Update copyright date.
6058         * redisplay.c (pos_data): Add need_baseline_computation field.
6059         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6060         need_baseline_computation; zero yoffset. Set max_pixmap_height
6061         for all pixmaps, not just automatically positioned ones.
6062         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6063         * redisplay.c (calculate_baseline): New, compute textual baseline.
6064         * redisplay.c (add_glyph_rune): Call them.
6065         * redisplay.c (create_text_block): Likewise.
6066         * redisplay.c (create_overlay_glyph_block): Likewise.
6067         * redisplay.c (add_margin_runes): Likewise.
6068         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6069
6070         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6071         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6072         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6073         * redisplay-msw.c (mswindows_output_string): Likewise.
6074         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6075         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6076         * redisplay-x.c (x_output_display_block): Likewise.
6077
6078 2002-03-28  Ben Wing  <ben@xemacs.org>
6079
6080         * redisplay.c: Fixed bug in redisplay
6081         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6082         and down of the lines, since they're bigger than the line
6083         size. (It was seen most obviously when there's a horizontal scroll
6084         bar, e.g. do C-h a glyph or something like that.) The problem was
6085         that the glyph-contrib-p setting on glyphs was ignored even if it
6086         was set properly, which it wasn't until now.
6087
6088 2002-04-24  Andy Piper  <andy@xemacs.org>
6089
6090         * lisp.h (Dynarr_end): Fix definition.
6091
6092 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6093
6094         * redisplay.c (mark_redisplay): Remove call to
6095         update_frame_window_mirror.
6096
6097 2001-11-15  Andy Piper  <andy@xemacs.org>
6098
6099         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6100         cygwin (again).
6101
6102 2002-02-13  Andy Piper  <andy@xemacs.org>
6103
6104         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6105         we did in fact enqueue the XM_MAPFRAME event.
6106
6107 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6108
6109         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6110         to fix problem switching between virtual desktops under virtuawin
6111         virtual window manager.
6112
6113 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6114
6115         * event-msw.c: Typo fix.
6116         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6117         magic XM_MAPFRAME event has been sent.
6118
6119 2001-11-23  Andy Piper  <andy@xemacs.org>
6120
6121         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6122
6123 2001-11-21  Andy Piper  <andy@xemacs.org>
6124
6125         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6126         mouse events outside the frame.
6127
6128 2002-03-20  Andy Piper  <andy@xemacs.org>
6129
6130         * menubar-msw.c (mswindows_popup_menu): warning removal.
6131         * dialog-msw.c (dialog_popped_down): ditto.
6132
6133 2001-12-11  Andy Piper  <andy@xemacs.org>
6134
6135         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6136         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6137         popup_up_p.
6138         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6139         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6140         * menubar-msw.c (mswindows_popup_menu): ditto.
6141
6142 2001-10-29  Andy Piper  <andy@xemacs.org>
6143
6144         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6145         cancels.
6146
6147 2002-01-03  Andy Piper  <andy@xemacs.org>
6148
6149         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6150         letters.
6151         (xrealpath): ditto.
6152
6153 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6154
6155         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6156         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6157         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6158         Detect and handle case where machine is set up for metric units
6159
6160 2002-04-02  Andy Piper  <andy@xemacs.org>
6161
6162         * dired-msw.c (mswindows_get_files): 
6163         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6164         completely handled by XEmacs. Suggested by Thomas Vogler
6165         <mail@thomas-vogler.de>.
6166
6167 2001-11-14  Andy Piper  <andy@xemacs.org>
6168
6169         * nt.c (REG_ROOT): change registry key to XEmacs.
6170
6171 2002-04-27  Andy Piper  <andy@xemacs.org>
6172
6173         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6174
6175 2002-04-26  Andy Piper  <andy@xemacs.org>
6176
6177         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6178         behavior.
6179
6180 2002-03-14  Mike Alexander  <mta@arbortext.com>
6181
6182         * event-msw.c (mswindows_unwait_process): New, remove process from
6183         wait list
6184         * process-nt.c (nt_finalize_process_data): Call
6185         mswindows_unwait_process
6186         * console-msw.h: Declare mswindows_unwait_process
6187
6188 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6189
6190         * editfns.c (Fdecode_time):
6191         (Fformat_time_string):
6192         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6193         (make_time): Warning elimination (change arg name).
6194
6195 2001-11-24  Andy Piper  <andy@xemacs.org>
6196
6197         * window.c (Fsplit_window): Doc return type.
6198
6199 2002-04-01  Andy Piper  <andy@xemacs.org>
6200
6201         * emacs.c (Fkill_emacs): Only output message box in interactive
6202         mode.
6203
6204 2002-04-26  Andy Piper  <andy@xemacs.org>
6205  
6206         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6207         cygwin.
6208
6209 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6210
6211         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6212         bit platform.
6213
6214 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6215
6216         * XEmacs 21.4.8 "Honest Recruiter" is released.
6217
6218 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6219
6220         Supersedes 2002-04-17 patch.
6221
6222         * process.h (PROCESS_LIVE_P): Use the process status as
6223         evidence of health, not the state of the input stream.
6224         (PROCESS_READABLE_P): Say if the process is readable
6225         from. (It may be dead nonetheless.)
6226         (CHECK_READABLE_PROCESS): Test for that condition.
6227
6228         * process.c (create_process): Use PROCESS_READABLE_P.
6229         (read_process_output, set_process_filter): Likewise.
6230
6231         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6232         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6233
6234         This code is #if 0'd, this is not the time to add new functions:
6235
6236         * process.c (Fprocess_readable_p): Report readability status.
6237         * process.c (Qprocess_readable_p): New, associated symbol...
6238         * process.c (syms_of_process): ... initialize it.
6239
6240 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6241
6242         * XEmacs 21.4.7 "Economic Science" is released.
6243
6244 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6245
6246         * process.h (PROCESS_LIVE_P): Use the process status as
6247         evidence of health, not the state of the input stream.
6248
6249 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6250
6251         * sysdep.c (sys_siglist): change "signum" to "signal"
6252
6253 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6254
6255         * s/darwin.h: New file.
6256         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6257         
6258 2002-04-23  Andreas Jaeger  <aj@suse.de>
6259
6260         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6261         which use lib64 for 64-bit libs.
6262         (START_FILES): Likewise.
6263
6264 2002-02-11  Mike Sperber  <mike@xemacs.org>
6265
6266         * device-x.c: 
6267         (x_IO_error_handler):
6268         (x_init_device): Temporarily keep device in static variable
6269         `device_being_initialized' so we can recover gracefully from
6270         internal XOpenDevice failure.  (XOpenDevice is documented to
6271         return NULL on failure, but sometimes calls the IO error handler
6272         instead.)
6273
6274 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6275
6276         * dired.c (Ffile_name_all_completions): Change documentation --
6277         remove reference to completion-ignored-extensions.
6278         * dired.c (vars_of_dired): Change documentation for
6279         completion-ignored-extensions -- remove reference to
6280         file-name-all-completions.
6281
6282 2002-03-06  Jerry James  <james@xemacs.org>
6283
6284         * emodules.c (emodules_load): Fix multiple loading of same module.
6285
6286 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6287         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6288         RTLD_LAZY to avoid incorrect symbol binding when using nested
6289         shared libraries on Solaris.
6290
6291 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6292
6293         * fileio.c (Ffind_file_name_handler): Improve docstring.
6294
6295 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6296
6297         * fns.c (Fmapconcat): Improve docstring.
6298
6299 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6300
6301         * device-gtk.c: Add prototype for
6302         emacs_gtk_selection_clear_event_handle.
6303         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6304         selection.  Setup signal handler for "selection_clear_event"
6305         (emacs_gtk_selection_clear_event_handle).
6306
6307         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6308         other applications owning the clipboard (based on
6309         x_handle_selection_clear).
6310
6311 2001-12-23  William M. Perry  <wmperry@gnu.org>
6312
6313         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6314         
6315 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6316
6317         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6318
6319 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6320
6321         * XEmacs 21.4.6 "Common Lisp" is released.
6322
6323 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6324
6325         * search.c (Freplace_match): Add missing sub-expression functionality.
6326
6327         * buffer.c (decode_buffer): Add a check for pointer type to
6328         decode_buffer, before gcc's CSE optimization reorders a
6329         dereference in front of the allow_string test.
6330
6331 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6332
6333         * window.c (window_loop): Fix bug that sometimes prevented
6334         window_loop() from iterating across multiple devices.  Also, at
6335         Ben's request, changed infloop-detecting code to abort() instead
6336         of silently terminating window_loop().
6337
6338 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6339
6340         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6341         * editfns.c (make_time): New function.
6342         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6343         * lisp.h (make_time): Prototype and comment it.
6344         * dired.c (wasteful_word_to_lisp): Deprecate.
6345         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6346
6347 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6348
6349         * fileio.c (auto_save_1): Use current coding system, not
6350         escape-quoted.
6351
6352 2001-11-13  Ben Wing  <ben@xemacs.org>
6353
6354         * window.c:
6355         * window.c (window_truncation_on):
6356         * window.c (syms_of_window):
6357         truncate-partial-width-windows should respect the buffer being
6358         displayed, like other redisplay vars.
6359
6360 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6361
6362         * event-stream.c (Fread_key_sequence): save current buffer.
6363
6364 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6365
6366         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6367
6368 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6369
6370         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6371
6372 2001-10-26  Mike Alexander  <mta@arbortext.com>
6373
6374         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6375
6376 2001-10-25  Andy Piper  <andy@xemacs.org>
6377
6378         * ChangeLog:
6379         * dialog-msw.c (handle_directory_proc): new function.
6380          (handle_directory_dialog_box): new fucntion.
6381          (handle_file_dialog_box): use new directory dialog support.
6382          (mswindows_make_dialog_box_internal): ditto.
6383         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6384         handling.
6385         (mswindows_find_frame): make global.
6386         * fileio.c (Fexpand_file_name): build fix.
6387         * general-slots.h: add Qdirectory.
6388         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6389         handling.
6390         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6391         cygwin not leaving win32 paths unchanged.
6392         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6393         cygwin runtime to do path conversion.
6394         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6395         (syms_of_win32): add new function.
6396         * window.c (window_loop): build fix.
6397
6398 2001-10-15  Andy Piper  <andy@xemacs.org>
6399
6400         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6401
6402 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6403
6404         * XEmacs 21.4.5 "Civil Service" is released.
6405
6406 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6407
6408         * glyphs-x.c: Force buffer-tab highlight update when moving the
6409         buffer, avoiding an ugly black border, used for keyboard focus
6410         indication, on a widget that can never have keyboard focus, the
6411         buffer tab.
6412
6413 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6414
6415         * process-unix.c (unix_open_multicast_group): Remove too much
6416         conversion between host and network byte order.
6417
6418 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6419
6420         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6421         before replacing them.
6422
6423         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6424         operation.
6425
6426         * src/window.c (undedicate_windows): Use it.
6427         * src/window.h: Add prototype.
6428
6429 2001-09-17  Ben Wing  <ben@xemacs.org>
6430
6431         * fileio.c (normalize_filename):
6432         * fileio.c (Fexpand_file_name):
6433         Fix various C++ compile errors in Andy's recent code.
6434         
6435         * callint.c (Fcall_interactively):
6436         * editfns.c (Ftemp_directory):
6437         * editfns.c (Fuser_full_name):
6438         * emacs.c (argmatch):
6439         * lread.c (locate_file_map_suffixes):
6440         * redisplay-x.c (x_ring_bell):
6441         Fix sign-compare warnings.
6442         
6443 2001-09-08  Andy Piper  <andy@xemacs.org>
6444
6445         * fileio.c (normalize_filename): copied from nt.c
6446         * (Ffile_name_directory): enable win32 paths under cygwin.
6447         * (Ffile_name_nondirectory): ditto.
6448         * (directory_file_name): ditto.
6449         * (Fexpand_file_name): ditto.
6450         * (Ffile_truename): ditto.
6451         * (Fsubstitute_in_file_name): ditto.
6452         * (Ffile_name_absolute_p): ditto.
6453         * (Ffile_readable_p): ditto.
6454
6455 2001-09-08  Andy Piper  <andy@xemacs.org>
6456
6457         * device-msw.c (mswindows_finish_init_device): remove dde
6458         initialization.
6459         * device-msw.c (mswindows_init_dde): factor out from
6460         mswindows_finish_init_device()
6461         * device-msw.c (init_mswindows_very_early): new function
6462         initialize but don't enable dde.
6463         * emacs.c (main_1): call init_mswindows_very_early.
6464         * event-msw.c:
6465         * event-msw.c (mswindows_dde_callback): only execute when we are
6466         ready.
6467         * symsinit.h: declare init_mswindows_very_early.
6468
6469 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6470
6471         [sjt: This has been in 21.5 for months with no complaints.]
6472
6473         * console.h (struct console_methods): Added flags member.
6474         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6475         (CONMETH_IMPL_FLAG):
6476         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6477         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6478
6479         * device.c (window_system_pixelated_geometry): Use the above macros.
6480
6481         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6482         implememntation flag.
6483         * device.h (DEVICE_DISPLAY_P): Use it.
6484
6485         * frame.c (delete_frame_internal): Use the above macro.
6486
6487         * redisplay.c (redisplay_device): Use it.
6488         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6489         (redisplay_frame): Ditto.
6490
6491         * device-msw.c (mswindows_device_implementation_flags): Removed.
6492         (msprinter_device_implementation_flags): Removed.
6493         (console_type_create_device_mswindows): Removed references to
6494         implementation_flags methods, set implementation flags here.
6495         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6496
6497         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6498         (console_type_create_device_gtk): Removed method declaration.
6499         Added commented out statement which semantically matches the
6500         commented out statement in the above removed method.
6501
6502 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6503
6504         The attached patch fixes a few warnings. 
6505
6506         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6507         * src/frame-gtk.c: guard against GNOME calls in GTK only
6508         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6509         * src/select-gtk.c: prototype lisp_to_time
6510
6511 2001-06-08  Ben Wing  <ben@xemacs.org>
6512
6513         ------ gc-in-window-procedure fixes ------
6514         
6515         * alloc.c:
6516         * alloc.c (struct post_gc_action):
6517         * alloc.c (register_post_gc_action):
6518         * alloc.c (run_post_gc_actions):
6519         * alloc.c (garbage_collect_1):
6520         Create "post-gc actions", to avoid those dreaded "GC during window
6521         procedure" problems.
6522
6523         * event-msw.c:
6524         Abort, clean and simple, when GC in window procedure.  We want
6525         to flush these puppies out.
6526
6527         * glyphs-msw.c:
6528         * glyphs-msw.c (finalize_destroy_window):
6529         * glyphs-msw.c (mswindows_finalize_image_instance):
6530         Use a post-gc action when destroying subwindows.
6531
6532         * lisp.h:
6533         Declare register_post_gc_action().
6534
6535         * scrollbar-msw.c:
6536         * scrollbar-msw.c (unshow_that_mofo):
6537         Use a post-gc action when unshowing scrollbar windows, if in gc.
6538
6539         * redisplay.c (mark_redisplay):
6540         Add comment about the utter evilness of what's going down here.
6541
6542         ------ cygwin setitimer fixes ------
6543         
6544         * Makefile.in.in (sheap_objs):
6545         * Makefile.in.in (profile_objs):
6546         * Makefile.in.in (objs):
6547         Compile profile.c only when HAVE_SETITIMER.
6548         
6549         * nt.c (mswindows_sigset):
6550         * nt.c (mswindows_sighold):
6551         * nt.c (mswindows_sigrelse):
6552         * nt.c (mswindows_sigpause):
6553         * nt.c (mswindows_raise):
6554         * nt.c (close_file_data):
6555         Style fixes.
6556         
6557         * nt.c:
6558         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6559         
6560         * profile.c:
6561         * profile.c (Fstart_profiling):
6562         * profile.c (Fstop_profiling):
6563         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6564         instead of just plain setitimer().
6565         
6566         * signal.c:
6567         * signal.c (set_one_shot_timer):
6568         * signal.c (alarm):
6569         Define qxe_setitimer() as an encapsulation around setitimer() --
6570         call setitimer() directly unless Cygwin or MS Win, in which case
6571         we use our simulated version in win32.c.
6572         
6573         * systime.h:
6574         * systime.h (struct itimerval):
6575         * systime.h (ITIMER_REAL):
6576         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6577         comment about "qxe" and the policy regarding encapsulation.
6578
6579         * win32.c:
6580         * win32.c (setitimer_helper_proc):
6581         * win32.c (setitimer_helper_period):
6582         * win32.c (setitimer_helper):
6583         * win32.c (mswindows_setitimer):
6584         Move setitimer() emulation here, so Cygwin can use it.
6585         Rename a couple of functions and variables to be longer and more
6586         descriptive.  In setitimer_helper_proc(), send the signal
6587         using either mswindows_raise() or (on Cygwin) kill().  If for
6588         some reason we are still getting lockups, we'll change the kill()
6589         to directly invoke the signal handlers.
6590
6591         ------ windows shell fixes ------
6592         
6593         * callproc.c:
6594         * ntproc.c:
6595         Comments about how these two files must die.
6596
6597         * callproc.c (init_callproc):
6598         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6599         not just COMSPEC. (more correct and closer to FSF.) Don't
6600         force a value for SHELL into the environment. (Comments added
6601         to explain why not.)
6602         
6603         * nt.c (init_user_info):
6604         Don't shove a fabricated SHELL into the environment.  See above.
6605
6606 2001-06-01  Ben Wing  <ben@xemacs.org>
6607
6608         * Makefile.in.in (ldflags):
6609         eliminate that pesky "defaulting to 00401000" warning.
6610         * nt.h:
6611         eliminate warnings.
6612
6613 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6614
6615         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6616         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6617
6618 2001-04-24  Jerry James <james@xemacs.org>
6619
6620         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6621         correct order.
6622
6623 2001-06-01  Ben Wing  <ben@xemacs.org>
6624
6625         * event-msw.c (debug_mswin_messages):
6626         conditionalize the messages that were causing compile errors.
6627         (if only macros could generate #ifdef statements ...)
6628
6629 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6630
6631         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6632
6633 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6634
6635         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6636
6637 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6638
6639         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6640         * process-unix.c (unix_canonicalize_host_name):
6641         sysdep.c (init_system_name):
6642         Use it to conditionally support IPv6 canonicalization.
6643
6644 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6645
6646         * event-msw.c:
6647         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6648
6649 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6650
6651         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6652         attempt is made to scroll when no scroll bar is available.
6653
6654 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6655
6656         * input-method-motif.c (XIM_delete_frame): New callback.
6657         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6658         got deleted from 21.4.3.)
6659
6660 2001-06-01  Ben Wing  <ben@xemacs.org>
6661
6662         * nt.c (mswindows_utime):
6663         * nt.c (close_file_data):
6664         fix off-by-one-indirection error.
6665
6666 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6667
6668         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6669         because set_file_times() now takes Lisp_Object path, instead of
6670         char*.
6671         * nt.c: Include buffer.h.
6672         * nt.c (convert_from_time_t): New.
6673         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6674         not set mtime correctly.
6675         * nt.h: Declare mswindows_utime().
6676         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6677         path, instead of char*.
6678         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6679
6680 2001-05-30  Ben Wing  <ben@xemacs.org>
6681
6682         For 21.4:
6683
6684         (Stephen, just take all event-msw.c patches.  This includes
6685         the "iconify" fix below.)
6686
6687         * event-msw.c:
6688         * event-msw.c (mswindows_dequeue_dispatch_event):
6689         * event-msw.c (assert):
6690         * event-msw.c (emacs_mswindows_quit_p):
6691         * event-msw.c (debug_mswin_messages):
6692         * event-msw.c (debug_output_mswin_message):
6693         * event-msw.c (vars_of_event_mswindows):
6694         Fix yet more problems with C-g handling.
6695         Implement debug-mswindows-events.
6696         
6697 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6698
6699         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6700         
6701 2001-05-23  Ben Wing  <ben@xemacs.org>
6702
6703         * event-msw.c (winsock_writer):
6704         * event-msw.c (winsock_closer):
6705         prior kludgy code was clobbering the buffer, thinking it was
6706         "unused" space to store an unneeded return value; instead, use
6707         the variable we've already got staring us in the face.
6708
6709 2001-05-17  Andy Piper  <andy@xemacs.org>
6710
6711         * sysfile.h: don't assume that file attributes are boolean
6712
6713 2001-05-23  Ben Wing  <ben@xemacs.org>
6714
6715         * device-msw.c (msprinter_init_device):
6716         signal an error rather than crash with an unavailable network
6717         printer (from Mike Alexander).
6718         
6719         * event-msw.c:
6720         * event-msw.c (struct winsock_stream):
6721         * event-msw.c (winsock_writer):
6722         * event-msw.c (winsock_closer):
6723         * event-msw.c (make_winsock_stream_1):
6724         cleanup headers.  fix (hopefully) an error with data corruption
6725         when sending to a network connection.
6726
6727         * fileio.c (Fexpand_file_name): Fix evil code that attempts
6728         to handle the ~user prefix by (a) always assuming we're referencing
6729         ourselves and not even verifying the user -- hence any file with
6730         a tilde as its first char is invalid! (b) if there wasn't a slash
6731         following the filename, the pointer was set *past* the end of
6732         file and we started reading from uninitialized memory.  Now we
6733         simply treat these as files, always.
6734
6735         * buffer.c (common_init_complex_vars_of_buffer): comment change.
6736         
6737 2001-05-19  Ben Wing  <ben@xemacs.org>
6738
6739         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
6740
6741         * process-nt.c:
6742         * process-nt.c (vars_of_process_nt):
6743         remove unused mswindows-quote-process-args.  rec for 21.4.
6744         
6745 2001-05-12  Ben Wing  <ben@xemacs.org>
6746
6747         * event-msw.c (mswindows_dde_callback):
6748         * event-msw.c (mswindows_wnd_proc):
6749         eliminate cygwin warnings.
6750
6751 2001-05-06  Ben Wing  <ben@xemacs.org>
6752
6753         * console-msw.h:
6754         * device-msw.c:
6755         * device-msw.c (print_dialog_worker):
6756         * device-msw.c (mswindows_handle_print_dialog_box):
6757         * device-msw.c (syms_of_device_mswindows):
6758         * dialog-msw.c (mswindows_make_dialog_box_internal):
6759         * general-slots.h:
6760         implement printing the selection when it's selected.
6761
6762 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
6763
6764         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
6765
6766 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
6767
6768         * lisp.h (EMACS_INT_MAX): This should be one bit less since
6769         EMACS_INT is signed.
6770
6771 2001-04-15  Michael Lausch  <mla@1012surf.net>
6772
6773         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
6774         gtk_widget_request_size() to give scrollbar >0 width for
6775         GTK >1.2.8.
6776
6777 2001-05-30  William M. Perry  <wmperry@gnu.org>
6778
6779         * event-gtk.c: Check for buttons as modifier keys.
6780
6781 2001-05-25  Craig Lanning  <CraigL@Knology.net>
6782
6783         * s\mingw32.h:
6784         Properly find MinGW's <process.h> inside Cygwin's restructured
6785         include directories.  Don't try to include <cygwin/version.h>
6786         since we are dropping support for MinGW in versions of Cygwin
6787         earlier than b21.
6788         * nt.c:
6789         Drop support for MinGW in versions of Cygwin before b21.
6790         * sysdep.c:
6791         Properly find MinGW's <process.h> inside Cygwin's restructured
6792         include directories.
6793         * syswindows.h:
6794         Drop support for MinGW in versions of Cygwin before b21.
6795         * unexcw.c:
6796         Even though a.out.h is no longer detected by configure, allow
6797         MinGW to use it until we figure out how to do the job with Win32.
6798
6799 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
6800
6801         * syntax.c (find_start_of_comment):
6802         Fix `unbalanced parentheses' bug when dealing with mixed comment
6803         styles in c++/java/etc. mode
6804
6805 2001-05-29  Mike Alexander  <mta@arbortext.com>
6806
6807         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
6808         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
6809
6810 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
6811
6812         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
6813
6814 2001-03-31  Mike Sperber <mike@xemacs.org>
6815
6816         * search.c (Freplace_match): Support FSF-style specification of
6817         match subexpression when applied to a buffer.
6818
6819 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6820
6821         * event-stream.c (is_scrollbar_event): add missing semicolon
6822
6823 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
6824
6825         * Makefile.in.in: Use TAR macro instead of hardcoding
6826           tar.  Allows use of GNU tar instead of system tar
6827
6828 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
6829
6830         * event-stream.c (is_scrollbar_event): add missing semicolon
6831
6832 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6833
6834         * XEmacs 21.4.3 "Academic Rigor" is released.
6835
6836 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
6837
6838         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
6839
6840 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
6841
6842         * buffer.c (Vcase_fold_search): Remove obsolete
6843           comment about non ASCII case-fold-search.  This
6844           bug has been fixed by case-table changes.
6845
6846 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
6847
6848         * event-msw.c: Restore include of events-mod.h.
6849
6850 2001-04-22   zhaoway  <zw@debian.org>
6851
6852         * event-stream.c (is_scrollbar_event): Noop returning 0 if
6853         !HAVE_SCROLLBARS.
6854
6855 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
6856
6857         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
6858
6859 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
6860
6861         * mule-charset.c (Fmake_charset): Add missing else.
6862
6863 2001-04-23  Ben Wing  <ben@xemacs.org>
6864
6865         * event-msw.c (FAKE_MOD_QUIT):
6866         * event-msw.c (mswindows_dequeue_dispatch_event):
6867         * event-msw.c (mswindows_wnd_proc):
6868         * event-msw.c (emacs_mswindows_quit_p):
6869         Get critical quit working.
6870
6871 2001-05-05  Ben Wing  <ben@xemacs.org>
6872
6873         * console-msw.h:
6874         * device-msw.c:
6875         * device-msw.c (mswindows_get_default_margin):
6876         * frame-msw.c (mswindows_size_frame_internal):
6877         * frame-msw.c (msprinter_init_frame_1):
6878         * frame-msw.c (vars_of_frame_mswindows):
6879         Change top/bottom margin defaults to 0.5 inches.
6880
6881 2001-05-01  Martin Buchholz  <martin@xemacs.org>
6882
6883         Fix link error with gcc 3.0 on Linux.
6884         * terminfo.c (UP): Remove.
6885         * terminfo.c (BC): Remove.
6886         * terminfo.c (PC): Remove.
6887         They weren't used, and in any case, these symbols should be
6888         defined in the *library*.
6889
6890 2001-05-03  Martin Buchholz  <martin@xemacs.org>
6891
6892         * s/aix4.h: Fix crash with xlc -O3.
6893         Improve comment explaining how -O3 works.
6894
6895 2001-04-15  Ben Wing  <ben@xemacs.org>
6896
6897         * event-stream.c:
6898         * event-stream.c (Fnext_event):
6899         * event-stream.c (is_scrollbar_event):
6900         * event-stream.c (execute_command_event):
6901         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
6902         crash' problem.  His fix introduces other problems.  We filter
6903         out scrollbar events specifically, making them somewhat invisible
6904         to command-building, and not appearing in `this-command-keys'.
6905         More work is still needed (see comments in event-stream.c), but
6906         this fixes all the major problems.
6907
6908 2001-04-20  Ben Wing  <ben@xemacs.org>
6909
6910         * .cvsignore: Added stuff for Windows.
6911
6912 2001-04-28  Ben Wing  <ben@xemacs.org>
6913
6914         * buffer.c (Ferase_buffer):
6915         * editfns.c (buffer_insert1):
6916         * editfns.c (Finsert_before_markers):
6917         * editfns.c (Finsert_string):
6918         * editfns.c (Finsert_char):
6919         * editfns.c (Fdelete_region):
6920         * editfns.c (Fwiden):
6921         * editfns.c (Fnarrow_to_region):
6922         remove bogus lines setting zmacs_region_stays to 0.
6923         
6924 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
6925
6926         * process-unix.c (unix_open_network_stream): If connect() fails
6927         invalidate file descriptor after closing it.
6928
6929 2001-03-08  Mike Alexander  <mta@arbortext.com>
6930
6931         * event-msw.c (mswindows_need_event_in_modal_loop):
6932         Don't dispatch a message if we didn't get one.
6933         (mswindows_need_event):
6934         Terminate the correct process when one exits instead of the first
6935         one on Vprocess_list and look for process termination when in
6936         mswindows_protect_modal_loop.
6937
6938 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
6939
6940         * XEmacs 21.4.1 "Copyleft" is released.
6941
6942 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6943
6944         * input-method-motif.c (XIM_delete_frame): New callback.
6945         (XIM_init_frame): Register it.
6946
6947 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6948
6949         * XEmacs 21.4.0 "Solid Vapor" is released.
6950
6951 2001-04-15  Ben Wing  <ben@xemacs.org>
6952
6953         * cmdloop.c (call_command_loop):
6954         Fix braino in bit-rotting code.
6955         
6956 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
6957
6958         * extents.c (Fset_extent_endpoints): Force creation of extent info
6959         in buffer_or_string.
6960
6961         * extents.c (process_extents_for_insertion_mapper): Correctly
6962         check for open-open zero-length extents.
6963
6964 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
6965
6966         * lisp.h: New typedefs Memory_count, Element_count.
6967         * regex.c:
6968         * regex.h:
6969         Sign-compare warning elimination: several unsigned -> signed.
6970         Based on work by Ben Wing <ben@xemacs.org>.
6971
6972 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
6973
6974         * XEmacs 21.2.47 "Zephir" is released.
6975
6976 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
6977
6978         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
6979
6980 2001-04-03  Mike Sperber <mike@xemacs.org>
6981
6982         * search.c: Revert previous patch due because of release.
6983
6984 2001-03-30  Ben Wing  <ben@xemacs.org>
6985
6986         * s\cygwin32.h:
6987         Add missing killpg prototype.
6988
6989         * elhash.c:
6990         Add a comment about fixing problems when a new entry is added
6991         while mapping.
6992
6993         * frame-msw.c (mswindows_init_frame_1):
6994         Fix compile warnings.
6995
6996         * menubar.c (vars_of_menubar):
6997         Provide `menu-accelerator-support' to indicate that we properly
6998         support %_ in menu specifications, so that package code can
6999         conditionalize on this (and remove %_ from menu specifications
7000         on older versions).
7001
7002         * event-msw.c:
7003         * scrollbar-msw.c:
7004         * scrollbar-msw.c (can_scroll):
7005         * scrollbar-msw.h:
7006         Fix handling of mouse wheel under Windows to follow standards --
7007         now scrolls window under pointer, not selected window.
7008
7009 2001-03-31  Mike Sperber <mike@xemacs.org>
7010
7011         * search.c (Freplace_match): Support FSF-style specification of
7012         match subexpression when applied to a buffer.
7013
7014 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7015
7016         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7017         function to modify KEYMAP, so map over a copy of the hash table.
7018
7019 2001-03-21  Martin Buchholz <martin@xemacs.org>
7020
7021         * XEmacs 21.2.46 "Urania" is released.
7022
7023 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7024
7025         * realpath.c (xrealpath): Make file-truename work with symlinks to
7026         /cygdrive paths on cygwin. Always lowercase drive-letters on
7027         native windows.
7028         (cygwin_readlink): Don't try to find canonical filename unless
7029         file exists.
7030
7031 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7032
7033         * ChangeLog: Log GTK merge.
7034
7035         * dumper.c:
7036         * select-x.c:
7037         * specifier.c:
7038         * symeval.h:
7039         Revert gratuitous whitespace changes from GTK merge.
7040
7041         * emacs.c: Document end of complex #ifdef @ l. 1495.
7042
7043
7044 2001-03-12  Andy Piper  <andy@xemacs.org>
7045
7046         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7047         have to do likewise.
7048
7049 2001-03-12  Andy Piper  <andy@xemacs.org>
7050
7051         * sysdep.c: we only support mingw now.
7052
7053 2001-03-09  Andy Piper  <andy@xemacs.org>
7054
7055         * unexcw.c (copy_executable_and_dump_data_section): making approx
7056         overrun a warning only.
7057
7058 2001-03-10  William M. Perry  <wmperry@aventail.com>
7059
7060         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7061         satisfy Stephen's identical-after-cpp plea.
7062
7063 2001-03-02  Ben Wing  <ben@xemacs.org>
7064
7065         * cmds.c:
7066         * cmds.c (Fforward_char):
7067         * syntax.c:
7068         * window.c:
7069
7070         Augment documentation of the most common motion commands to make
7071         note of the shifted-motion support.
7072         
7073 2001-03-02  Ben Wing  <ben@xemacs.org>
7074
7075         * nt.c (mswindows_fstat):
7076         * nt.c (mswindows_stat):
7077         * search.c (boyer_moore):
7078         Fix compile warnings under Windows.
7079         
7080         * sysdep.c (sys_readdir):
7081         Fix buggy filename-conversion code under Mule.
7082
7083 2001-03-09  William M. Perry  <wmperry@aventail.com>
7084
7085         * Makefile.in.in:
7086         * config.h.in:
7087         * console.c:
7088         * console.h:
7089         * device.c:
7090         * device.h:
7091         * dragdrop.c:
7092         * emacs.c:
7093         * event-stream.c:
7094         * events.c:
7095         * events.h:
7096         * faces.c:
7097         * frame.h:
7098         * general-slots.h:
7099         * glyphs.c:
7100         * gutter.c:
7101         * inline.c:
7102         * lisp.h:
7103         * lrecord.h:
7104         * make-src-depend:
7105         * redisplay-output.c:
7106         * redisplay.c:
7107         * symsinit.h:
7108         * sysfile.h:
7109         * toolbar.c:
7110         * window.c:
7111         The Great GTK Merge.
7112
7113         * ChangeLog.GTK:
7114         * console-gtk.c:
7115         * console-gtk.h:
7116         * device-gtk.c:
7117         * emacs-marshals.c:
7118         * emacs-widget-accessors.c:
7119         * event-gtk.c:
7120         * frame-gtk.c:
7121         * gccache-gtk.c:
7122         * gccache-gtk.h:
7123         * glade.c:
7124         * glyphs-gtk.c:
7125         * glyphs-gtk.h:
7126         * gtk-glue.c:
7127         * gtk-xemacs.c:
7128         * gtk-xemacs.h:
7129         * gui-gtk.c:
7130         * gui-gtk.h:
7131         * menubar-gtk.c:
7132         * native-gtk-toolbar.c:
7133         * objects-gtk.c:
7134         * objects-gtk.h:
7135         * redisplay-gtk.c:
7136         * scrollbar-gtk.c:
7137         * scrollbar-gtk.h:
7138         * select-gtk.c:
7139         * toolbar-gtk.c:
7140         * ui-byhand.c:
7141         * ui-gtk.c:
7142         * ui-gtk.h:
7143         The Great GTK Merge: new files.
7144
7145 2001-02-26  Ben Wing  <ben@xemacs.org>
7146
7147         Reapplied Lstream change.
7148
7149 2001-02-26  Ben Wing  <ben@xemacs.org>
7150
7151         Undid the last change, since it is more controversial than I
7152         thought.  It should be back in at some point soon.
7153         
7154 2001-02-25  Ben Wing  <ben@xemacs.org>
7155
7156         * buffer.c:
7157         * callproc.c (Fold_call_process_internal):
7158         * event-msw.c (ntpipe_slurp_reader):
7159         * event-msw.c (ntpipe_shove_writer):
7160         * event-msw.c (winsock_reader):
7161         * event-msw.c (winsock_writer):
7162         * file-coding.c:
7163         * file-coding.c (detect_eol_type):
7164         * file-coding.c (detect_coding_type):
7165         * file-coding.c (determine_real_coding_system):
7166         * file-coding.c (Fdetect_coding_region):
7167         * file-coding.c (decoding_reader):
7168         * file-coding.c (decoding_writer):
7169         * file-coding.c (mule_decode):
7170         * file-coding.c (Fdecode_coding_region):
7171         * file-coding.c (encoding_reader):
7172         * file-coding.c (encoding_writer):
7173         * file-coding.c (mule_encode):
7174         * file-coding.c (Fencode_coding_region):
7175         * file-coding.c (detect_coding_sjis):
7176         * file-coding.c (decode_coding_sjis):
7177         * file-coding.c (encode_coding_sjis):
7178         * file-coding.c (detect_coding_big5):
7179         * file-coding.c (decode_coding_big5):
7180         * file-coding.c (encode_coding_big5):
7181         * file-coding.c (detect_coding_ucs4):
7182         * file-coding.c (decode_coding_ucs4):
7183         * file-coding.c (encode_coding_ucs4):
7184         * file-coding.c (detect_coding_utf8):
7185         * file-coding.c (decode_coding_utf8):
7186         * file-coding.c (encode_coding_utf8):
7187         * file-coding.c (detect_coding_iso2022):
7188         * file-coding.c (decode_coding_iso2022):
7189         * file-coding.c (encode_coding_iso2022):
7190         * file-coding.c (decode_coding_no_conversion):
7191         * file-coding.c (encode_coding_no_conversion):
7192         * glyphs-x.c (write_lisp_string_to_temp_file):
7193         * gpmevent.c (tty_get_foreign_selection):
7194         * lisp.h:
7195         * lstream.c:
7196         * lstream.c (Lstream_flush_out):
7197         * lstream.c (Lstream_adding):
7198         * lstream.c (Lstream_write_1):
7199         * lstream.c (Lstream_write):
7200         * lstream.c (Lstream_raw_read):
7201         * lstream.c (Lstream_read_more):
7202         * lstream.c (Lstream_read):
7203         * lstream.c (Lstream_unread):
7204         * lstream.c (Lstream_fputc):
7205         * lstream.c (stdio_reader):
7206         * lstream.c (stdio_writer):
7207         * lstream.c (filedesc_reader):
7208         * lstream.c (filedesc_writer):
7209         * lstream.c (lisp_string_reader):
7210         * lstream.c (struct fixed_buffer_stream):
7211         * lstream.c (make_fixed_buffer_input_stream):
7212         * lstream.c (make_fixed_buffer_output_stream):
7213         * lstream.c (fixed_buffer_reader):
7214         * lstream.c (fixed_buffer_writer):
7215         * lstream.c (struct resizing_buffer_stream):
7216         * lstream.c (resizing_buffer_writer):
7217         * lstream.c (dynarr_writer):
7218         * lstream.c (lisp_buffer_reader):
7219         * lstream.c (lisp_buffer_writer):
7220         * lstream.h:
7221         * lstream.h (lstream_implementation):
7222         * lstream.h (struct lstream):
7223         * md5.c (Fmd5):
7224         * process-nt.c (nt_send_process):
7225         * process-unix.c (unix_send_process):
7226         
7227         Correct Lstream lossage due to mixing of signed and unsigned
7228         quantities.  All Lstream uses of size_t and ssize_t are now a
7229         single signed data type Lstream_data_count.  This fixes problems
7230         under Windows with sending large quantities of data to a process,
7231         and may well fix other subtle bugs.
7232
7233 2001-02-23  Martin Buchholz <martin@xemacs.org>
7234
7235         * XEmacs 21.2.45 "Thelxepeia" is released.
7236
7237 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7238
7239         * lisp-union.h (XSETINT): 
7240         (XSETCHAR):
7241         (XSETOBJ): 
7242         Reverse previous change of 2001-02-06.
7243
7244 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7245
7246         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7247         buffers.
7248         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7249         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7250         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7251         * regex.c (POS_AS_IN_BUFFER): removed
7252         * regex.c (re_search_2):
7253         * regex.c (re_match_2):
7254         Don't use an offset of 1 when calculating buffer positions, since
7255         `BI_BUF_BEGV' does it already.
7256
7257 2001-02-18  Wim Dumon  <wim@easics.be>
7258
7259         * insdel.c (prepare_to_modify_buffer): Also check for
7260         supersession when clash-detection is enabled. 
7261
7262 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7263
7264         * regex.c (re_match_2_internal):
7265         Convert temp characters from 'const unsigned char' to 're_char'.
7266         Fix crashing bug with extended characters under mule.
7267         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7268         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7269         font-lock, pdump, and new syntax-table code.
7270         * syntax.c (find_start_of_comment):
7271         (find_end_of_comment):
7272         (forward-comment):
7273         Fix crashing bugs involving moving beyond end of buffer.
7274         * syntax.c (find_start_of_comment):
7275         Fixed logic to allow proper detection of cases where the same
7276         character is used to end both a two-char comment start and a
7277         two-char comment end sequence. Fixes `(forward-comment -1)'.
7278         * syntax.c (find_start_of_comment):
7279         Return position just past last comment-end character for all cases
7280         (previously was only done for two-char comment-end sequences).
7281         * syntax.c (forward-comment):
7282         Take value returned from `find_end_of_comment', rather than
7283         incrementing it.
7284         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7285         Properly deal with BUFFERP (syntax_cache.object)
7286
7287 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7288
7289         * alloc.c (Fgarbage_collect): 
7290         * alloc.c (make_bit_vector_from_byte_vector):
7291         -Wsign-compare-correctness.
7292
7293 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7294
7295         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7296         (XSETCHAR): Likewise.
7297         (XSETOBJ): Likewise.
7298
7299 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7300
7301         * mule-canna.c (canna-func-delete_previous): 
7302         Rename to canna-func-delete-previous.
7303
7304 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7305
7306         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7307
7308 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7309
7310         * font-lock.c (find_context): Fix C++ compile errors introduced by
7311         recent patch
7312
7313 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7314
7315         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7316         pragma, but earlier ones barf on the same pragma.
7317
7318 2001-02-06  Mike Sperber <mike@xemacs.org>
7319
7320         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7321         `configure-mule-lisp-directory'.
7322
7323 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7324
7325         Make sure dump-id.c is compiled in the same way as other .c's.
7326         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7327         * dump-id.h: Remove.
7328         * emacs.c: Move dump-id.h into dumper.h.
7329         * dumper.h: Move dump-id.h into dumper.h.
7330         * Makefile.in.in:
7331         Use standard .c.o rule for building dump-id.o.
7332         Remove preprocessor flags from link command.
7333         Add dump-id.o to ${otherobjs} if PDUMP.
7334
7335 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7336
7337         Port FSF 20.7 syntax table improvements.
7338         * syntax.c.
7339         * syntax.h.
7340
7341         Fixups for new syntax table stuff.
7342         * dired.c: Include syntax.c.
7343         (Fdirectory_files): Initialize regex_match_object and
7344         regex_emacs_buffer.
7345         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7346         and Fget_char_property.
7347
7348         Use ported FSF 20.7 syntax table improvements.
7349         * font-lock.c.
7350         * regex.c.
7351         * search.c.
7352         
7353 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7354
7355         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7356         Unixware's enum boolean from sys/types.h.
7357
7358 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7359
7360         Fix support for building with latest Purify.
7361         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7362         (PURIFY_FLAGS): Likewise.
7363
7364 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7365
7366         * fileio.c (lisp_string_set_file_times): New.
7367         * fileio.c (Fcopy_file): Use it.
7368         Fixes bug:
7369         (copy-file filename non-ascii-filename t t)
7370         ==> No such file or directory, non-ascii-filename
7371
7372 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7373
7374         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7375         USHRT_MAX seems clearer than ~0 anyways.
7376
7377 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7378
7379         dumper improvements.  Inspired by Olivier.
7380         * dumper.c (pdump_max_align): New.
7381         * dumper.c (pdump_add_entry): Use pdump_max_align.
7382         * dumper.c (pdump_get_entry_list): Likewise.
7383         * dumper.c (pdump_scan_by_alignment): Likewise.
7384         Don't iterate through unnecessary alignments.
7385         * dumper.c (pdump_file_get): No need to align result of malloc().
7386         * dumper.c (pdump_mallocadr): Remove.  
7387         The result of malloc() is guaranteed to be maximally aligned.
7388         * dumper.c: s/elmt/elt/g;
7389         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7390         * dumper.c (pdump_alert_undump_object): Likewise.
7391         * dumper.c (pdump_align_table): 
7392         Don't support alignments > 64.
7393         Store ALIGNOF's, not shift counts, in table.
7394
7395 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7396
7397         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7398         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7399         * systime.h: Use HAVE_UTIME.
7400         * sysdep.c (struct utimbuf): Remove.
7401         * sysdep.c (set_file_times): Prefer utime() to utimes().
7402         * config.h.in (HAVE_UTIME): New.
7403         * config.h.in (HAVE_UTIME_H): Remove.
7404         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7405
7406 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7407
7408         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7409
7410 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7411
7412         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7413
7414 2001-02-08  Martin Buchholz <martin@xemacs.org>
7415
7416         * XEmacs 21.2.44 "Thalia" is released.
7417
7418 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7419
7420         Fixes crashes in kill-emacs on some systems.
7421         * process-unix.c (unix_kill_child_process):
7422         It's OK for kill() to fail with ESRCH.
7423
7424 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7425
7426         Contortions to make .gdbinit tricks work on most systems.
7427         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7428         * alloc.c (dbg_valmask): Make non-const.
7429         * alloc.c (dbg_typemask): Make non-const.
7430         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7431         * alloc.c (dbg_valbits): Make non-const.
7432         * alloc.c (dbg_gctypebits): Make non-const.
7433         * .gdbinit (decode_object): Make it work with AIX cc.
7434
7435 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7436
7437         * elhash.c (make_general_lisp_hash_table):
7438         Use simpler and more efficient calloc to clear entries.
7439
7440 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7441
7442         * window.c (window_scroll): Work around an AIX C compiler bug.
7443         Fixes 'scroll-up' does nothing problem with xlC.
7444
7445 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7446
7447         * .gdbinit: Remove obsolete comment.
7448
7449 2001-01-31  Mike Alexander  <mta@arbortext.com>
7450
7451         * select.c (Fown_selection_internal): Set owned_p for device
7452         method correctly.
7453
7454 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7455
7456         Port to g++ 2.97.
7457         "not" cannot be used as a macro name as it is an operator in C++
7458         * config.h.in: Stop #defining `not'.
7459         * chartab.c (check_category_char): not ==> not_p
7460         * chartab.h: Likewise.
7461         * regex.c (re_match_2_internal): Likewise.
7462
7463 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7464
7465         * lisp-disunion.h: Fix up comments.
7466
7467 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7468
7469         * keymap.c (define_key_check_and_coerce_keysym):
7470         (syms_of_keymap):
7471         Support mouse-6 and mouse-7 bindings in the obvious way.
7472
7473 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7474
7475         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7476
7477 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7478
7479         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7480         Previous patch missed DEFVAR_INT_MAGIC.
7481         Make sure future DEFVAR_foo use correct types.
7482         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7483         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7484         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7485         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7486         * (DEFVAR_INT): Likewise.
7487         * redisplay.c (vertical_clip): Should be of type Fixnum.
7488         * redisplay.c (horizontal_clip): Likewise.
7489         * lisp.h (dump_add_opaque_int): New.
7490         (dump_add_opaque_fixnum): New.
7491
7492 2001-01-29  Andy Piper  <andy@xemacs.org>
7493
7494         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7495         since they can be eval'ed
7496
7497 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7498
7499         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7500         Oops, XEmacs redefines `class'.  Use `typename' instead.
7501
7502 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7503
7504         * dumper.c: Fix C++ compile errors.
7505
7506 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7507
7508         * tparam.c: Use correct prototypes.
7509
7510 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7511
7512         * sysproc.h: #include util.h for NetBSD's openpty.
7513
7514 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7515
7516         More 64-bit correctness.
7517         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7518         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7519         Fix up comments.
7520         This finally finishes the 64-bit SGI port.
7521         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7522         * symbols.c: Fix up comments and type casts.
7523         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7524         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7525         * symeval.h (Fixnum): New type.
7526         * symeval.h (symbol_value_type): Fix up comment.
7527
7528         * commands.h:
7529         * nt.c:
7530         * emacs.c:
7531         * data.c:
7532         * redisplay.c:
7533         * abbrev.c:
7534         * dired-msw.c:
7535         * event-Xt.c:
7536         * eldap.c:
7537         * window.c:
7538         * sound.c:
7539         * event-stream.c:
7540         * eval.c:
7541         * buffer.c:
7542         * mule-canna.c: A million DEFVAR_INTs here...
7543         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7544         * extents.c:
7545         * cmdloop.c:
7546         * lisp.h:
7547         * select-x.c:
7548         * console-x.h:
7549         * event-msw.c:
7550         * mule-wnnfns.c:
7551         * hpplay.c:
7552         * ralloc.c:
7553         * alloc.c:
7554         * keymap.c:
7555         * profile.c:
7556         s/int/Fixnum/g in DEFVAR_INT declarations.
7557
7558 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7559
7560         Port pdump to SGI alignment-sensitive environment.
7561         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7562         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7563         properly aligned.
7564         Define and use aligned reading and writing macros.
7565         Use buffered stdio instead of posix i/o for faster dumping.
7566         Eliminate kludgy 256 byte space for header.
7567         Read and write from dump file using structs for alignment safety.
7568         * dumper.c (pdump_align_stream): New.
7569         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7570         * dumper.c (PDUMP_READ_ALIGNED): New.
7571         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7572         * dumper.c (pdump_static_Lisp_Object): New struct.
7573         * dumper.c (pdump_static_pointer): New struct.
7574         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7575         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7576         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7577         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7578
7579         * dumper.c (pdump_backtrace):
7580         * dumper.c (pdump_get_indirect_count):
7581         * dumper.c (pdump_register_object):
7582         * dumper.c (pdump_register_struct):
7583         * dumper.c (pdump_reloc_one):
7584         * dumper.c (pdump_scan_by_alignment):
7585         * dumper.c (pdump_dump_from_root_struct_ptrs):
7586         * dumper.c (pdump_dump_opaques):
7587         * dumper.c (pdump_dump_rtables):
7588         * dumper.c (pdump_dump_from_root_objects):
7589         * dumper.c (pdump):
7590         * dumper.c (pdump_load_finish):
7591         Use aligned reading and writing.
7592
7593         * dumper.c (pdump_free): Make static.
7594         * dumper.c (pdump_hFile): Likewise.
7595         * dumper.c (pdump_hMap): Likewise.
7596
7597 2001-01-26  Martin Buchholz <martin@xemacs.org>
7598
7599         * XEmacs 21.2.43 "Terspichore" is released.
7600
7601 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7602
7603         Type fiddling for window_config.saved_windows_count
7604         * window.c (struct window_config): 
7605         Make saved_windows_count member unsigned.
7606         * window.c (sizeof_window_config_for_n_windows): 
7607         Make parameter unsigned.
7608         * window.c (mark_window_config):
7609         * window.c (window_config_equal):
7610         * window.c (free_window_configuration):
7611         * window.c (Fset_window_configuration):
7612         * window.c (count_windows):
7613         * window.c (Fcurrent_window_configuration):
7614         * window.c (reinit_vars_of_window):
7615         Update all callers and users.
7616
7617 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7618
7619         Alignment correctness for flexible arrays.
7620         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7621         Make alignment-correct. Add interesting comments.
7622         * alloc.c (size_vector):
7623         * alloc.c (make_vector_internal):
7624         * alloc.c (make_bit_vector_internal):
7625         * alloc.c (sweep_bit_vectors_1):
7626         * fns.c (size_bit_vector):
7627         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7628         * window.c (sizeof_window_config_for_n_windows): 
7629         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7630
7631 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7632
7633         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7634
7635 2001-01-23  Andy Piper  <andy@xemacs.org>
7636
7637         * select.c (Fown_selection_internal): pass owned_p
7638
7639         * select-msw.c (mswindows_own_selection): New Signature.
7640
7641         * console.h (struct console_methods): add owned_p to
7642         _own_selection.
7643
7644         * select-x.c (x_own_selection): pass owned_p
7645         (hack_motif_clipboard_selection): use owned_p
7646         (vars_of_select_x): new variable -
7647         x_selection_strict_motif_ownership.
7648
7649 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7650
7651         * specifier.h (specifier_data_offset): Remove pointless parens.
7652         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7653
7654 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7655
7656         Make Lisp_Object sizeof methods be alignment-correct.
7657         pdump must restore objects to the same alignment as the C compiler
7658         assumes.  It really matters on SGIs.
7659         * lstream.c (aligned_sizeof_lstream): New.
7660         (sizeof_lstream): Use aligned_sizeof_lstream.
7661         (Lstream_new): Likewise.
7662         * opaque.c (aligned_sizeof_opaque): New.
7663         (sizeof_opaque): Use aligned_sizeof_opaque.
7664         (make_opaque): Likewise.
7665         * specifier.c (aligned_sizeof_specifier): New.
7666         (sizeof_specifier): Use aligned_sizeof_specifier.
7667         (make_specifier_internal): Likewise.
7668
7669 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7670
7671         * lstream.h (struct lstream): Use max_align_t for trailing data.
7672         * specifier.h (struct Lisp_Specifier): Likewise.
7673
7674 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7675
7676         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7677         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7678         (CCL_SUSPEND): Likewise.
7679         (CCL_INVALID_CMD): Likewise.
7680         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7681         (ccl_driver): Likewise.
7682         (CCL_WRITE_CHAR): Macro hygiene.
7683         (CCL_WRITE_STRING): Macro hygiene.
7684
7685 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7686
7687         Port "portable" dumper to SunOS 4 and HP-UX.
7688         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7689         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7690         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7691
7692 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7693
7694         * lisp.h (ALIGNOF): A better definition for C++.
7695
7696 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7697
7698         Macro hygiene.
7699         Fix printf warnings: int format, long int arg.
7700         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7701         (PUSH_FAILURE_POINT): Use correct printf formats.
7702         (POP_FAILURE_POINT): Use correct printf formats.  
7703         Use do {...} while (0)
7704
7705 2001-01-20  Martin Buchholz <martin@xemacs.org>
7706
7707         * XEmacs 21.2.42 "Poseidon" is released.
7708
7709 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7710
7711         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7712
7713 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7714
7715         De-kludgify FIXED_TYPE free list frobbing.
7716         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
7717         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
7718         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
7719         * alloc.c (Lisp_Free): New pseudo lisp object definition.
7720         * alloc.c (LRECORD_FREE_P): New.
7721         * alloc.c (MARK_LRECORD_AS_FREE): New.
7722         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
7723         * alloc.c (STRUCT_FREE_P): Deleted.
7724         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
7725         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
7726         * alloc.c (STRING_CHARS_FREE_P): New.
7727         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
7728         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
7729         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
7730         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
7731         * alloc.c (resize_string): Use new definitions.
7732         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
7733         * alloc.c (verify_string_chars_integrity): Use new definitions.
7734         * alloc.c (compact_string_chars): Use new definitions.
7735         * alloc.c: Update monster comments.
7736         * lrecord.h (lrecord_type): Add some new lrecord types for
7737         alloc.c's use.
7738
7739 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7740
7741         Improve alignment hackery.
7742         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
7743         (max_align_t): Moved from opaque.h - general purpose.
7744         (ALIGN_PTR): Use size_t, not long.
7745         * opaque.h (max_align_t): Move to lisp.h.
7746
7747 2001-01-18  Norbert Koch  <nk@LF.net>
7748
7749         * gui.h: Fix and add prototypes to fix build problems.
7750
7751 2001-01-18  Martin Buchholz  <martin@xemacs.org>
7752
7753         temacs is going away, so `dump-temacs' is now a bad name.
7754         * .dbxrc (dump-temacs): Rename to `dmp'.
7755         * .gdbinit (dump-temacs): Rename to `dmp'.
7756
7757 2001-01-17  Andy Piper  <andy@xemacs.org>
7758
7759         * glyphs.c (print_image_instance): comment to make martin happy.
7760
7761         * glyphs-x.c (x_redisplay_widget): update faces after a frame
7762         change.
7763
7764         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
7765         activation.
7766         (mswindows_tab_control_redisplay): warning suppression.
7767
7768         * glyphs-widget.c (widget_update): re-write to cope with updated
7769         items.
7770         (widget_instantiate): use new gui_item functions.
7771         (tab_control_update): deleted.
7772         (progress_gauge_update): deleted.
7773         (image_instantiator_progress_guage): take out update reference.
7774         (image_instantiator_tree_view): ditto.
7775         (image_instantiator_tab_control): ditto.
7776
7777         * gui.c (widget_gui_parse_item_keywords): new function. Do things
7778         Right the new way.
7779         (gui_item_add_keyval_pair): re-write to cope with descriptors and
7780         return whether anything was changed.
7781         (update_gui_item_keywords): as it sounds.
7782
7783         * gui.h: declare widget_gui_parse_item_keywords.
7784
7785         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
7786         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
7787
7788 2001-01-17  Martin Buchholz <martin@xemacs.org>
7789
7790         * XEmacs 21.2.41 "Polyhymnia" is released.
7791
7792 2001-01-16  Didier Verna  <didier@xemacs.org>
7793
7794         * glyphs.c (image_instantiate): don't use fallbacks when
7795         instantiating a face's background pixmap by inheritance.
7796
7797 2001-01-14  Mike Sperber <mike@xemacs.org>
7798
7799         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
7800         Conditionalize accordingly.
7801
7802 2001-01-16  Martin Buchholz  <martin@xemacs.org>
7803
7804         * dumper.c (pdump_file_get): Fix a compiler warning.
7805
7806 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7807
7808         Make Purify happy when pdumping.
7809         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
7810         iniitalizing all bits of new lisp object memory.
7811         * symbols.c (Fmake_local_variable): Likewise.
7812         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
7813         * symbols.c (Fdefvaralias): Likewise.
7814         * mule-charset.c (vars_of_mule_charset): Likewise.
7815
7816 2001-01-15  Martin Buchholz  <martin@xemacs.org>
7817         Add the `-nd' flag when running pre-dump operations under the debugger.
7818         * .dbxrc (run-temacs): Add `-nd'.
7819         * .dbxrc (update-elc): Likewise.
7820         * .dbxrc (dump-temacs): Likewise.
7821         * .gdbinit (run-temacs): Likewise.
7822         * .gdbinit (check-temacs): Likewise.
7823         * .gdbinit (update-elc): Likewise.
7824         * .gdbinit (dump-temacs): Likewise.
7825
7826 2001-01-14  Martin Buchholz  <martin@xemacs.org>
7827
7828         Allow building 64-bit executables on AIX with GNU malloc, e.g.
7829         export OBJECT_MODE=64
7830         configure --pdump --use-union-type=no
7831         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
7832         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
7833
7834         * miscplay.c (sndcnv8U_2mono):
7835         Avoid two uses of `++' in the same expression.
7836         Suppresses a GCC warning.
7837
7838 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7839
7840         Make sure future compilers don't miscompile alloc.c.
7841         * alloc.c:
7842         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
7843         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
7844
7845 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7846
7847         * dumper.c: A little post-pdump-rename comment fixup.
7848
7849 2001-01-09  Jerry James  <james@eecs.ku.edu>
7850
7851         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
7852
7853 2001-01-13  Martin Buchholz  <martin@xemacs.org>
7854
7855         * *.[ch]: Globally rename symbols using the following `pdump-rename'
7856         script:
7857         #!/bin/sh
7858         replace_symbol () {
7859           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
7860         }
7861
7862         replace_symbol pdump_wire_lists pdump_weak_object_chains
7863         replace_symbol pdump_wire_list dump_add_weak_object_chain
7864
7865         replace_symbol pdump_wires pdump_root_objects
7866         replace_symbol pdump_wire dump_add_root_object
7867
7868         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
7869         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
7870
7871         replace_symbol dumpstructinfos pdump_root_struct_ptrs
7872         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
7873         replace_symbol dumpstructinfo pdump_root_struct_ptr
7874         replace_symbol dumpstruct dump_add_root_struct_ptr
7875
7876         replace_symbol dumpopaque dump_add_opaque
7877         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
7878         replace_symbol dumpopaqueinfos pdump_opaques
7879         replace_symbol dumpopaqueinfo pdump_opaque
7880
7881         replace_symbol nb_structdump nb_root_struct_ptrs
7882         replace_symbol nb_opaquedump nb_opaques
7883
7884         replace_symbol align_table pdump_align_table
7885         replace_symbol dump_header pdump_header
7886
7887         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
7888         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
7889
7890
7891 2001-01-12  Martin Buchholz  <martin@xemacs.org>
7892
7893         * s/aix4.h: Keep the C for AIX compiler from overaggressively
7894         optimizing bytecount_to_charcount().
7895
7896 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7897
7898         * config.h.in:
7899         (HAVE_DLFCN_H): Removed.
7900         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
7901
7902 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7903
7904         Portable dumper maintainability improvements.
7905         * alloc.c (staticpro):
7906         * alloc.c (staticpro_nodump):
7907         * alloc.c (garbage_collect_1):
7908         * alloc.c (reinit_alloc_once_early):
7909         * alloc.c (init_alloc_once_early):
7910         * alloc.c: Move dumper functions to alloc.c.
7911         * dumper.c (pdump_backtrace):
7912         * dumper.c (pdump_dump_structs):
7913         * dumper.c (pdump_dump_opaques):
7914         * dumper.c (pdump_dump_rtables):
7915         * dumper.c (pdump_dump_wired):
7916         * dumper.c (pdump):
7917         * dumper.c (pdump_load_check):
7918         * dumper.c (pdump_load_finish):
7919         * dumper.c (pdump_file_unmap):
7920         * dumper.c (pdump_file_get):
7921         * dumper.c (pdump_resource_free):
7922         * dumper.c (pdump_resource_get):
7923         * dumper.c (pdump_file_free):
7924         * dumper.c (pdump_file_try):
7925         * dumper.c (pdump_load):
7926         Remove fixed size limits on staticpro(), staticpro_nodump(),
7927         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
7928         Remove custom code for dumping lrecord_implementations_table - use
7929         dumpopaque instead.
7930         Remove (most of the) custom code for dumping staticpros - dump it
7931         like any other dynarr.
7932
7933         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
7934         * dumper.c: Moved functions from alloc.c.
7935         * alloc.c (dumpstruct): Moved to dumper.c.
7936         * alloc.c (dumpopaque): Likewise.
7937         * alloc.c (pdump_wire): Likewise.
7938         * alloc.c (pdump_wire_list): Likewise.
7939
7940         * lisp.h (Dynarr_sizeof): New.
7941         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
7942         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
7943         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
7944
7945         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
7946         * lisp.h (dumpopaque): ditto.
7947         * lisp.h (pdump_wire): ditto.
7948         * lisp.h (pdump_wire_list): ditto.
7949
7950 2001-01-09  Martin Buchholz  <martin@xemacs.org>
7951
7952         * make-src-depend (PrintPatternDeps):
7953         Use `sort' to make output independent of perl version.
7954
7955 2001-01-08  Martin Buchholz  <martin@xemacs.org>
7956
7957         Port to Netbsd 1.5.
7958         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
7959         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
7960
7961 2001-01-03  Didier Verna  <didier@xemacs.org>
7962
7963         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
7964         that `focus_frame' is alive before thinking of calling
7965         `redisplay_redraw_cursor' on it.
7966
7967 2001-01-08  Martin Buchholz <martin@xemacs.org>
7968
7969         * XEmacs 21.2.40 is released.
7970
7971 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
7972
7973         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
7974
7975 2001-01-06  Martin Buchholz  <martin@xemacs.org>
7976
7977         * alloc.c (dbg_valmask): Make const.
7978         * alloc.c (dbg_typemask): Make const.
7979         * alloc.c (dbg_USE_UNION_TYPE): Make const.
7980         * alloc.c (dbg_valbits): Make const.
7981         * alloc.c (dbg_gctypebits): Make const.
7982
7983 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
7984
7985         * redisplay-x.c (x_bevel_area):
7986         redisplay.h (struct rune):
7987         Typo fixes in comments.
7988
7989 2001-01-05  Andy Piper  <andy@xemacs.org>
7990
7991         * glyphs-x.c (x_redisplay_widget): use size changed for offset
7992         adjustment.
7993
7994         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
7995
7996 2001-01-05  Martin Buchholz  <martin@xemacs.org>
7997
7998         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
7999
8000         * mule-ccl.c (stack_idx_of_map_multiple):
8001         Non const global data must not be initialized!
8002         Found by MIYASHITA Hisashi.
8003
8004 2001-01-02  Andy Piper  <andy@xemacs.org>
8005
8006         * frame.c (change_frame_size): make sure frame size is always
8007         marked as changed.
8008
8009         * glyphs.c (image_instance_layout): minor code reuse.
8010
8011         * window.c (Fcurrent_window_configuration): revert previous
8012         change.
8013
8014 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8015
8016         * glyphs.h:
8017         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8018
8019 2000-12-31  Andy Piper  <andy@xemacs.org>
8020
8021         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8022         when widget gets unmapped.
8023
8024         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8025         function. Make sure widgets losing focus don't just drop it.
8026         (handle_focus_event_1): record the widget with focus.
8027
8028 2000-12-31  Andy Piper  <andy@xemacs.org>
8029
8030         * window.c (allocate_window): use
8031         make_image_instance_cache_hash_table.
8032         (make_dummy_parent): ditto.
8033         (Fset_window_configuration): ditto.
8034
8035         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8036
8037         * glyphs.c (process_image_string_instantiator): use
8038         INSTANTIATOR_TYPE.
8039         (get_image_instantiator_governing_domain): ditto.
8040         (normalize_image_instantiator): ditto.
8041         (instantiate_image_instantiator): ditto.
8042         (make_image_instance_1): ditto.
8043         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8044         (instantiator_eq_equal): new function for use with instance hash
8045         tables.
8046         (instantiator_eq_hash): ditto.
8047         (make_image_instance_cache_hash_table): create a suitable hash
8048         table for storing image instances.
8049
8050         * elhash.h (hash_table_weakness): new internal weakness type
8051         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8052         declare new functions.
8053
8054         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8055         another weakness type for glyphs.
8056         (make_standard_lisp_hash_table): new function split out from
8057         make_general_lisp_hash_table.
8058         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8059         (hash_table_instantiate): ditto.
8060         (Fmake_hash_table): ditto.
8061
8062 2000-12-31  Martin Buchholz <martin@xemacs.org>
8063
8064         * XEmacs 21.2.39 is released.
8065
8066 2000-12-29  Andy Piper  <andy@xemacs.org>
8067
8068         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8069
8070         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8071         the frame has changed so that we pick up geometry changes such as
8072         menubar visibility.
8073
8074 2000-12-28  Andy Piper  <andy@xemacs.org>
8075
8076         * lastfile.c (my_ebss): make a char array so we can pad the
8077         bss. Fixes cygwin unexec.
8078
8079         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8080
8081 2000-12-26  Andy Piper  <andy@xemacs.org>
8082
8083         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8084         comments and try and be more precise about a non-/SIGIO world.
8085         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8086         SIGIO.
8087
8088         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8089         we don't normalize to zero width or height.
8090
8091 2000-12-24  Andy Piper  <andy@xemacs.org>
8092
8093         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8094
8095 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8096
8097         * s/sco5.h: SCO 5 has pty support.
8098
8099 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8100
8101         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8102         input-method-xlib.c contains whole contents of input-method-xfs.c,
8103         so we can use input-method-xlib.c's code for USE_XFONTSET
8104         using #ifdefs.
8105         * input-method-xfs.c: removed.
8106
8107 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8108
8109         * file-coding.h (enum coding_category_type): reorder enumerators to
8110         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8111         (now one greater than largest real coding_category_type enumerator).
8112         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8113         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8114         Fcoding_category_list, Fset_coding_priority_list,
8115         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8116         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8117
8118 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8119
8120         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8121         * redisplay-output.c (redisplay_output_window): Clear top of window
8122         when face is changed.
8123         * redisplay-x.c (x_redraw_exposed_window): Call
8124         redisplay_clear_top_of_window.
8125         * redisplay.h: Publish redisplay_clear_top_of_window.
8126
8127 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8128
8129         * buffer.c (Fkill_buffer): Map over all devices.
8130         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8131         (list_windows): New function.
8132         (list_all_windows): Ditto.
8133         (Freplace_buffer_in_windows): Use them.
8134
8135 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8136
8137         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8138         (Fopen_database): Use `db_create' instead of `db_open'.
8139         (syms_of_database): Initialize Qqueue.
8140
8141 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8142
8143         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8144         buffer_local_face_property.
8145         * buffer.h (struct buffer): New member buffer_local_face_property.
8146         * window.c (Fset_window_buffer):  Mark window's face as changed
8147         when buffer has buffer local face.
8148         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8149         * objects.c (color_after_change): Set buffer_local_face_property
8150         when locale of face specifier is buffer.
8151         * objects.c (font_after_change): Ditto.
8152         * objects.c (face_boolean_after_change): Ditto.
8153         * glyphs.c (image_after_change): Ditto.
8154
8155 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8156
8157         * nt.c (mswindows_fstat): Report file permissions, volume serial
8158         number, etc. Code adapted from FSF Emacs 20.7.
8159
8160 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8161
8162         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8163         of stat when we don't have symbolic links, to make sure
8164         mswindows_stat is called on mswindows.
8165
8166 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8167
8168         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8169
8170 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8171
8172         * doprnt.c (emacs_doprnt_1): More printing fixes.
8173         Make printing of numbers compatible with libc and FSF Emacs.
8174         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8175         Use the system printf to do most of the hard work of formatting,
8176         instead of doprnt_1().
8177         Calculate memory to allocate for format string.
8178         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8179         (doprnt_1): Cleaner code and documentation.
8180
8181 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8182
8183         * Makefile.in.in: Use the loop variable to install headers.
8184
8185 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8186
8187         * window.c (Fsplit_window): Don't invalidate face cache.
8188
8189 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8190
8191         * minibuf.c (Fall_completions): Undo the previous change
8192         which removed checking elements start with space.
8193
8194 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8195
8196         * mule-canna.c: Didier suppression.
8197
8198 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8199
8200         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8201         (warning suppression).  Add English comment translations.
8202
8203 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8204
8205         * unexelfsgi.c (unexec): Better test for mmap failure.
8206
8207 2000-12-05  Martin Buchholz <martin@xemacs.org>
8208
8209         * XEmacs 21.2.38 is released.
8210
8211 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8212
8213         * redisplay.c (bar-cursor): Make a user variable.
8214
8215         * symsinit.h: Add init_postgresql_from_environment.
8216
8217 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8218
8219         * regex.c: Convert to clean C.
8220
8221 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8222
8223         * realpath.c:
8224         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8225         initialization.
8226         (sys_readlink): renamed to system_readlink to avoid conflict with
8227         the other sys_readlink.
8228
8229 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8230
8231         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8232
8233 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8234
8235         * postgresql.c (init_postgresql_from_environment): new function.
8236         (vars_of_postgresql): Move code initializing Lisp variables out and
8237         into init_postgresql_from_environment.
8238         emacs.c (main_1): Call init_postgresql_from_environment if and only
8239         if running a dumped XEmacs.
8240
8241 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8242
8243         * buffer.c: Make find-file-compare-truenames default to true on
8244         windows.
8245
8246         * realpath.c (win32_abs_start):
8247         (cygwin_readlink):
8248         (win32_readlink): New functions.
8249         (xrealpath): Return really real filenames on windows.
8250
8251         * fileio.c (Ffile_truename): Make file-truename work on windows.
8252
8253 2000-11-29  Didier Verna  <didier@xemacs.org>
8254
8255         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8256         * faces.c (update_face_cachel_data): use it.
8257         * faces.c (add_face_cachel): use it. Complete background pixmap
8258         frobbing in face cache if `update_face_cachel_data' has not done so.
8259
8260 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8261
8262         * search.c (string_match_1): Don't set last_thing_searched
8263         when search failed.
8264
8265 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8266
8267         * buffer.c: Include casetab.h
8268         (common_init_complex_vars_of_buffer): Use new case-table object.
8269         * buffer.h: Include casetab.h
8270         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8271         (DOWNCASE_TABLE_OF): Ditto.
8272         * bufslots.h: Remove char-tables and add case-table.
8273         * casetab.c: Include casetab.h
8274         (CASE_TABLE_P): Removed.
8275         (mark_case_table): New function.
8276         (allocate_case_table): New function.
8277         (Fcase_table_p): Use new case-table.
8278         (case_table_char): New function.
8279         (Fget_case_table): Ditto.
8280         (Fput_case_table): Ditto.
8281         (Fput_case_table_pair): Ditto.
8282         (Fcopy_case_table): Ditto.
8283         (Fcurrent_case_table): Return case-table.
8284         (Fstandard_case_table): Return case-table.
8285         (Fset_case_table): Fix doc-string.
8286         (set_case_table): Use case-table
8287         (syms_of_casetab): DEFSUBR new functions.
8288         (complex_vars_of_casetab): Set up standard case-table.
8289         * casetab.h: New file.
8290         * editfns.c: Include casetab.h
8291         (Fcompare_buffer_substrings): Use case-table.
8292         * inline.c: Include casetab.h
8293         * lisp.h: Remove bogus extern.
8294         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8295         * search.c: Include casetab.h
8296         (TRANSLATE_ASCII): Removed.
8297         (TRANSLATE): Unconditionally translate character.
8298         (looking_at_1): Use case-table.
8299         (string_match_1): Ditto.
8300         (fast_string_match): Ditto.
8301         (search_command): Ditto.
8302         (search_buffer): Separate boyer_moore.  Check whether
8303         boyer_moore is possible.
8304         (simple_search): New function.
8305         (boyer_moore): Separated from search_buffer. Translate char.
8306
8307 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8308
8309         * regex.c (RE_TR_ASCII): Removed.
8310         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8311         (PATFETCH): Call PATFETCH_RAW.
8312         (PATFETCH_RAW): Fetch Emchar.
8313         (PATUNFETCH): Decrement charptr.
8314         (GET_BUFFER_SPACE): Rename b to buf_end.
8315         (BUF_PUSH): Ditto.
8316         (BUF_PUSH_2): Ditto.
8317         (BUF_PUSH_3): Ditto.
8318         (EXTEND_BUFFER): Ditto.
8319         (SET_LIST_BIT): Ditto.
8320         (regex_compile): Ditto.  Translate non ASCII char.
8321         (compile_range): Ditto.
8322         (re_search_2): Ditto.
8323         (re_match_2_internal): Compare Emchar.
8324         (bcmp_translate): Ditto.
8325
8326 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8327
8328         * lisp.h (basic char/int typedefs):  comment improvement.
8329
8330 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8331
8332         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8333         unstomp inhibit_site_lisp.  Improve comments.
8334
8335 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8336
8337         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8338
8339 2000-11-28  Andy Piper  <andy@xemacs.org>
8340
8341         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8342         clipped display for windows in the gutter also.
8343         (redisplay_display_boxes_in_window_p): change semantics of return
8344         codes to be more intuitive.
8345
8346         * gutter.h: declare display_boxes_in_gutter_p.
8347
8348         * gutter.c (display_boxes_in_gutter_p): new function for
8349         redisplay.
8350
8351 2000-11-22  Andy Piper  <andy@xemacs.org>
8352
8353         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8354         autodetect domain.
8355
8356 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8357
8358         * callproc.c (Fold_call_process_internal):
8359         * gpm.c (Freceive_gpm_event):
8360         (tty_get_foreign_selection): Might be just warning supression.
8361         * fileio.c (Fwrite_region_internal):
8362         (Fset_visited_file_modtime):
8363         * keymap.c (event_matches_key_specifier_p):
8364         Initialize GCPROed variable.
8365
8366         * menubar-x.c (command_builder_find_menu_accelerator):
8367         Initialize before use.
8368
8369 2000-11-23  Andy Piper  <andy@xemacs.org>
8370
8371         * unexcw.c (unexec): make the resulting executable executable.
8372
8373 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8374
8375         * doc.c (get_doc_string):
8376         Use size_t, not int, for result of XSTRING_LENGTH.
8377
8378         * cmds.c (Fdelete_char):
8379         * cmds.c (Fpoint_at_eol):
8380         * cmds.c (Fself_insert_command):
8381         Use EMACS_INT, not int, for result of XINT.
8382         Someday, someone will want to insert more than 2**31 identical characters.
8383
8384         * cmds.c (Fdelete_char):
8385         * cmds.c (Fdelete_backward_char):
8386         * syntax.c (Fforward_word):
8387         * syntax.c (Fforward_comment):
8388         Make COUNT argument optional, for consistency with forward-char et al.
8389
8390 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8391
8392         * lisp.h:
8393         * print.c (long_to_string):
8394         Return a useful value: the pointer at end of data written.
8395
8396         * doprnt.c:
8397         Use `static const char * const' for constant strings.
8398         (union printf_arg): Delete `i', `ui' members.
8399         (get_doprnt_args):
8400         (emacs_doprnt_1):
8401         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8402         Do all printf-ing via the `l' specifier.
8403         Use EMACS_INT instead of int.
8404         Optimize.
8405
8406 2000-11-20  Didier Verna  <didier@xemacs.org>
8407
8408         * faces.c (update_face_cachel_data): don't frob the background
8409         pixmap when the window is being created. The face is needed but
8410         does not exist yet.
8411
8412 2000-11-20  Andy Piper  <andy@xemacs.org>
8413
8414         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8415         messing with a debug environment.
8416
8417 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8418
8419         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8420
8421 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8422
8423         * casetab.c (Fcase_table_p): Fix compile error and crash.
8424
8425 2000-11-18  Philip Aston  <philipa@mail.com>
8426
8427         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8428
8429 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8430
8431         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8432         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8433
8434 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8435
8436         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8437         * unexelf.c: Use HAVE_ELF_H.
8438         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8439         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8440         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8441         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8442         for testing.
8443         So this is an unexelfsgi.c from a different line of development.
8444
8445 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8446
8447         * regex.c (RE_TR_ASCII): New function.
8448         (RE_TRANSLATE): Call it.
8449
8450 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8451
8452         * buffer.h (TRT_TABLE_OF): Remove assert.
8453         (IN_TRT_TABLE_DOMAIN): Removed.
8454
8455 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8456
8457         * free-hook.c (log_gcpro):
8458         (show_gcprohist): Add support for GCPRO5.
8459
8460 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8461
8462         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8463
8464 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8465
8466         * symeval.h: Declare flush_all_buffer_local_cache.
8467
8468         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8469         (flush_buffer_local_cache): Added.
8470         (flush_all_buffer_local_cache): Added.
8471
8472         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8473
8474         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8475         (pdump_dump_data): Ditto.
8476         (pdump_reloc_one): Ditto.
8477         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8478         before dumping.
8479
8480
8481 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8482
8483         * buffer.c: Remove if 0'ed entry.
8484         * buffer.h: Rewrite TRT to use char-table.
8485         * bufslots.h: Remove mirror tables.
8486         * casetab.c: Remove mirror tables.
8487         (CASE_TABLE_P): New macro.
8488         (Fcase_table_p): Element of a case table is string or char-table.
8489         (make_mirror_trt_table): Removed.
8490         (set_case_table): Setup char-table from strings for backward
8491         compatibility.
8492         * dired.c (Fdirectory_files):
8493         * dired-msw.c: (mswindows_get_files):
8494         * lisp.h: Change prototype of re_pattern_buffer.
8495         * regex.c: (RE_TRANSLATE): New macro.
8496         (TRANSLATE_P): Ditto.
8497         Change translate to type RE_TRANSLATE_TYPE.
8498         * regex.h: Define RE_TRANSLATE_TYPE
8499         * search.c (TRANSLATE): New macro.
8500         (TRANSLATE_ASCII): New macro.
8501         Translate table is changed to Lisp_Object.
8502         (signal_failure): Inhibit return.
8503
8504 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8505
8506         * device-msw.c:
8507         * eldap.c:
8508         * event-Xt.c:
8509         * event-stream.c:
8510         * print.c:
8511         Do UNGCPRO before return.
8512
8513 2000-11-14  Martin Buchholz <martin@xemacs.org>
8514
8515         * XEmacs 21.2.37 is released.
8516
8517 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8518
8519         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8520         Add comments about discarded return value.
8521
8522 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8523
8524         * callint.c:
8525         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8526
8527 2000-10-27  Andy Piper  <andy@xemacs.org>
8528
8529         * gutter.c (Fset_default_gutter_position): default left and right
8530         gutters to visible.
8531         (calculate_gutter_size): calculate resonable heuristic for left
8532         and right gutter sizes.
8533         (specifier_vars_of_gutter): change left and right gutter sizes to
8534         autodetect.
8535         (calculate_gutter_size_from_display_lines): new function.
8536         (output_gutter): check for resizing on left and right gutters.
8537         (clear_gutter): don't special case top and left gutters.
8538         (specifier_vars_of_gutter): use new signature for
8539         set_specifier_caching.
8540
8541         * glyphs-x.c (x_redisplay_widget): spelling fix.
8542         * glyphs.c (specifier_vars_of_glyphs):
8543         * menubar.c (specifier_vars_of_menubar):
8544         * redisplay.c (specifier_vars_of_redisplay):
8545         * toolbar.c (specifier_vars_of_toolbar):
8546         * window.c (specifier_vars_of_window):
8547         * scrollbar.c (specifier_vars_of_scrollbar):
8548         (complex_vars_of_scrollbar): use new signature for
8549         set_specifier_caching.
8550
8551         * specifier.c (set_specifier_caching): include recompute flag.
8552         (recompute_one_cached_specifier_in_window): always recompute if
8553         flag set.
8554         (recompute_one_cached_specifier_in_frame): ditto.
8555
8556         * specifier.h (struct specifier_caching): add recompute flag.
8557
8558 2000-10-24  Andy Piper  <andy@xemacs.org>
8559
8560         * unexcw.c (copy_executable_and_dump_data_section): add new
8561         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8562         5.0 happy.
8563
8564 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8565
8566         * console-x.h (x_device): New member modifier_release_time.
8567         * event-Xt.c (x_handle_sticky_modifiers):
8568         Bound interval modifier keys are sticky.
8569         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8570         * events.h: extern it.
8571
8572 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8573
8574         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8575
8576 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8577
8578         * event-stream.c (execute_command_event): Preserve current_events
8579         and the like when event is misc-user-event.
8580         Inhibit quit during the call to maybe_echo_keys.
8581
8582 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8583
8584         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8585         symlink when buffer is killed.
8586         (inhibit_clash_detection): New variable.
8587
8588 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8589
8590         * console.c (Fset_input_method): Trigger redisplay on tty.
8591
8592 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8593
8594         * process.c (Fprocess_status): Revert to previous behavior:
8595         (process-status "nosuchprocess") ==> nil
8596
8597 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8598
8599         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8600         Work around another GCC 2.95.2 optimizer bug.
8601
8602 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8603
8604         * process.c (Fget_process): Use LIST_LOOP_2.
8605         (kill_buffer_processes): Use LIST_LOOP_2.
8606
8607         * minibuf.c (Fall_completions):
8608         Delete old non-functional code for FSF fourth argument.
8609
8610         * frame.c (frame_matches_frame_spec):
8611         Renamed from `frame_matches_frametype'.  Update all callers.
8612         (device_matches_device_spec):
8613         Renamed from 'device_matches_console_spec'.  Update all callers.
8614
8615         * doc.c (Fsubstitute_command_keys):
8616         Remove buffer overflow crash.  Small code cleanups.
8617
8618         * casetab.c (check_case_table): Simpler code.
8619
8620         * window.c (Freplace_buffer_in_windows):
8621         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8622         (and similar implementation) as Fdelete_windows_on.
8623         Update all callers.
8624
8625         * alloc.c (Fmake_list):
8626         * alloc.c (make_vector):
8627         * alloc.c (Fmake_vector):
8628         * alloc.c (make_bit_vector):
8629         * alloc.c (Fmake_bit_vector):
8630         * alloc.c (Fbit_vector):
8631         * alloc.c (Fmake_string):
8632         * alloc.c (Fpurecopy):
8633         * alloc.c (Fmemory_limit):
8634         * buffer.c:
8635         * buffer.c (Fget_buffer):
8636         * buffer.c (Fkill_buffer):
8637         * buffer.c (complex_vars_of_buffer):
8638         * bytecode.c (Fcompiled_function_stack_depth):
8639         * callint.c (Fprefix_numeric_value):
8640         * event-stream.c:
8641         * event-stream.c (Fread_key_sequence):
8642         * casetab.c:
8643         * casetab.c (Fcase_table_p):
8644         * casetab.c (check_case_table):
8645         * casetab.c (Fset_case_table):
8646         * casetab.c (Fset_standard_case_table):
8647         * chartab.c:
8648         * chartab.c (Fchar_table_type):
8649         * chartab.c (Freset_char_table):
8650         * chartab.c (Fget_char_table):
8651         * chartab.c (Fget_range_char_table):
8652         * chartab.c (Fput_char_table):
8653         * chartab.c (Fmap_char_table):
8654         * chartab.c (Fcategory_table_p):
8655         * chartab.c (Fcheck_category_at):
8656         * chartab.c (Fchar_in_category_p):
8657         * chartab.c (Fcategory_table):
8658         * chartab.c (Fcopy_category_table):
8659         * chartab.c (Fset_category_table):
8660         * chartab.c (Fcategory_designator_p):
8661         * chartab.c (Fcategory_table_value_p):
8662         * cmds.c (Fdelete_char):
8663         * cmds.c (Fdelete_backward_char):
8664         * cmds.c (Fself_insert_command):
8665         * cmds.c (Fself_insert_internal):
8666         * console.c (Fvalid_console_type_p):
8667         * console.c (Fcdfw_console):
8668         * console.c (Fconsole_type):
8669         * console.c (Fconsole_name):
8670         * console.c (Fconsole_device_list):
8671         * console.c (Fconsole_on_window_system_p):
8672         * data.c:
8673         * data.c (Feq):
8674         * data.c (Fold_eq):
8675         * data.c (Fsubr_interactive):
8676         * data.c (Fchar_to_int):
8677         * data.c (Fint_to_char):
8678         * data.c (Fsetcar):
8679         * data.c (Fsetcdr):
8680         * data.c (Fnumber_to_string):
8681         * data.c (Fstring_to_number):
8682         * data.c (Frem):
8683         * database.c (mark_database):
8684         * database.c (finalize_database):
8685         * database.c (Fdatabase_live_p):
8686         * database.c (Fdatabasep):
8687         * device-x.c (Fx_get_resource):
8688         * device.c (Fdfw_device):
8689         * dired.c:
8690         * dired.c (Ffile_name_completion):
8691         * dired.c (Ffile_name_all_completions):
8692         * dired.c (Fuser_name_completion):
8693         * dired.c (Fuser_name_completion_1):
8694         * dired.c (Fuser_name_all_completions):
8695         * doc.c (Fdocumentation):
8696         * doc.c (Fdocumentation_property):
8697         * doc.c (Fsubstitute_command_keys):
8698         * editfns.c:
8699         * editfns.c (Fchar_to_string):
8700         * editfns.c (Fstring_to_char):
8701         * editfns.c (Ftemp_directory):
8702         * editfns.c (Finsert_char):
8703         * editfns.c (Fbuffer_substring_no_properties):
8704         * editfns.c (Fnarrow_to_region):
8705         * editfns.c (Fchar_equal):
8706         * editfns.c (Fchar_Equal):
8707         * editfns.c (Ftranspose_regions):
8708         * emacs.c (Fdump_emacs):
8709         * eval.c (Fthrow):
8710         * eval.c (Fcommand_execute):
8711         * eval.c (Fautoload):
8712         * eval.c (Fbacktrace):
8713         * eval.c (Fbacktrace_frame):
8714         * events.c:
8715         * events.c (Fcopy_event):
8716         * events.c (Fcharacter_to_event):
8717         * events.c (Fevent_button):
8718         * events.c (Fevent_process):
8719         * extents.c:
8720         * extents.c (Fnext_extent_change):
8721         * extents.c (Fextent_property):
8722         * faces.c (Ffacep):
8723         * faces.c (Fmake_face):
8724         * file-coding.c:
8725         * file-coding.c (Fencode_shift_jis_char):
8726         * file-coding.c (Fencode_big5_char):
8727         * fileio.c (Ffile_name_directory):
8728         * fileio.c (Ffile_name_nondirectory):
8729         * fileio.c (Ffile_name_as_directory):
8730         * fileio.c (Fdirectory_file_name):
8731         * fileio.c (Ffile_truename):
8732         * fileio.c (Fsubstitute_in_file_name):
8733         * fileio.c (Ffile_modes):
8734         * fileio.c (Fset_file_modes):
8735         * fileio.c (Fset_default_file_modes):
8736         * fileio.c (Fverify_visited_file_modtime):
8737         * floatfns.c (Facos):
8738         * floatfns.c (Fasin):
8739         * floatfns.c (Fatan):
8740         * floatfns.c (Fcos):
8741         * floatfns.c (Fsin):
8742         * floatfns.c (Ftan):
8743         * floatfns.c (Fbessel_j0):
8744         * floatfns.c (Fbessel_j1):
8745         * floatfns.c (Fbessel_jn):
8746         * floatfns.c (Fbessel_y0):
8747         * floatfns.c (Fbessel_y1):
8748         * floatfns.c (Fbessel_yn):
8749         * floatfns.c (Ferf):
8750         * floatfns.c (Ferfc):
8751         * floatfns.c (Flog_gamma):
8752         * floatfns.c (Fexp):
8753         * floatfns.c (Fexpt):
8754         * floatfns.c (Flog):
8755         * floatfns.c (Flog10):
8756         * floatfns.c (Fsqrt):
8757         * floatfns.c (Fcube_root):
8758         * floatfns.c (Facosh):
8759         * floatfns.c (Fasinh):
8760         * floatfns.c (Fatanh):
8761         * floatfns.c (Fcosh):
8762         * floatfns.c (Fsinh):
8763         * floatfns.c (Ftanh):
8764         * floatfns.c (Fabs):
8765         * floatfns.c (Ffloat):
8766         * floatfns.c (Flogb):
8767         * floatfns.c (Fceiling):
8768         * floatfns.c (Ffloor):
8769         * floatfns.c (Fround):
8770         * floatfns.c (Ftruncate):
8771         * floatfns.c (Ffceiling):
8772         * floatfns.c (Fffloor):
8773         * floatfns.c (Ffround):
8774         * floatfns.c (Fftruncate):
8775         * fns.c (Fstring_equal):
8776         * fns.c (Fstring_lessp):
8777         * fns.c (concat2):
8778         * fns.c (concat3):
8779         * fns.c (vconcat2):
8780         * fns.c (vconcat3):
8781         * fns.c (Fsubstring):
8782         * fns.c (Fassoc):
8783         * fns.c (Fold_assoc):
8784         * fns.c (assoc_no_quit):
8785         * fns.c (Fassq):
8786         * fns.c (Fold_assq):
8787         * fns.c (assq_no_quit):
8788         * fns.c (Frassoc):
8789         * fns.c (Fold_rassoc):
8790         * fns.c (Frassq):
8791         * fns.c (Fold_rassq):
8792         * fns.c (rassq_no_quit):
8793         * fns.c (Fremassoc):
8794         * fns.c (remassoc_no_quit):
8795         * fns.c (Fremassq):
8796         * fns.c (remassq_no_quit):
8797         * fns.c (Fremrassoc):
8798         * fns.c (Fremrassq):
8799         * fns.c (remrassq_no_quit):
8800         * fns.c (Fsort):
8801         * fns.c (Fplist_get):
8802         * fns.c (Fplist_put):
8803         * fns.c (Fplist_remprop):
8804         * fns.c (Fplist_member):
8805         * fns.c (Flax_plist_get):
8806         * fns.c (Flax_plist_put):
8807         * fns.c (Flax_plist_remprop):
8808         * fns.c (Flax_plist_member):
8809         * fns.c (Fequal):
8810         * fns.c (Fold_equal):
8811         * fns.c (Frequire):
8812         * fns.c (Fbase64_encode_region):
8813         * fns.c (Fbase64_encode_string):
8814         * fns.c (Fbase64_decode_region):
8815         * frame.c:
8816         * frame.c (frame_matches_frame_spec):
8817         * frame.c (device_matches_device_spec):
8818         * frame.c (next_frame):
8819         * frame.c (previous_frame):
8820         * frame.c (Fnext_frame):
8821         * frame.c (Fprevious_frame):
8822         * frame.c (Fframe_property):
8823         * frame.c (Fset_frame_height):
8824         * frame.c (Fset_frame_size):
8825         * frame.h:
8826         * glyphs.c:
8827         * glyphs.c (if):
8828         * glyphs.c (decode_error_behavior_flag):
8829         * glyphs.c (Fmake_image_instance):
8830         * indent.c (Findent_to):
8831         * intl.c (Fignore_defer_gettext):
8832         * keymap.c (Fkeymapp):
8833         * keymap.c (Flookup_key):
8834         * lread.c:
8835         * lread.c (Fload_internal):
8836         * lread.c (Feval_buffer):
8837         * lread.c (Feval_region):
8838         * macros.c (Fexecute_kbd_macro):
8839         * marker.c (set_marker_internal):
8840         * marker.c (Fset_marker):
8841         * marker.c (set_marker_restricted):
8842         * marker.c (Fcopy_marker):
8843         * marker.c (noseeum_copy_marker):
8844         * menubar.c:
8845         * menubar.c (Fpopup_menu):
8846         * minibuf.c:
8847         * mule-charset.c (Fcharset_name):
8848         * mule-charset.c (Fchar_charset):
8849         * mule-charset.c (Fchar_octet):
8850         * mule-charset.c (Fsplit_char):
8851         * mule-wnnfns.c (Fwnn_open):
8852         * mule-wnnfns.c (Fwnn_dict_comment):
8853         * mule-wnnfns.c (Fwnn_quit_henkan):
8854         * mule-wnnfns.c (Fwnn_word_toroku):
8855         * mule-wnnfns.c (Fwnn_word_sakujo):
8856         * mule-wnnfns.c (Fwnn_word_use):
8857         * mule-wnnfns.c (Fwnn_hindo_set):
8858         * objects.c:
8859         * objects.c (Fmake_color_instance):
8860         * objects.c (Fmake_font_instance):
8861         * print.c (Fwrite_char):
8862         * process.c:
8863         * process.c (mark_process):
8864         * process.c (print_process):
8865         * process.c (get_process_from_usid):
8866         * process.c (Fprocessp):
8867         * process.c (Fprocess_live_p):
8868         * process.c (Fget_process):
8869         * process.c (Fget_buffer_process):
8870         * process.c (get_process):
8871         * process.c (Fprocess_id):
8872         * process.c (Fprocess_name):
8873         * process.c (Fprocess_command):
8874         * process.c (init_process_io_handles):
8875         * process.c (start_process_unwind):
8876         * process.c (Fstart_process_internal):
8877         * process.c (Fopen_multicast_group_internal):
8878         * process.c (Fset_process_window_size):
8879         * process.c (read_process_output):
8880         * process.c (send_process):
8881         * process.c (Fprocess_tty_name):
8882         * process.c (Fset_process_buffer):
8883         * process.c (Fprocess_buffer):
8884         * process.c (Fprocess_mark):
8885         * process.c (set_process_filter):
8886         * process.c (Fset_process_filter):
8887         * process.c (Fprocess_filter):
8888         * process.c (Fprocess_send_region):
8889         * process.c (Fprocess_send_string):
8890         * process.c (exec_sentinel):
8891         * process.c (Fset_process_sentinel):
8892         * process.c (Fprocess_sentinel):
8893         * process.c (status_notify):
8894         * process.c (Fprocess_status):
8895         * process.c (Fprocess_exit_status):
8896         * process.c (process_send_signal):
8897         * process.c (Fprocess_send_eof):
8898         * process.c (deactivate_process):
8899         * process.c (remove_process):
8900         * process.c (Fdelete_process):
8901         * process.c (kill_buffer_processes):
8902         * process.c (Fprocess_kill_without_query):
8903         * process.c (Fprocess_kill_without_query_p):
8904         * rangetab.c:
8905         * rangetab.c (Fget_range_table):
8906         * rangetab.c (Fput_range_table):
8907         * rangetab.c (Fremove_range_table):
8908         * rangetab.c (Fclear_range_table):
8909         * search.c:
8910         * search.c (Fskip_chars_forward):
8911         * search.c (Fskip_chars_backward):
8912         * search.c (Fskip_syntax_forward):
8913         * search.c (Fskip_syntax_backward):
8914         * search.c (search_command):
8915         * search.c (Freplace_match):
8916         * search.c (Fregexp_quote):
8917         * select.c (Fown_selection_internal):
8918         * select.c (Fselection_owner_p):
8919         * select.c (Fselection_exists_p):
8920         * select.c (Fget_selection_internal):
8921         * specifier.c:
8922         * symbols.c:
8923         * symbols.c (Fintern):
8924         * symbols.c (Fintern_soft):
8925         * symbols.c (Funintern):
8926         * symbols.c (Fapropos_internal):
8927         * symbols.c (Fset_default):
8928         * syntax.c:
8929         * syntax.c (Fsyntax_table_p):
8930         * syntax.c (Fcopy_syntax_table):
8931         * syntax.c (Fset_syntax_table):
8932         * syntax.c (Fchar_syntax):
8933         * syntax.c (syntax_match):
8934         * syntax.c (Fmatching_paren):
8935         * syntax.c (Fforward_word):
8936         * syntax.c (scan_lists):
8937         * syntax.c (Fscan_lists):
8938         * syntax.c (Fscan_sexps):
8939         * syntax.c (Fparse_partial_sexp):
8940         * toolbar.c (Fcheck_toolbar_button_syntax):
8941         * tooltalk.doc:
8942         * window.c:
8943         * window.c (Fwindowp):
8944         * window.c (Fwindow_live_p):
8945         * window.c (Fwindow_point):
8946         * window.c (Fdelete_window):
8947         * window.c (Fnext_window):
8948         * window.c (Fprevious_window):
8949         * window.c (Fother_window):
8950         * window.c (window_loop):
8951         * window.c (Fget_lru_window):
8952         * window.c (Fsplit_window):
8953         * window.c (Fenlarge_window):
8954         * window.c (Fenlarge_window_pixels):
8955         * window.c (Fshrink_window):
8956         * window.c (Fshrink_window_pixels):
8957         * window.c (change_window_height):
8958         * window.c (Fwindow_configuration_p):
8959         * window.c (Fcurrent_window_configuration):
8960         * window.h:
8961         * casefiddle.c (casify_object):
8962         * casefiddle.c (Fupcase):
8963         * casefiddle.c (Fdowncase):
8964         * casefiddle.c (Fcapitalize):
8965         * casefiddle.c (Fupcase_initials):
8966         * casefiddle.c (casify_region_internal):
8967         * casefiddle.c (casify_region):
8968         * casefiddle.c (Fupcase_region):
8969         * casefiddle.c (Fdowncase_region):
8970         * casefiddle.c (Fcapitalize_region):
8971         * casefiddle.c (Fupcase_initials_region):
8972         * casefiddle.c (Fupcase_word):
8973         * casefiddle.c (Fdowncase_word):
8974         * casefiddle.c (Fcapitalize_word):
8975         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
8976         Replace 0 with '\0' when working with bytes.
8977         Replace initial "(" with "\(" in docstrings.
8978
8979 2000-11-01  Martin Buchholz  <martin@xemacs.org>
8980
8981         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
8982
8983         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
8984
8985 2000-10-31  Martin Buchholz  <martin@xemacs.org>
8986
8987         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
8988
8989 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8990
8991         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
8992         correctly.
8993
8994 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8995
8996         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
8997         (inhibit_auto_save_session): New variable.
8998         (vars_of_fileio): Declare and initialize them.
8999         * fileio.c (Fdo_auto_save): Don't create session file if
9000         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9001
9002 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9003
9004         * sgiplay.c (play_internal): C++ compilability.
9005         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9006         * callproc.c (Fold_call_process_internal):
9007         Remove unused vars `env', `first'.
9008         * scrollbar.c (update_scrollbar_instance):
9009         #### unused var `current_window'.
9010         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9011         etc. within #ifdef NOT_YET.
9012         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9013         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9014         * specifier.c (specifier_instance):
9015         #### unused var `tag'.
9016         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9017
9018 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9019
9020         * fns.c (Fbutlast):
9021         * fns.c (list_sort):
9022         * fns.c (Ffillarray):
9023         * fns.c (bytecode_nconc2):
9024         * fns.c (Fnconc):
9025         * fns.c (mapcar1):
9026         * fns.c (Fmapconcat):
9027         Be pedantically 64-bit correct.  For the time when someone will
9028         want to have a list with length > 2**32.
9029
9030         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9031         Work around MIPSpro compiler bug.
9032
9033         * process-unix.c (unix_kill_child_process): Add snarky comment.
9034         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9035
9036         * config.h.in: Oops, _getpt ==> _getpty
9037
9038 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9039
9040         * config.h.in:
9041         * regex.c:
9042         Use void*, not char*, as return type of alloca().
9043
9044         * alloc.c (free_marker): Side effect inside assert expression!
9045
9046 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9047
9048         * mule-charset.c (Fset_charset_ccl_program): To check
9049         if the given ccl program is valid, use setup_ccl_program()
9050         instead of CHECK_VECTOR().
9051         (Fmake_charset): Likewise.
9052
9053 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9054
9055         * faces.c (get_extent_fragment_face_cache_index):
9056         Fix cachel.merged_faces memory leak.
9057
9058 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9059
9060         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9061         Reset MSB of octets obtained by DECODE_SJIS
9062         because of the incompatibility with Emacs.
9063         (ccl_driver)<CCL_ENCODE_SJIS>:
9064         Set MSB of octets before passing them to
9065         ENCODE_SJIS because of the incompatibility
9066         with Emacs.
9067
9068 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9069
9070         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9071         (DECLARE_LRECORD): Undo the last change.
9072         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9073
9074 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9075
9076         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9077         the implementation to lrecord_implementations_table.
9078
9079 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9080
9081         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9082         initial value of `lrecord_type_##c_name' and
9083         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9084         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9085         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9086         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9087         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9088
9089 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9090
9091         * miscplay.c (sndcnv8S_2mono):
9092         (sndcnv2monounsigned):
9093         (sndcnvULaw_2linear):
9094         (sndcnv16swap):
9095         Remove implementation-defined behavior.
9096
9097 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9098
9099         * input-method-xlib.c: Warning suppression.
9100
9101 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9102
9103         * mule-ccl.c: Sync up with Emacs 21.0.90.
9104         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9105         Do nothing.
9106         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9107         Likewise.
9108         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9109         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9110         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9111         leading char belongs to official 2-dimensional charset.
9112         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9113         write the given character as is.  Otherwise,
9114         if it is a multibyte char, convert it by
9115         non_ascii_set_charptr_emchar, then write it.
9116         (CCL_WRITE_STRING): Likewise.
9117         (ccl_get_compiled_code): New function.
9118         (setup_ccl_program): When ccl_prog is invalid,
9119         return -1.
9120         (Fregister_code_conversion_map): New function.
9121         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9122
9123         * mule-ccl.h: Sync up with Emacs 21.0.90.
9124         (Fregister_ccl_program): export it.
9125
9126         * redisplay-msw.c (separate_textual_runs):
9127         If ccl program is not valid, don't do ccl conversion.
9128
9129         * redisplay-x.c (separate_textual_runs): Ditto.
9130
9131         * file-coding.c (Fmake_coding_system):
9132         When type is ccl and value is vector, register it
9133         with a proper symbol.  And checks whether the
9134         given ccl program is valid.
9135         (mule_decode): When calling ccl_driver, if src indicates
9136         NULL pointer, set an empty string instead.
9137         (mule_encode): Likewise.
9138
9139 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9140
9141         The following large batch of changes gets us back to a state of
9142         C++ compilability.  Extbyte is now a char, which means that
9143         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9144
9145         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9146
9147         * sound.c (Fplay_sound): Type correctness.
9148
9149         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9150         (x_get_window_property): Type correctness.
9151         (receive_incremental_selection): unsigned char ==> Extbyte
9152         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9153         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9154         (Fx_store_cutbuffer_internal): Type correctness.
9155
9156         * process-unix.c (try_to_initialize_subtty): Type correctness.
9157
9158         * objects-x.c (x_print_color_instance): Type correctness.
9159         (x_print_font_instance): Type correctness.
9160         (x_list_fonts): SExtbyte ==> Extbyte.
9161         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9162         (x_find_charset_font): SExtbyte ==> Extbyte.
9163         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9164         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9165         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9166         Use bufbyte_strcmp.
9167
9168         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9169         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9170         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9171         (BYTE_C0_P): Use bit ops for char-signedness safety.
9172         (BYTE_C1_P): Use bit ops for char-signedness safety.
9173         (CHARSET_BY_LEADING_BYTE):
9174         (CHARSET_BY_ATTRIBUTES):
9175         Always use inline function.
9176         Use type_checking_assert.
9177         Hide chlook.
9178
9179         * mule-charset.c (non_ascii_charptr_copy_char):
9180         Modify to work with both ASCII and non-ASCII characters.
9181         Improve docs and variable names.
9182         Replace over-clever fall-through switch with a simple loop.
9183         (Lstream_get_emchar_1):
9184         Replace over-clever fall-through switch with a simple loop.
9185
9186         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9187         Warning suppression.
9188
9189         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9190         the return value of Lstream_getc, which could be EOF as well.
9191
9192         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9193
9194         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9195         APIs can be used on Extbytes without casts.  Risky!
9196         (SExtbyte): Remove.
9197         (UExtbyte): Remove.
9198
9199         * input-method-xlib.c (XIM_init_device):
9200         Use Xlib.h instead of IntrinsicP.h.
9201         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9202         which will break in X11R7.
9203         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9204         to call XRegisterIMInstantiateCallback with correct types.
9205
9206         * gui-x.c (button_item_to_widget_value): Type correctness.
9207
9208         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9209
9210         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9211         (xbm_instantiate_1): Type correctness.
9212         (BUILD_GLYPH_INST):  Type correctness.
9213
9214         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9215
9216         * file-coding.c:
9217         (decode_coding_sjis):
9218         (decode_coding_big5):
9219         (decode_coding_ucs4):
9220         (decode_coding_utf8):
9221         (decode_coding_iso2022):
9222         (decode_coding_no_conversion):
9223         Make all decoding functions take an Extbyte * arg.
9224         (encode_coding_sjis):
9225         (encode_coding_big5):
9226         (encode_coding_ucs4):
9227         (encode_coding_utf8):
9228         (encode_coding_iso2022):
9229         (encode_coding_no_conversion):
9230         Make all encoding functions take a Bufbyte * arg.
9231         Use size_t instead of unsigned int for memory sizes.
9232         Only cast to unsigned char whenever dereferencing Extbyte *.
9233
9234         * doc.c (unparesseuxify_doc_string): Type correctness.
9235
9236         * console-x.c (split_up_display_spec):
9237         Rewrite without using details of internal string representation.
9238         (x_semi_canonicalize_device_connection): Type correctness.
9239
9240         * config.h.in:
9241         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9242         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9243         (HAVE_XFREE386): Removed.
9244
9245         * buffer.h (DEC_CHARPTR): `const' correctness.
9246         (bufbyte_strcmp): New.
9247         (bufbyte_memcmp): New.
9248
9249         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9250
9251         * buffer.h (XCHAR_OR_CHAR_INT):
9252         Always use inline function.
9253         Remove redundant type checking assert() - XINT will abort quite nicely.
9254
9255 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9256
9257         * search.c (Freplace_match): Set newtext to an empty string.
9258
9259 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9260
9261         * s/decosf1-3.h: Remove #include of stropts.h
9262         * s/ptx.h: Remove #include of stropts.h
9263         * s/usg5-4.h: Remove #include of stropts.h
9264         * sysproc.h:
9265         * config.h.in:
9266         Use stropts.h, not sys/stropts.h.
9267         Use strtio.h, not sys/strtio.h.
9268
9269 2000-10-04  Martin Buchholz <martin@xemacs.org>
9270
9271         * XEmacs 21.2.36 is released.
9272
9273 2000-09-21  Andy Piper  <andy@xemacs.org>
9274
9275         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9276         changes still involve copying the widget tree.
9277         (update_widget_face): make sure a change is register in the widget
9278         tree. Call update_tab_widget_face appropriately.
9279         (update_tab_widget_face): ditto.
9280         (x_tab_control_redisplay): make sure non-structural changes still
9281         involve copying the widget tree.
9282
9283 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9284
9285         * lread.c (locate_file): Check the path element is non-nil.
9286
9287 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9288
9289         * lisp.h: Warning suppression for SCO compilers.
9290
9291         * redisplay-tty.c (reset_tty_modes): Fix crash.
9292         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9293
9294 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9295
9296         Big signal/process handling overhaul.  Bugs fixed:
9297         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9298         M-x comint-kill-subjob should work for both values nil and t of
9299         process-connection-type. It was broken on most platforms.
9300         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9301         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9302         * process-unix.c: Signal/Process handling overhaul.
9303         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9304         (allocate_pty): Use all available modern methods of allocating
9305         ptys, falling back to old style BSD allocation as a last resort.
9306         Use allegedly more secure Unix98 pty allocation by default.
9307         (allocate_pty_the_old_fashioned_way): New. the last resort.
9308         (unix_create_process): Push ptem, ldterm, ttcompat where
9309         available.  Autoconfiscate.
9310         (try_to_initialize_subtty): New.
9311         (unix_kill_child_process): Proper signal handling for ptys on most
9312         platforms, using special knowledge of AIX, BSD, etc...
9313         (unix_create_process): Always disconnect_controlling_terminal() for
9314         subprocesses, whether using ptys or not.
9315         * process.h: Remove old getpt-dependent PTY code.
9316         * process.c (Fprocess_send_signal): New, obvious generic function.
9317         (decode_signal): New.
9318         (Finterrupt_process):
9319         (Fkill_process):
9320         (Fquit_process):
9321         (Fstop_process):
9322         (Fcontinue_process):
9323         (Fsignal_process): Use decode_signal.
9324         (process_send_signal):
9325         Many docstring corrections.
9326         Allow any signal to be sent to a process object.
9327         * config.h.in: Add symbols for big signal/process overhaul.
9328         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9329         * sysproc.h: Include process-related headers, where available:
9330         sys/stropts.h sys/strtio.h pty.h libutil.h
9331         * s/irix4-0.h:
9332         * s/irix5-0.h:
9333         * s/cygwin32.h:
9334         * s/gnu.h:
9335         * s/linux.h:
9336         * s/hpux.h:
9337         * s/aix3-1.h:
9338         Remove old S&M pty stuff.
9339         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9340         * systty.h: Simplify cpp hackery, improve comments.
9341         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9342
9343         * editfns.c (Fformat_time_string):
9344         Be a little more paranoid with the return value of ctime.
9345
9346         * fileio.c (check_executable):
9347         (check_writable):
9348         Use symbolic constants X_OK, W_OK.
9349
9350         * console-x.c (split_up_display_spec): Fix a warning.
9351
9352 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9353
9354         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9355         * ntproc.c (sys_spawnve): make_string ==> build_string
9356         Small clarity improvements.
9357
9358 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9359
9360         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9361
9362         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9363
9364         * config.h.in (HAVE_STRCASECMP): Remove.
9365
9366 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9367
9368         * redisplay-output.c (redisplay_output_pixmap):
9369         Cleaner and possibly more 64-bit correct code.
9370
9371 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9372
9373         * dumper.c (pdump_load_finish): move restoration of
9374         `noninteractive1' to emacs.c (main_1).
9375         * emacs.c (main_1): protect LISP-visible command-line flags
9376         from pdump_load().
9377
9378 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9379
9380         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9381         DUMP_TARGET instead of literal program names.
9382
9383 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9384
9385         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9386
9387 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9388
9389         * *: Spelling mega-patch
9390
9391 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9392
9393         * fns.c (bad_bad_turtle):
9394         Delete "Eek!" comment, since we fixed the bug to which it refers.
9395
9396 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9397
9398         * alloca.c: Replace REGISTER with register.
9399
9400 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9401
9402         * file-coding.c (ucs_to_char): Use countof.
9403
9404 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9405
9406         * file-coding.c: (ucs_to_char):
9407         (complex_vars_of_file_coding):
9408         Use countof instead of sizeof.
9409         Use CHECK_NATNUM instead of CHECK_INT.
9410
9411         * sysdep.c (strcasecmp): Remove.
9412         * device-x.c (ascii_strcasecmp): New.
9413         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9414         Avoid using non-standard non-portable strcasecmp.
9415
9416 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9417
9418         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9419         * font-lock.c: remove reference to emacsfns.h.
9420         * search.c: small doc improvement.
9421         * event-Xt.c: correct file names in comments.
9422         * console-x.h Correct file names in comments.
9423         * frame.c: Correct file names in comments.
9424         * event-stream.c: remove Energize from comments.
9425
9426 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9427
9428         * symeval.h (DEFERROR_STANDARD):
9429         (DEFERROR):
9430         (DEFSYMBOL):
9431         (DEFSYMBOL_NO_DUMP):
9432         (DEFSYMBOL_MULTIWORD_PREDICATE):
9433         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9434         (DEFKEYWORD):
9435         The construct &##name is not sensible C.
9436         Fixes compilation errors with Unixware native compiler.
9437
9438 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9439
9440         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9441         (next_frame_internal): Removed.  We now just have next_frame.
9442         (next_frame):
9443         Write a simpler and cleaner one-pass algorithm.
9444         Remove called_from_delete_device arg and #ifdefed-out code.
9445         (previous_frame):
9446         Renamed from prev_frame.  Update callers.
9447         Cleaned up to have an analogous implementation to next_frame.
9448         (other_visible_frames_internal): Remove the
9449         called_from_delete_device bogus arg, and hence, remove this
9450         function.  Just use other_visible_frames().
9451
9452         * window.c (Fnext_window):
9453         Prettify docstring.
9454         Since next_frame() is guaranteed to return a frame, remove check
9455         for nil inserted in previous patch.
9456         (Fprevious_window):
9457         Prettify docstring.
9458         Make code look more like Fnext_window.
9459         (window_loop):
9460         Respect the `console' arg when iterating through windows.
9461         Fixes bug: (get-buffer-window buffer t device) not respecting
9462         the `device' arg.
9463         This function needs more work, as others have pointed out.
9464
9465         * frame.h: Rename prev_frame to previous_frame.
9466         device_matches_console_spec no longer takes a `frame' arg.
9467
9468         * s/gnu.h:
9469         * s/linux.h:
9470         * s/hpux.h:
9471         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9472         From "Golubev I. N." <gin@mo.msk.ru>.
9473
9474         * make-src-depend: Fix typo.
9475
9476 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9477
9478         * window.c (Fnext_window):
9479         next_frame() might return nil, not a frame.
9480         Fixes this crash:
9481         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9482
9483         * frame.c (next_frame_internal):
9484         We've passed a frame if we've passed its device.
9485         Fixes this crash:
9486         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9487 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9488
9489 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9490
9491         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9492         Allow option to suppress accelerators in menu/dialog items.
9493         (populate_or_checksum_helper): Pass dialog title through above.
9494
9495 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9496
9497         * event-msw.c (mswindows_key_to_emacs_keysym):
9498         Add "pause" key, fix "menu" key.
9499
9500 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9501
9502         * eval.c (reinit_vars_of_eval):
9503         Increase max_lisp_eval_depth to 1000,
9504         required for thai-xtis.el to byte-compile under some circumstances.
9505
9506 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9507
9508         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9509         From Kenichi Handa.
9510
9511 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9512
9513         * make-src-depend: Make the generated Makefiles smaller.
9514
9515         * s/hpux.h (SETUP_SLAVE_PTY):
9516         Provide a %d in the format string for the errno argument.
9517
9518         * editfns.c (Ftemp_directory):
9519         Warning fix.
9520         Avoid buffer overrun on very long file name.
9521
9522         * input-method-xlib.c (XIM_init_device):
9523         6th parameter of XRegisterIMInstantiateCallback has different
9524         pointer types on different OSes, so simply cast to (void *).
9525
9526         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9527
9528         * sysdll.c (dll_open):
9529         shl_load will hang hard if passed a NULL filename.
9530         Simply return NULL for compatibility with dlopen.
9531         * sysdll.c: Conform to XEmacs coding standards.
9532
9533         * sysdep.c (get_pty_max_bytes):
9534         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9535
9536 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9537
9538         * tooltalk.c: Add #include <syssignal.h>
9539
9540 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9541
9542         * s/hpux.h: Don't use undefined function sigunblock().
9543
9544 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9545
9546         * config.h.in: Add HAVE_BALLOON_HELP.
9547         * emacs.c: Use HAVE_BALLOON_HELP.
9548         * Makefile.in.in (x_objs):
9549         Make Balloon Help conditional on finding shape.h.
9550
9551 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9552
9553         * syntax.c (regex_emacs_buffer_p): New variable.
9554         * syntax.h (regex_emacs_buffer_p): extern.
9555         * search.c (looking_at_1):
9556         (string_match_1):
9557         (fast_string_match):
9558         (search_buffer): Set regex_emacs_buffer_p.
9559         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9560         when before_dot, at_dot, after_dot.
9561
9562 2000-08-23  Andy Piper  <andy@xemacs.org>
9563
9564         * gui-x.c (popup_selection_callback): Only set action_occurred
9565         when we really have an image instance.
9566         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9567
9568 2000-08-23  Andy Piper  <andy@xemacs.org>
9569
9570         * gui-msw.c (mswindows_handle_gui_wm_command): set
9571         action_occurred.
9572         * gui-x.c (popup_selection_callback): ditto.
9573
9574         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9575         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9576         (struct Lisp_Image_Instance): add action_occurred flag.
9577
9578         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9579         (image_instance_changed): ditto.
9580         (reset_frame_subwindow_instance_cache): only unmap windows - do
9581         not remove them from the cache also.
9582
9583         * glyphs-widget.c (tab_control_update): better debug.
9584         (progress_gauge_update): ditto.
9585         (layout_update): ditto.
9586         (layout_instantiate): ditto.
9587         (tab_control_order_only_changed): cope with null pending items.
9588
9589         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9590         debug. Force selection of an item when an action occurred. Cope
9591         with null pending_items.
9592         (mswindows_progress_gauge_redisplay): better debug.
9593         * glyphs-x.c (x_tab_control_redisplay): ditto.
9594
9595         * redisplay.c (redisplay_frame): reset the frame cache if the
9596         frame is garbaged.
9597
9598         * window.c (Fset_window_configuration): potentially re-enable
9599         frame cache reset.
9600         (window_unmap_subwindows): need to finalize instances here since
9601         it is only used in mark_window_as_deleted.
9602
9603 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9604
9605         * nas.c (SndOpenDataForReading):
9606         nas.c (WaveOpenDataForReading):
9607         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9608         Somehow escaped from the 2000-08-14 patch.
9609
9610 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9611
9612         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9613         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9614
9615 2000-08-21  Andy Piper  <andy@xemacs.org>
9616
9617         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9618         window if it is not already displayed.
9619
9620         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9621         it is not already displayed.
9622
9623         * window.c (Fset_window_configuration): don't reset the frame
9624         cache.
9625
9626         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9627         instances from the frame cache if we are actually finalizing them.
9628         (reset_frame_subwindow_instance_cache): reset frame cache only
9629         after unmapping everything.
9630         (map_subwindow): set displayed flag after mapping.
9631
9632 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9633
9634         * data.c (indirect_function):
9635         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9636
9637         * eval.c (function_argcount):
9638         Use original function when signaling errors.
9639
9640 2000-08-18  Andy Piper  <andy@xemacs.org>
9641
9642         * frame.c (delete_frame_internal): use new
9643         free_frame_subwindow_instances name.
9644
9645         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9646         (add_tab_item): make return type correct.
9647         (mswindows_tab_control_instantiate): assert index of tab.
9648         (mswindows_tab_control_redisplay): Re-code to use
9649         gui_item_equal_sans_selected and gui_item_list_find_selected.
9650
9651         * glyphs-widget.c (tab_control_update): Correct comment.
9652
9653         * window.c (window_unmap_subwindows): use new
9654         unmap_subwindow_instance_cache_mapper.
9655         (window_unmap_subwindows_cache_mapper): deleted.
9656         (Fset_window_configuration): comparisons should now be with
9657         EQ. Preserve the subwindow instance cache across configuration
9658         changes.
9659         (allocate_window): ditto.
9660         (make_dummy_parent): ditto.
9661
9662         * glyphs.c (free_frame_subwindow_instances): rename from
9663         free_frame_subwindow_instance_cache. finalize all instances rather
9664         than just those in the display cache.
9665         (finalize_all_subwindow_instances): walk windows unmapping and
9666         finalizing subwindows.
9667         (unmap_subwindow_instance_cache_mapper): moved from
9668         window.c. Allow finalization as well as unmapping.
9669
9670         * gui.c (gui_item_list_find_selected): new function.
9671
9672         * gui.h (gui_item_list_find_selected): declare.
9673
9674         * glyphs-x.c (x_tab_control_redisplay): pick tab
9675         explicitly. Re-code to use gui_item_equal_sans_selected and
9676         gui_item_list_find_selected.
9677
9678         * glyphs-x.h: add lwlib-utils.h
9679
9680         * buffer.c (Frecord_buffer): undo previous change.
9681
9682 2000-08-09  Vin Shelton  <acs@xemacs.org>
9683
9684         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9685         possible.  Create temporary files more securely.  The patch was
9686         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9687         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9688         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9689         for details.
9690
9691 2000-08-07  Ben Wing  <ben@xemacs.org>
9692
9693         * getloadavg.c: remove duplicate (and windows-breaking)
9694         includes of fcntl.h and sys/file.h.
9695
9696         * nt.c: remove duplicate getloadavg() definition.
9697
9698         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9699         encodings.
9700
9701 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9702
9703         * eval.c (function_argcount): If function needs to be autoloaded
9704         actually use the loaded definition.
9705         GCPRO function.
9706
9707 2000-08-05  Ben Wing  <ben@xemacs.org>
9708
9709         * getloadavg.c: add prototype for getloadavg().  remove
9710         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9711         of the code).  remove duplicate header includes.
9712
9713         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9714
9715         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
9716         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
9717         useful load average.
9718
9719         * alloc.c (reinit_alloc_once_early): removed references to
9720         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
9721         the lisp vars are the only things referencing the malloc_sbrk_*
9722         vars, and they were already if 0'd out.  these vars only exist
9723         in the older malloc.c, which is basically unused, and they're
9724         only for informational purposes.
9725
9726         * m\*.h: removed useless VIRT_ADDR_VARIES.
9727
9728         * m\powerpc.h: removed stray NO_ARG_ARRAY.
9729
9730 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
9731
9732         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
9733         color if the image is a mono pixmap.
9734
9735 2000-07-30  Ben Wing  <ben@xemacs.org>
9736
9737         * Makefile.in.in (release):
9738         Remove stray @.
9739
9740         * buffer.c (directory_is_current_directory):
9741         * dired-msw.c (mswindows_get_files):
9742         * dired.c:
9743         * dired.c (Fdirectory_files):
9744         * dired.c (file_name_completion_stat):
9745         * dired.c (Ffile_attributes):
9746         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
9747         preprocessor tricks, to avoid problems on some machines
9748         (e.g. SCO).
9749
9750         * callproc.c (egetenv): GC docs.
9751
9752         * console-msw.h:
9753         * console-msw.h (struct mswindows_dialog_id):
9754         * lrecord.h (lrecord_type):
9755         New object for use with MSW dialogs.
9756
9757         * console.h (struct console_methods):
9758         New enable/disable frame methods, for proper modal dialogs.
9759
9760         * device-msw.c (msprinter_default_printer): Fix to follow
9761         proper Mule conventions.
9762
9763         * device-msw.c:
9764         * device-msw.c (signal_open_printer_error):
9765         * device-msw.c (msprinter_init_device):
9766         * device-msw.c (ensure_not_printing):
9767         * device-msw.c (plist_get_margin):
9768         * device-msw.c (Fmsprinter_select_settings):
9769         * device-msw.c (finalize_devmode):
9770         * device-msw.c (Fmsprinter_settings_despecialize):
9771         * device-msw.c (signal_enum_priner_error):
9772         * extents.c (decode_extent):
9773         * extents.c (decode_map_extents_flags):
9774         * extents.c (decode_extent_at_flag):
9775         * extents.c (Fextent_at):
9776         * extents.c (Fextents_at):
9777         * extents.c (symbol_to_glyph_layout):
9778         [[[[2]]]] Use structured errors.
9779
9780         * dialog-msw.c:
9781         * dialog-msw.c (mswindows_is_dialog_msg):
9782         * dialog-msw.c (mark_mswindows_dialog_id):
9783         * dialog-msw.c (dialog_proc):
9784         * dialog-msw.c (handle_question_dialog_box):
9785         * dialog-msw.c (syms_of_dialog_mswindows):
9786         Define new object to clean up marking; use it as a dialog identifier.
9787         Call new delete-dialog-box-hook.
9788
9789         * dialog-x.c (dbox_selection_callback):
9790         * dialog-x.c (dbox_descriptor_to_widget_value):
9791         * dialog-x.c (x_make_dialog_box_internal):
9792         Call new delete-dialog-box-hook.
9793         Return an id.
9794
9795         * dialog.c:
9796         * dialog.c (syms_of_dialog):
9797         * dialog.c (vars_of_dialog):
9798         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
9799
9800         * eval.c:
9801         * eval.c (signal_call_debugger):
9802         when noninteractive, output stack traces on the console instead
9803         of in a (never-seen) buffer.
9804
9805         * eval.c (signal_type_error):
9806         * eval.c (invalid_argument_2):
9807         * lisp.h:
9808         new funs for use w/structured errors.
9809
9810         * event-Xt.c:
9811         * event-Xt.c (x_to_emacs_keysym):
9812         * event-Xt.c (describe_event):
9813         * event-Xt.c (emacs_Xt_event_handler):
9814         * event-Xt.c (vars_of_event_Xt):
9815         * event-msw.c:
9816         * event-msw.c (mswindows_wnd_proc):
9817         * event-msw.c (vars_of_event_mswindows):
9818         rename {x,mswindows}-debug-events to debug-{}-events for
9819         consistency with other debug-foo variables.
9820
9821         * event-stream.c:
9822         document next-event more clearly.
9823
9824         * fileio.c (Ffile_name_directory):
9825         * fileio.c (Ffile_name_nondirectory):
9826         * fileio.c (Funhandled_file_name_directory):
9827         * fileio.c (file_name_as_directory):
9828         * fileio.c (Ffile_name_as_directory):
9829         * fileio.c (directory_file_name):
9830         * fileio.c (Fdirectory_file_name):
9831         * fileio.c (Fmake_temp_name):
9832         * fileio.c (Ffile_truename):
9833         * fileio.c (Fsubstitute_in_file_name):
9834         * fileio.c (expand_and_dir_to_file):
9835         * fileio.c (barf_or_query_if_file_exists):
9836         * fileio.c (check_executable):
9837         * fileio.c (Ffile_exists_p):
9838         * fileio.c (Ffile_writable_p):
9839         * fileio.c (Ffile_directory_p):
9840         * fileio.c (Ffile_regular_p):
9841         * fileio.c (Ffile_modes):
9842         * fileio.c (Ffile_newer_than_file_p):
9843         * fileio.c (Fverify_visited_file_modtime):
9844         * fileio.c (Fset_visited_file_modtime):
9845         * fileio.c (auto_save_1):
9846         (1). (2).
9847         fix up gcpro's.
9848
9849         * frame-msw.c:
9850         * frame-msw.c (mswindows_init_frame_1):
9851         * frame-msw.c (mswindows_enable_frame):
9852         * frame-msw.c (error_frame_unsizable):
9853         * frame-msw.c (msprinter_init_frame_1):
9854         * frame-msw.c (msprinter_init_frame_3):
9855         * frame-msw.c (console_type_create_frame_mswindows):
9856         (2).
9857         implement new enable/disable frame methods.
9858
9859         * frame-x.c:
9860         * frame-x.c (x_enable_frame):
9861         * frame-x.c (console_type_create_frame_x):
9862         implement new enable/disable frame methods.
9863
9864         * frame.c:
9865         * frame.c (Fdisable_frame):
9866         * frame.c (syms_of_frame):
9867         * frame.h (struct frame):
9868         implement new enable/disable frame methods/functions.
9869
9870         * general-slots.h:
9871         add initial-focus.
9872
9873         * glyphs-msw.c (mswindows_widget_instantiate):
9874         comment that initial-focus should be implemented.
9875
9876         * glyphs-widget.c:
9877         * glyphs-widget.c (check_valid_instantiator):
9878         * glyphs-widget.c (check_valid_orientation):
9879         * glyphs-widget.c (check_valid_tab_orientation):
9880         * glyphs-widget.c (check_valid_justification):
9881         * glyphs-widget.c (check_valid_border):
9882         * glyphs-widget.c (check_valid_callback):
9883         * glyphs-widget.c (check_valid_int_or_function):
9884         * glyphs-widget.c (check_valid_string_or_vector):
9885         * glyphs-widget.c (check_valid_item_list_1):
9886         * glyphs-widget.c (widget_validate):
9887         * glyphs-widget.c (combo_box_validate):
9888         * glyphs-widget.c (widget_instantiate):
9889         * glyphs-widget.c (syms_of_glyphs_widget):
9890         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
9891         * glyphs-widget.c (image_instantiator_combo_box):
9892         * glyphs-widget.c (image_instantiator_scrollbar):
9893         * glyphs-widget.c (image_instantiator_tab_control):
9894         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
9895         (2).
9896         support (unimplemented) keyword initial-focus.
9897         reindent long macros.
9898
9899         * glyphs-x.c (x_redisplay_widget):
9900         * glyphs-x.c (x_button_instantiate):
9901         * glyphs-x.c (x_button_redisplay):
9902         * glyphs-x.c (x_progress_gauge_instantiate):
9903         * glyphs-x.c (x_edit_field_instantiate):
9904         * glyphs-x.c (x_combo_box_instantiate):
9905         * glyphs-x.c (x_tab_control_instantiate):
9906         * glyphs-x.c (x_label_instantiate):
9907         * gui-x.c:
9908         * gui-x.c (button_item_to_widget_value):
9909         * gui-x.c (gui_items_to_widget_values_1):
9910         * gui-x.c (gui_item_children_to_widget_values):
9911         * gui-x.c (gui_items_to_widget_values):
9912         * gui-x.h:
9913         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9914         add new flag to gui-parsing routines to indicate whether
9915         accelerator specs should be supported.
9916
9917         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
9918
9919         * glyphs.h (struct Lisp_Image_Instance):
9920         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
9921         add initial-focus flag.
9922
9923         * gui.c:
9924         * gui.c (syms_of_gui):
9925         * gui.c (vars_of_gui):
9926         clean up menu-no-selection-hook.
9927
9928         * gui.h:
9929         support delete-dialog-box-hook.
9930
9931         * lread.c (Fload_internal):
9932         * lread.c (locate_file_in_directory_mapper):
9933         (1).
9934
9935         * lrecord.h:
9936         * lrecord.h (struct toolbar_button):
9937         * lrecord.h (syms_of_toolbar):
9938         document how to create a new object.
9939
9940         * menubar-msw.c (mswindows_char_is_accelerator):
9941         may be called on frames w/o menus.
9942
9943         * menubar.c (vars_of_menubar):
9944         clean up :filter docs.
9945
9946         * nt.c (readdir):
9947         * ntproc.c:
9948         (1).
9949
9950         * process-nt.c:
9951         * process-nt.c (validate_signal_number):
9952         * process-nt.c (signal_cannot_launch):
9953         * process-nt.c (nt_create_process):
9954         * process-nt.c (nt_send_process):
9955         * process-nt.c (nt_kill_child_process):
9956         * process-nt.c (nt_open_network_stream):
9957         * process-nt.c (syms_of_process_nt):
9958         (2).
9959         delete quote-handling.  call new lisp code that does it better.
9960
9961         * process-unix.c (connect_to_file_descriptor):
9962         * process-unix.c (allocate_pty):
9963         * process-unix.c (unix_send_process):
9964         * process-unix.c (unix_kill_child_process):
9965         * process-unix.c (unix_open_network_stream):
9966         * process-unix.c (unix_open_multicast_group):
9967         (1). (2).
9968
9969         * process.c:
9970         * process.c (Fstart_process_internal):
9971         (2).  need to canonicalize process path even if absolute.
9972
9973         * select-msw.c (symbol_to_ms_cf):
9974         * select-msw.c (ms_cf_to_symbol):
9975         * select-msw.c (cf_is_autofreed):
9976         * select-msw.c (mswindows_destroy_selection):
9977         * select.c:
9978         * select.c (syms_of_select):
9979         * select.h:
9980         support dibv5, fix bugs. (from Mike Alexander)
9981
9982         * select.c (Fget_selection_internal):
9983         * select.c (select_convert_out):
9984
9985         * sysdep.c:
9986         * sysdep.c (xemacs_stat):
9987         renamed.
9988
9989         * sysdep.c (mkdir):
9990         * sysdep.c (rmdir):
9991         but keep original stat() here because we provide encapsulation
9992         around these funs.
9993
9994         * sysfile.h:
9995         * sysfile.h (fstat):
9996         remove stat garbage.
9997
9998         * syswindows.h:
9999         fix X/MSW conflict.
10000         don't include tchar.h.  it's inappropriate because it makes
10001         compile-time distinctions when we want runtime distinctions.
10002         (we provide our own tchar replacements)
10003
10004         * toolbar.c:
10005         use default object printer for toolbar-button.
10006
10007         * unexcw.c:
10008         make sure we don't encapsulate.
10009
10010         * window.c (vars_of_window):
10011         emphasize that temp-buffer-show-hook is obsolete.
10012
10013 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10014
10015         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10016         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10017
10018         * events.c (Fevent_timestamp_lessp):
10019         Not 64-bit clean.  Use EMACS_INT, not int.
10020
10021 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10022
10023         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10024         unsigned int and changed the last enum to
10025         lrecord_type_last_built_in_type.
10026         (lrecord_implementations_table): changed prototype to know how
10027         long the array is supposed to be.
10028         (lrecord_type_count): new unsigned int to keep track of the
10029         current number of lisp lrecord types.
10030         (DEFINE_EXTERNAL_LRECORD):
10031         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10032         dynamic-modules to declare new lisp types. They are the same
10033         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10034         int for each new type, and increment lrecord_type_count by 1.
10035
10036         * alloc.c (lrecord_implementations_table): Changed to reference
10037         lrecord_type_last_built_in_type for the size of the array.
10038         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10039
10040 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10041
10042         * glyphs.h (check_valid_item_list): Renamed from
10043         check_valid_item_list_1.
10044
10045 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10046
10047         * select.c (Qselect_coerce): New.
10048         * select.c (Vselection_coercion_alist): New.
10049         * select.c (syms_of_select): Declare.
10050         * select.c (get-selection-internal): Use it.
10051         Use the new select-coerce functionality.
10052
10053         * select.c (select_coerce): New.
10054         * select.h (select_coerce): Declare.
10055         New function to coerce one type of data into another.
10056
10057 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10058
10059         * callproc.c (Fcall_process_internal):
10060         (Fcall_process_internal):
10061         * process-unix.c (unix_create_process):
10062         Save and restore the value of errno, so that error messages are accurate.
10063
10064 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10065
10066         * elhash.c (print_hash_table):
10067         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10068         Prettify docstrings and indentation.
10069
10070 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10071
10072         * window.c (Fwindow_pixel_edges): Subtract frame border and
10073         gutter size.
10074
10075 2000-07-31  Andy Piper  <andy@xemacs.org>
10076
10077         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10078         will acknowledge the change.
10079
10080         * glyphs.h: declare tab_control_order_only_changed.
10081
10082         * glyphs-x.c (x_tab_control_redisplay): use
10083         tab_control_order_only_changed.
10084
10085         * glyphs-widget.c (tab_control_order_only_changed): new function.
10086
10087         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10088         tab_control_order_only_changed.
10089
10090         * gui.c (gui_item_equal_sans_selected): new function.
10091         (gui_item_equal): use it.
10092
10093         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10094         :properties in favor of :items..
10095
10096         * glyphs-widget.c (check_valid_item_list): rename from
10097         check_valid_item_list_1.
10098         (check_valid_item_list_1): renamed.
10099         (combo_box_validate): deprecate :properties in favor of :items.
10100         (widget_instantiate): ditto.
10101         (tab_control_update): ditto.
10102         (image_instantiator_combo_box): ditto.
10103         (image_instantiator_tree_view): ditto.
10104         (image_instantiator_tab_control): ditto.
10105         (layout_post_instantiate): remove dead code.
10106
10107         * print.c (debug_print_no_newline): only write to debugger if in
10108         WIN32_NATIVE.
10109
10110         * elhash.c (Fmake_hash_table): update doc string.
10111
10112         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10113         messages whilst in GC. This at least stops XEmacs crashing but has
10114         the potential for wierd behaviour.
10115
10116 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10117
10118         * config.h.in:
10119         Make existence of s&m files optional.
10120
10121         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10122         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10123         * s/gnu.h: Remove HAVE_GETLOADAVG.
10124         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10125         * s/sol2.h: Remove HAVE_GETLOADAVG.
10126         * lisp.h: Remove getloadavg() declaration.
10127         * fns.c:
10128         Include <sys/loadavg.h> if available.
10129         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10130         * config.h.in:  Group together getloadavg()-related macros.
10131         Use only configure-time tests to detect getloadavg().
10132
10133 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10134
10135         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10136
10137 2000-07-25  Andy Piper  <andy@xemacs.org>
10138
10139         * syswindows.h: add tchar.h for native builds.
10140
10141         * frame.c (syms_of_frame): remove set-glyph-image.
10142
10143         * general-slots.h: add Qset_glyph_image.
10144
10145         * glyphs-widget.c (layout_update): add domain arg to
10146         set-glyph-image.
10147         (syms_of_glyphs_widget): remove set-glyph-image.
10148
10149 2000-07-23  Ben Wing  <ben@xemacs.org>
10150
10151         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10152         Vpopup_frame_list.
10153
10154 2000-07-22  Andy Piper  <andy@xemacs.org>
10155
10156         * symsinit.h: add syms_of_win32().
10157
10158         * gui-msw.c (syms_of_gui_mswindows): remove
10159         Fmswindows_shell_execute.
10160         (Fmswindows_shell_execute): moved to win32.c.
10161
10162         * emacs.c (main_1): add syms_of_win32 ().
10163
10164         * win32.c (init_potentially_nonexistent_functions): rewrite in
10165         compiler-friendly terms.
10166         (Fmswindows_shell_execute): move here from gui-msw.c.
10167         (syms_of_win32): new.
10168
10169         * device-msw.c (Fmswindows_printer_list): clean up args to
10170         EnumPrinters.
10171         Don't include tchar under cygwin or mingw.
10172         (msprinter_default_printer): make cygwin-friendly.
10173
10174 2000-07-21  Andy Piper  <andy@xemacs.org>
10175
10176         * glyphs-widget.c (image_instantiator_tree_view): use tab
10177         control's update function.
10178         (layout_property): new function. Retrieve items.
10179
10180         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10181         function. Re-populate the tree view from the pending items.
10182
10183         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10184         is designated the parent if the domain is an image instance. This
10185         is needed so that dirtiness can be cascade up the hierarchy and
10186         thus for layout children to be redisplayed correctly.
10187         (allocate_image_instance): rename glyph -> parent.
10188
10189         * redisplay.h: change redisplay_output_layout signature.
10190
10191         * redisplay-msw.c (mswindows_output_display_block): use domain
10192         arg.
10193
10194         * redisplay-x.c (x_output_display_block): use domain arg.
10195
10196 2000-07-10  Andy Piper  <andy@xemacs.org>
10197
10198         * window.c (Fset_window_configuration): add comment.
10199
10200         * redisplay-output.c (compare_runes):
10201         (redisplay_output_subwindow): redisplay rather than update subwindow.
10202         (redisplay_output_layout): ditto.
10203
10204         * redisplay-msw.c (mswindows_frame_output_end):
10205         (mswindows_frame_output_end): make defer window pos optional.
10206
10207         * lisp.h: add Flast.
10208
10209         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10210         normalize method. Change update method to be for changed
10211         instantiators. Add redisplay method. Change signature of layout
10212         method.
10213         (struct Lisp_Image_Instance): add instantiator.
10214         (IMAGE_INSTANCE_INSTANTIATOR): new.
10215         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10216         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10217         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10218
10219         * glyphs.c:
10220         (find_instantiator_differences): new function.
10221         (Fset_instantiator_property): new convenience function.
10222         (check_image_instance_structure): strictly check for vector
10223         instantiators.
10224         (normalize_image_instantiator): make non-static.
10225         (instantiate_image_instantiator): pass on dest_mask and use new
10226         signatures for image_instance_layout and friends.
10227         (mark_image_instance): mark the instantiator. Mark the subwindow
10228         face not the widget face.
10229         (image_instance_equal): add instantiator.
10230         (image_instance_hash): ditto.
10231         (allocate_image_instance): ditto.
10232         (Fset_image_instance_property): removed.
10233         (Fimage_instance_file_name): ditto.
10234         (Fcolorize_image_instance): ditto.
10235         (image_instance_layout): add offsets to be set.
10236         (update_image_instance): new function. update an image instance
10237         from its changed instantiator.
10238         (inherit_normalize): add dest_mask.
10239         (xbm_normalize): ditto.
10240         (xface_normalize): ditto.
10241         (xpm_normalize): ditto.
10242         (text_update): set_property -> update.
10243         (image_instantiate): use the glyph identity as a hash key, not the
10244         instantiator.
10245         (glyph_width): use new image_instance_layout signature.
10246         (glyph_ascent): ditto.
10247         (glyph_descent): ditto.
10248         (glyph_height): ditto.
10249         (glyph_query_geometry): ressurrect.
10250         (glyph_layout): ditto.
10251         (redisplay_subwindow): update -> redisplay.
10252         (syms_of_glyphs): add Fset_instantiator_property.
10253         (image_instantiator_format_create): set_property -> update.
10254
10255         * glyphs-x.c:
10256         (autodetect_normalize): add dest_maks to signature.
10257         (x_redisplay_subwindow): update -> redisplay.
10258         (x_redisplay_widget): ditto.
10259         (x_button_redisplay): ditto.
10260         (x_progress_gauge_redisplay): ditto.
10261         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10262         stacking order.
10263         (console_type_create_glyphs_x): update -> redisplay.
10264         (image_instantiator_format_create_glyphs_x): ditto.
10265
10266         * glyphs-widget.c:
10267         (check_valid_instantiator): disallow glyphs in the instantiator,
10268         they must now be vectors.
10269         (check_valid_instantiator_list): ditto.
10270         (glyph_instantiator_to_glyph): use internal symbol rather than
10271         intern.
10272         (widget_update): renamed from widget_set_property. Call cascaded
10273         update methods.
10274         (redisplay_widget): renamed from update_widget.
10275         (widget_layout): image_instance_layout now takes position as well
10276         as size.
10277         (widget_normalize): ditto.
10278         (widget_instantiate): ditto.
10279         (tab_control_query_geometry) ditto.:
10280         (tab_control_update): renamed from tab_control_set_property.
10281         (progress_gauge_update): set_property -> update.
10282         (layout_normalize): rewrite so that child instantiators are
10283         normalized also.
10284         (layout_update): new function. Create glyphs from the normalized
10285         children and cope with any other layout keywords. We do not
10286         instantiate children here that will be take care of by
10287         redisplay_output_layout.
10288         (layout_instantiate): call layout_update and not much else.
10289         (layout_post_instantiate): not sure whether this is needed
10290         anymore.
10291         (layout_query_geometry): query glyph geometry rather than
10292         image_instance geometry.
10293         (layout_layout): set offsets from pass in parameters. Use glyph
10294         geometry and layout functions rather than image instance ones.
10295         (native_layout_layout): ditto.
10296         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10297         (image_instantiator_widget): set_property -> update.
10298         (image_instantiator_buttons): ditto.
10299         (image_instantiator_progress_guage): ditto.
10300         (image_instantiator_tab_control): ditto.
10301         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10302         (image_instantiator_layout): add update method.
10303
10304         * glyphs-msw.c (bmp_normalize):
10305         (mswindows_resource_normalize): add dest_mask so that it can be
10306         proprogated by layout_normalize.
10307         (begin_defer_window_pos): make optional because it may not be the
10308         right thing to do and it introduces differences with X.
10309         (mswindows_unmap_subwindow): ditto.
10310         (mswindows_map_subwindow): ditto.
10311         (mswindows_redisplay_subwindow): renamed from
10312         mswindows_update_subwindow.
10313         (mswindows_redisplay_widget): ditto.
10314         (mswindows_button_redisplay): renamed from
10315         mswindows_button_update. Update is now what the instantiation
10316         function does for a changed instantiator.
10317         (mswindows_progress_gauge_instantiate): set the progress value
10318         here if appropriate.
10319         (mswindows_tab_control_redisplay): cope with re-ordering of the
10320         members of the tab widget by simply selecting the new top
10321         widget. This makes things appear ok if you click on a tab.
10322         (mswindows_combo_box_instantiate): image_instance_layout now takes
10323         position as well as size.
10324         (mswindows_progress_gauge_redisplay): renamed from
10325         mswindows_progress_gauge_update.
10326         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10327         (image_instantiator_format_create_glyphs_mswindows): ditto.
10328
10329         * glyphs-eimage.c (jpeg_normalize):
10330         (gif_normalize):
10331         (png_normalize):
10332         (tiff_normalize): add dest_mask so that it can be proprogated by
10333         layout_normalize.
10334
10335         * elhash.c:
10336         (print_hash_table):
10337         (hash_table_weakness_validate):
10338         (decode_hash_table_weakness):
10339         (Fhash_table_weakness):
10340         (Fhash_table_type):
10341         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10342
10343         * console.h (struct console_methods): move update_* to
10344         redisplay_*.
10345
10346 2000-07-20  Ben Wing  <ben@xemacs.org>
10347
10348         * *.[ch] (XSETOBJ): remove unused middle argument.
10349         lisp-disunion.h: correct wrap_object() to one argument.
10350
10351 2000-07-15  Ben Wing  <ben@xemacs.org>
10352
10353         * s/cygwin32.h:
10354         * s/cygwin32.h (CYGWIN_CONV_PATH):
10355         Add missing logb prototype for v1.1.
10356         Use post-b20 names and alias to pre-b20 names when pre-b20.
10357
10358         * s/windowsnt.h: [5].
10359
10360 2000-07-15  Ben Wing  <ben@xemacs.org>
10361
10362         * Makefile.in.in (x_objs):
10363         * Makefile.in.in (sheap_objs):
10364         * Makefile.in.in (objs):
10365         added win32.o, cosmetic cleanups.
10366
10367         * alloc.c (Fmake_byte_code):
10368         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10369         etc. macros which declare their own args now.
10370
10371         * alloc.c (syms_of_alloc):
10372         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10373
10374         * buffer.c:
10375         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10376
10377         * buffer.c (Fget_file_buffer):
10378         Fixed GCPRO problem.
10379
10380         * buffer.c (get_truename_buffer):
10381         Fixed comment about GC checking.
10382
10383         * buffer.c (syms_of_buffer):
10384         Undeclared those dedicated frame funs.
10385         [2].
10386
10387         * buffer.h:
10388         Define convenience macros for internal/external conversions.
10389         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10390         and Qenvironment_variable_encoding for cleaner code.
10391
10392         * bufslots.h:
10393         Remove dedicated-frame; in lisp.
10394
10395         * bytecode.c (funcall_compiled_function):
10396         [1].
10397
10398         * bytecode.c (syms_of_bytecode):
10399         [2].
10400
10401         * console-msw.c:
10402         * console-msw.c (mswindows_show_console): Rewrote.
10403
10404         * console-msw.c (Fmswindows_debugging_output): New.
10405         Sends to OutputDebugString (special MSWin debugger interface).
10406
10407         * console-msw.c (Fmswindows_message_box):
10408         Fixed stupid bugs so it works when called from kill-emacs.
10409
10410         * console-msw.c (syms_of_console_mswindows):
10411         Declare Fmswindows_debugging_output.
10412
10413         * console-msw.h:
10414         New MSWin prototypes.
10415
10416         * console-msw.h (struct mswindows_frame):
10417         New entry last-click-mods for improved button-modifier support.
10418
10419         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10420         New struct entry `popup' with corresponding accessor.
10421
10422         * console-x.c:
10423         * console-x.c (split_up_display_spec):
10424         * console-x.c (get_display_arg_connection):
10425         * console-x.c (x_semi_canonicalize_console_connection):
10426         * console-x.c (x_canonicalize_device_connection):
10427         [[[6]]]: Change char to more specific type.
10428         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10429
10430         * console-x.c (x_semi_canonicalize_console_connection):
10431         * console-x.c (x_canonicalize_device_connection):
10432         [[[9]]]: Fix up error signalling to use new structured error system.
10433
10434         * console-x.h:
10435         [[[4]]]: Define codesys aliases:
10436         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10437         Qx_color_name_encoding, Qx_display_name_encoding.
10438
10439         * console.h (struct console_methods):
10440         New method make_dialog_box_internal supersedes older
10441         popup_dialog_box method.
10442
10443         * data.c:
10444         Define many new errors, part of new structured errors.
10445
10446         * data.c (init_errors_once_early):
10447         * data.c (syms_of_data):
10448         [2].
10449
10450         * device-msw.c (mswindows_init_device):
10451         [[[5]]]: Cleanup to support NT 3.51.
10452
10453         * device-msw.c (decode_devmode): Cleanup.
10454
10455         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10456         * device-msw.c (mswindows_handle_print_dialog_box):
10457         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10458         * device-msw.c (syms_of_device_mswindows):
10459         Delete the dialog box primitives recently introduced by Kirill and
10460         instead interface to general dialog box interface.
10461
10462         * device-x.c:
10463         * device-x.c (compute_x_app_name):
10464         * device-x.c (x_init_device):
10465         * device-x.c (Fx_valid_keysym_name_p):
10466         * device-x.c (Fx_set_font_path):
10467         [6].
10468         [7].
10469
10470         * device.h (wrap_device): New.
10471         First of its kind; meant to replace XSETDEVICE.
10472
10473         * dialog-msw.c: Many file-dialog symbols.
10474
10475         * dialog-msw.c (mswindows_register_popup_frame): New.
10476         * dialog-msw.c (mswindows_is_dialog_msg): New.
10477         For supporting kbd traversal in dialog boxes.
10478
10479         * dialog-msw.c (dialog_proc):
10480         Support hitting ESC in dialogs.
10481
10482         * dialog-msw.c (struct):
10483         Common dialog box errors.
10484
10485         * dialog-msw.c (handle_file_dialog_box): New.
10486         Add file dialog code.
10487
10488         * dialog-msw.c (handle_question_dialog_box):
10489         Redo existing code to support new question dialog syntax.
10490
10491         * dialog-msw.c (console_type_create_dialog_mswindows):
10492         We support new dialog console method.
10493
10494         * dialog-msw.c (syms_of_dialog_mswindows):
10495         * dialog-msw.c (vars_of_dialog_mswindows):
10496         New file dialog symbols, vars.
10497
10498         * dialog-x.c:
10499         * dialog-x.c (maybe_run_dbox_text_callback):
10500         * dialog-x.c (dbox_descriptor_to_widget_value):
10501         * dialog-x.c (x_make_dialog_box_internal):
10502         * dialog-x.c (console_type_create_dialog_x):
10503         Mule-ize entire file.
10504         Redo to support question dialog syntax.
10505         [6].
10506
10507         * dialog.c:
10508         * dialog.c (Fmake_dialog_box_internal):
10509         * dialog.c (syms_of_dialog):
10510         Kill old popup-dialog-box, replace with new primitive.
10511         Just call device method or signal error.
10512
10513         * eldap.c (Fldap_open):
10514         * eldap.c (Fldap_search_basic):
10515         * eldap.c (Fldap_add):
10516         * eldap.c (Fldap_modify):
10517         [1].
10518         [7].
10519
10520         * emacs.c:
10521         * emacs.c (make_arg_list_1):
10522         * emacs.c (make_arg_list):
10523         Mule-ize call to dll_init().
10524         [6].
10525         [8].
10526
10527         * emacs.c (make_argc_argv):
10528         * emacs.c (free_argc_argv):
10529         * emacs.c (init_cmdargs):
10530         * emacs.c (main_1):
10531         * emacs.c (Fkill_emacs):
10532         * emacs.c (Fdump_emacs):
10533         Update comments about what can be used in syms_* etc.
10534         Call init_win32() when necessary.
10535         Fix up MS Win dialog box in kill-buffer to actually work right.
10536         [7].
10537
10538         * eval.c:
10539         * eval.c (For):
10540         * eval.c (Fand):
10541         * eval.c (Fprogn):
10542         * eval.c (Fprog1):
10543         * eval.c (Fprog2):
10544         * eval.c (FletX):
10545         * eval.c (Flet):
10546         * eval.c (condition_case_3):
10547         * eval.c (Feval):
10548         * eval.c (function_argcount):
10549         * eval.c (funcall_lambda):
10550         [1].
10551
10552         * eval.c (type_error): New.
10553         * eval.c (maybe_type_error): New.
10554         * eval.c (continuable_type_error): New.
10555         * eval.c (maybe_continuable_type_error): New.
10556         * eval.c (type_error_with_frob): New.
10557         * eval.c (maybe_type_error_with_frob): New.
10558         * eval.c (continuable_type_error_with_frob): New.
10559         * eval.c (maybe_continuable_type_error_with_frob): New.
10560         New functions for use with structured errors.
10561
10562         * event-Xt.c:
10563         * event-Xt.c (x_event_to_emacs_event):
10564         Buttons are now modifiers too.
10565
10566         * event-Xt.c (emacs_Xt_current_event_timestamp):
10567         Implement new event method.
10568         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10569
10570         * event-msw.c:
10571         * event-msw.c (ntpipe_shove_writer): [5].
10572         * event-msw.c (mswindows_enqueue_mouse_button_event):
10573         * event-msw.c (mswindows_drain_windows_queue):
10574         * event-msw.c (mswindows_wnd_proc): [7].
10575         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10576         * event-msw.c (mswindows_modifier_state):
10577         Throughout: support new button modifiers.
10578
10579         * event-msw.c (emacs_mswindows_current_event_timestamp):
10580         Implement new event method.
10581         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10582
10583         * event-stream.c:
10584         * event-stream.c (event_stream_current_event_timestamp): New.
10585         * event-stream.c (maybe_kbd_translate): New functionality.
10586         * event-stream.c (vars_of_event_stream):
10587         Document new kbd-translate-table functionality.
10588
10589         * event-stream.c (Fcurrent_event_timestamp): New.
10590         New primitive for use in fabricated events.
10591         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10592
10593         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10594
10595         * events.c:
10596         * events.c (Fmake_event):
10597         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10598         [1].
10599         [9].
10600
10601         * events.c (format_event_object): fix gcc warnings.
10602
10603         * events.c (Fevent_timestamp): Document new primitives.
10604
10605         * events.c (TIMESTAMP_HALFSPACE): New.
10606
10607         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10608         comparing timestamps correctly (half-space algorithm).
10609
10610         * events.c (Fevent_modifier_bits): Doc fix.
10611
10612         * events.c (Fevent_modifiers): Major doc addition.
10613         * events.c (event_x_y_pixel_internal): Typo fix.
10614         * events.c (syms_of_events): Declare new primitives.
10615
10616         * events.h:
10617         Update long comment for button modifiers, timestamps.
10618
10619         * events.h (struct event_stream):
10620         New current_event_timestamp method.
10621
10622         * extents.c:
10623         * extents.c (extent_in_region_p):
10624         * extents.c (decode_extent):
10625         * extents.c (Fset_extent_parent):
10626         * extents.c (decode_map_extents_flags):
10627         Fix gcc warnings.
10628         [9].
10629
10630         * extents.c (struct extent_at_arg):
10631         * extents.c (decode_extent_at_flag):
10632         * extents.c (extent_at_mapper):
10633         * extents.c (extent_at_bytind):
10634         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10635         * extents.c (Fextents_at): New primitive. [9].
10636         * extents.c (symbol_to_glyph_layout): [9].
10637         Support new primitive `extents-at'.
10638
10639
10640         * extents.c (get_text_property_bytind):
10641         extent_at_bytind has another arg.
10642         [9].
10643
10644         * extents.c (syms_of_extents): New primitive.
10645
10646         * file-coding.c (Fmake_coding_system): [1].
10647         * file-coding.c (subsidiary_coding_system): fix gcc warning
10648         * file-coding.c (syms_of_file_coding): [2].
10649
10650         * fileio.c (Fexpand_file_name):
10651         * fileio.c (Fsysnetunam):
10652         * fileio.c (Ffile_exists_p):
10653         * fileio.c (Ffile_executable_p):
10654         * fileio.c (Fverify_visited_file_modtime):
10655         Clean up GCPROing.
10656
10657         * fileio.c (syms_of_fileio): [2].
10658
10659         * filelock.c (lock_file_1):
10660         * filelock.c (current_lock_owner):
10661         * filelock.c (lock_if_free):
10662         * filelock.c (lock_file):
10663         * filelock.c (unlock_file):
10664         Clean up GCPROing.
10665
10666         * fns.c (concat): Fix gcc warning.
10667
10668         * fns.c (Fmember):
10669         * fns.c (Fold_member):
10670         * fns.c (Fmemq):
10671         * fns.c (Fold_memq):
10672         * fns.c (memq_no_quit):
10673         * fns.c (Fassoc):
10674         * fns.c (Fold_assoc):
10675         * fns.c (Fassq):
10676         * fns.c (Fold_assq):
10677         * fns.c (assq_no_quit):
10678         * fns.c (Frassoc):
10679         * fns.c (Fold_rassoc):
10680         * fns.c (Frassq):
10681         * fns.c (Fold_rassq):
10682         * fns.c (rassq_no_quit):
10683         * fns.c (Fdelete):
10684         * fns.c (Fold_delete):
10685         * fns.c (Fdelq):
10686         * fns.c (Fold_delq):
10687         * fns.c (delq_no_quit):
10688         * fns.c (Fremassoc):
10689         * fns.c (Fremassq):
10690         * fns.c (remassq_no_quit):
10691         * fns.c (Fremrassoc):
10692         * fns.c (Fremrassq):
10693         * fns.c (remrassq_no_quit):
10694         * fns.c (Freverse):
10695         * fns.c (mapcar1):
10696         [1].
10697
10698         * frame-msw.c (mswindows_init_frame_1):
10699         * frame-msw.c (mswindows_delete_frame):
10700         Register popups with dialog code so keyboard traversing works.
10701
10702         * frame-tty.c (tty_raise_frame_no_select): [1].
10703
10704         * frame-x.c:
10705         * frame-x.c (x_set_frame_text_value):
10706         * frame-x.c (x_set_frame_properties):
10707         * frame-x.c (x_create_widgets):
10708         [7].
10709
10710         * frame.c:
10711         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10712
10713         * frame.h (wrap_frame): New.
10714         Macro like wrap_device.
10715
10716         * general.c:
10717         * general.c (SYMBOL):
10718         * general.c (syms_of_general):
10719         Major reorg.  This is now just a wrapper and symbols themselves
10720         are listed in general-slots.h.
10721
10722         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
10723         * glyphs-msw.c (mswindows_resource_instantiate): [5].
10724
10725         * glyphs-msw.c (mswindows_native_layout_instantiate):
10726         Add DS_CONTROL so keyboard traversal will work.
10727
10728         * glyphs-widget.c:
10729         * glyphs-widget.c (syms_of_glyphs_widget):
10730         Move some symbols to general-slots.h.
10731
10732         * glyphs-x.c:
10733         * glyphs-x.c (xbm_instantiate_1):
10734         * glyphs-x.c (x_xbm_instantiate):
10735         * glyphs-x.c (x_xface_instantiate):
10736         * glyphs-x.c (autodetect_instantiate):
10737         * glyphs-x.c (cursor_font_instantiate):
10738         * glyphs-x.c (x_update_widget):
10739         * glyphs-x.c (x_widget_instantiate):
10740         * glyphs.c (bitmap_to_lisp_data):
10741         * glyphs.c (pixmap_to_lisp_data):
10742         [7].
10743
10744         * glyphs.c (syms_of_glyphs):
10745         [2].
10746
10747         * gui-x.c:
10748         * gui-x.c (print_widget_value):
10749         * gui-x.c (menu_separator_style_and_to_external):
10750         * gui-x.c (add_accel_and_to_external):
10751         * gui-x.c (button_item_to_widget_value):
10752         * gui-x.c (gui_items_to_widget_values_1):
10753         * gui-x.c (gui_items_to_widget_values):
10754         * gui-x.c (syms_of_gui_x):
10755         * gui-x.c (vars_of_gui_x):
10756         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
10757         [9].
10758
10759         * gui-x.h:
10760         Muleize, prototype changes matching gui-x.c.
10761
10762         * gui.c:
10763         * gui.c (separator_string_p):
10764         * gui.c (gui_item_add_keyval_pair):
10765         * gui.c (make_gui_item_from_keywords_internal):
10766         * gui.c (signal_too_long_error):
10767         * gui.c (parse_gui_item_tree_item):
10768         * gui.c (syms_of_gui):
10769         * gui.c (vars_of_gui):
10770         * gui.h:
10771         menu-no-selection-hook moved here (used by MSWin).
10772         Move some symbols to general-slots.h.
10773         [6].
10774         [9].
10775
10776         * insdel.c (get_buffer_pos_char):
10777         * insdel.c (get_buffer_range_char):
10778         Add GC comments.
10779
10780         * keymap.c (keymap_lookup_directly):
10781         * keymap.c (keymap_store):
10782         * keymap.c (ensure_meta_prefix_char_keymapp):
10783         * keymap.c (describe_map):
10784         * keymap.h:
10785         Support new button modifiers.
10786
10787         * lisp-disunion.h (wrap_object):
10788         * lisp-disunion.h (XSETOBJ):
10789         Rename make_obj to wrap_object.
10790
10791         * lisp-union.h:
10792         * lisp-union.h (make_int):
10793         * lisp-union.h (make_char):
10794         Support wrap_object.
10795
10796         * lisp.h:
10797         * lisp.h (LIST_LOOP):
10798         * lisp.h (EXTERNAL_LIST_LOOP):
10799         * lisp.h (LIST_LOOP_2):
10800         * lisp.h (EXTERNAL_LIST_LOOP_1):
10801         * lisp.h (EXTERNAL_LIST_LOOP_2):
10802         * lisp.h (EXTERNAL_LIST_LOOP_3):
10803         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
10804         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10805         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
10806         * lisp.h (EXTERNAL_ALIST_LOOP_5):
10807         * lisp.h (EXTERNAL_ALIST_LOOP_6):
10808         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
10809         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
10810         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
10811         * lisp.h (struct Lisp_Symbol):
10812         * lisp.h (maybe_continuable_error_with_frob):
10813         Fix up section comments.
10814         Add new types for char to indicate usage.
10815         Delete symbols auto-generated from general-slots.h.
10816         Add prototypes for structured error functions.
10817         Add long comments describing looping macros and change interface
10818         so that lvalues are automatically declared.
10819         Add NO_DECLARE macro in case callers want to declare lvalues
10820         themselves.
10821
10822         * lread.c (read_syntax_error):
10823         * lread.c (continuable_read_syntax_error):
10824         * lread.c (read_structure):
10825         * lread.c (sequence_reader):
10826         * lread.c (read_list_conser):
10827         * lread.c (read_compiled_function):
10828         Rename syntax_error and continuable_syntax_error to avoid clash
10829         with same-named structured error functions.
10830
10831         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
10832         * menubar-msw.c (populate_menu_add_item):
10833         * menubar-msw.c (populate_or_checksum_helper):
10834         [5].
10835         [9].
10836
10837         * menubar-x.c:
10838         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10839         Mule-ize whole file.
10840
10841         * menubar.c (Fnormalize_menu_item_name): Add optimization.
10842
10843         * mule-charset.c (Fmake_charset):
10844         * mule-wnnfns.c (Fwnn_set_param):
10845         [1].
10846
10847         * ntproc.c (create_child):
10848         * ntproc.c (Fwin32_set_current_locale):
10849         Add comments portending doom.
10850
10851         * objects-msw.c:
10852         * objects-msw.c (old_font_enum_callback_2):
10853         * objects-msw.c (font_enum_callback_1):
10854         * objects-msw.c (mswindows_enumerate_fonts):
10855         [5].
10856
10857         * objects-x.c:
10858         * objects-x.c (allocate_nearest_color):
10859         * objects-x.c (x_parse_nearest_color):
10860         * objects-x.c (x_initialize_color_instance):
10861         * objects-x.c (x_print_color_instance):
10862         * objects-x.c (x_finalize_color_instance):
10863         * objects-x.c (x_valid_color_name_p):
10864         * objects-x.c (x_initialize_font_instance):
10865         * objects-x.c (x_print_font_instance):
10866         * objects-x.c (valid_x_font_name_p):
10867         * objects-x.c (truename_via_FONT_prop):
10868         * objects-x.c (truename_via_random_props):
10869         * objects-x.c (truename_via_XListFonts):
10870         * objects-x.c (x_font_truename):
10871         * objects-x.c (x_font_instance_truename):
10872         * objects-x.c (x_font_instance_properties):
10873         * objects-x.c (x_list_fonts):
10874         * objects-x.c (x_find_charset_font):
10875         Mule-ize entire file.
10876         [7].
10877
10878         * objects-x.h:
10879         Mule-verify.
10880
10881         * print.c:
10882         * print.c (std_handle_out_external):
10883         * print.c (debug_print_no_newline):
10884         * print.c (syms_of_print):
10885         Output to all debugger kinds in debug-print.
10886         Fix console-output code under MSWin to actually work.
10887
10888         * process-nt.c (send_signal):
10889         * process-nt.c (nt_create_process):
10890         Use newer Unicode macros.
10891
10892         * process-unix.c (unix_create_process):
10893         * process-unix.c (unix_canonicalize_host_name):
10894         * process-unix.c (unix_open_network_stream):
10895         [7].
10896
10897         * scrollbar-x.c:
10898         Mule-verify.
10899
10900         * search.c (syms_of_search):
10901         [2].
10902
10903         * select-msw.c (mswindows_destroy_selection):
10904         Use LIST_LOOP_2.
10905
10906         * select-x.c (symbol_to_x_atom):
10907         [7].
10908
10909         * select.c (syms_of_select):
10910         [2].
10911
10912         * sound.c (Fplay_sound_file):
10913         [7].
10914
10915         * specifier.c:
10916         * specifier.c (decode_specifier_type):
10917         * specifier.c (Fvalid_specifier_locale_type_p):
10918         * specifier.c (check_valid_locale_or_locale_type):
10919         * specifier.c (decode_locale):
10920         * specifier.c (decode_locale_type):
10921         * specifier.c (decode_locale_list):
10922         * specifier.c (check_valid_domain):
10923         * specifier.c (decode_specifier_tag_set):
10924         * specifier.c (Fcanonicalize_tag_set):
10925         * specifier.c (Fdefine_specifier_tag):
10926         * specifier.c (Fspecifier_tag_predicate):
10927         * specifier.c (check_valid_inst_list):
10928         * specifier.c (check_valid_spec_list):
10929         * specifier.c (decode_how_to_add_specification):
10930         * specifier.c (check_modifiable_specifier):
10931         * specifier.c (specifier_add_spec):
10932         * specifier.c (boolean_validate):
10933         * specifier.c (display_table_validate):
10934         [9].
10935
10936         * specifier.c (syms_of_specifier):
10937         Move some symbols to general-slots.h.
10938         [2].
10939
10940         * symbols.c:
10941         * symbols.c (Fmapatoms):
10942         * symbols.c (Fapropos_internal):
10943         Add GCPROs.
10944
10945         * symbols.c (set_default_buffer_slot_variable):
10946         * symbols.c (set_default_console_slot_variable):
10947         [1].
10948
10949         * symbols.c (defsymbol_massage_name_1):
10950         * symbols.c (defkeyword_massage_name):
10951         * symbols.c (deferror_1):
10952         * symbols.c (deferror):
10953         * symbols.c (deferror_massage_name_and_message):
10954         * symeval.h:
10955         * symeval.h (DEFSYMBOL):
10956         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
10957
10958         * symbols.c (syms_of_symbols):
10959         [2].
10960
10961         * symsinit.h:
10962         * symsinit.h (init_win32): New.
10963         Also new is syms_of_dialog_mswindows.
10964
10965         * syswindows.h:
10966         Add new Unicode macros, missing Cygwin wide-char functions,
10967         convenience conversion macros for Qmswindows_tstr, macros for
10968         encapsulating required MSWin <-> Cygwin filename conversions,
10969         prototype for dynamically-extracted (not in NT 3.51) functions.
10970
10971         * toolbar-x.c:
10972         Mule-verify.
10973
10974         * tooltalk.c (Fadd_tooltalk_message_arg):
10975         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
10976         * tooltalk.c (Fadd_tooltalk_pattern_arg):
10977         [7].
10978
10979         * tooltalk.c (syms_of_tooltalk):
10980         [2].
10981
10982         * unexnt.c:
10983         * unexnt.c (unexec):
10984         Fix up headers, declaration of unexec() to be more standard.
10985
10986 2000-07-20  Martin Buchholz  <martin@xemacs.org>
10987
10988         * offix.h: Revert change to guard macros - they're used in offix.c!
10989
10990 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
10991
10992         * lisp.h: Defsubred Fdelete.
10993
10994         * console-msw.h:  (msprinter_default_printer): Added.
10995
10996         * console-msw.c (msprinter_canonicalize_console_connection):
10997         (msprinter_canonicalize_device_connection): Added.
10998
10999         * device-msw.c (msprinter_default_printer):
11000         (Fmswingows_get_default_printer):
11001         (signal_enum_priner_error):
11002         (Fmswingows_printer_list): Added.
11003
11004 2000-07-19  Martin Buchholz <martin@xemacs.org>
11005
11006         * XEmacs 21.2.35 is released.
11007
11008 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11009
11010         * select-x.c (x_handle_selection_request):
11011         Text selected in xemacs and pasted into xterm failed to appear.
11012         Spelling fixes and cosmetic changes.
11013
11014 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11015
11016         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11017         XEmacs frame (fix for doubling chars in dialog boxes).
11018
11019 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11020
11021         * select.c (select_convert_in, select_convert_out):
11022         Don't call intern() every time.
11023
11024         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11025         * select.c (vars_of_select): Initialise them.
11026
11027 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11028
11029         * select.c (selection-coercible-types): New.
11030
11031         * select.c (own-selection-internal):
11032         * select.c (get-selection-internal):
11033         MULE bug fix - these should default to COMPOUND_TEXT and not
11034         STRING for MULE. I think.
11035
11036         * select.c (select_convert_out): Use selection-coercible-types
11037         to find types that we can attempt to perform coercions on.
11038
11039 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11040
11041         * mule-wnnfns.c:
11042         * mule-canna.c:
11043         Add coding: cookie to identify encoding.
11044
11045         * mule-canna.c (CANNA_mode_keys): make static.
11046         Use proper prototypes, even for functions of no arguments.
11047         Remove external prototype for Fding().
11048
11049         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11050
11051         * select.c (syms_of_select): Add missing DEFSUBR.
11052
11053 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11054
11055         * select.c (get_selection_internal, own_selection_internal):
11056         Make the type default to STRING, rather than placing a nil type
11057         into Vselection_alist.
11058
11059 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11060
11061         * gpmevent.c (tty_selection_exists_p):
11062         * gpmevent.c (tty_own_selection):
11063         Updated parameter lists.
11064
11065 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11066
11067         * select.h (selection-alist): Removed declaration.
11068
11069         * select.h (get_local_selection):
11070         * select.c (get_local_selection):
11071         Made static.
11072
11073         * select.h (convert_selection): Removed declaration.
11074         * select.c (convert_selection): Removed.
11075         This function belongs in Lisp.
11076
11077         * select.h (select_convert_in): Declare.
11078         * select.h (select_convert_out): Declare.
11079         * select.c (select_convert_in): New.
11080         * select.c (select_convert_out): New.
11081         New conversion functions for other files to call.
11082
11083         * select.h (select_notify_buffer_kill): Declare.
11084         * select.c (select_notify_buffer_kill): New.
11085         New functions that get called from kill-buffer.
11086
11087         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11088         X-specific lisp code.
11089
11090         * select.h: Declare some of the lisp-visible functions for
11091         external use.
11092
11093         * select.c (clean_local_selection_data): Removed. This was
11094         a disgusting function, and previously should have been in
11095         select-x.c in any case. The functionality is now provided
11096         in select-convert-from-integer (select.el).
11097
11098         * select.c (available-selection-types): Fixed stupidity where
11099         INTEGER and ATOM got added twice. Also add STRING when we see an
11100         extent.
11101
11102         * select.c (get-selection-internal): Removed symbol stripping. No
11103         longer causes conversion when data comes from the internal cache.
11104
11105         * select.c (syms_of_select): Added new functions.
11106
11107         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11108         error checking - previously this called abort!
11109
11110         * select-x.c (x_own_selection): Changed comment.
11111
11112         * select-x.c (x_handle_selection_request): Use select_convert_out.
11113         Don't mess with selection-alist; it's an internal variable of select.c.
11114
11115         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11116
11117         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11118         rather than messing with selection-alist.
11119
11120         * select-msw.c (mswindows_get_foreign_selection):
11121         Use TO_INTERNAL_FORMAT rather than hacking.
11122
11123 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11124
11125         * process-unix.c (unix_open_multicast_group):
11126         (unix_open_multicast_group): Remove useless casts.
11127
11128 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11129
11130         * sound.c (Fplay_sound): Fix `unused variable' warning.
11131
11132         * emacs.c (main): Use correct type for _environ on SCO5.
11133
11134 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11135
11136         * console.h (own_selection_method):
11137         * console.h (selection_exists_p_method):
11138         * console.h (available_selection_types_method): New.
11139         * console.h (register_selection_data_type_method): New.
11140         * console.h (selection_data_type_name): New.
11141
11142         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11143         function & alist to track GlobalAlloc()'d handles that need
11144         releasing when the clipboard data gets replaced or emptied.
11145
11146         * event-msw.c (mswindows_wnd_proc): Call it.
11147
11148         * lisp.h, general.c (Qappend): New symbol representing a
11149         `how-to-add' mode.
11150
11151         * select.c (own-selection-internal):
11152         * select.c (selection-exists-p):
11153         * select.c (available-selection-types): New.
11154         * select.c (register-selection-data-type): New.
11155         * select.c (selection-data-type-name): New.  New functions to deal
11156         with device-specific selection data formats.
11157         * select.c (selection-converter-out-alist): Renamed.
11158         * select.c (selection-converter-in-alist): New.
11159         * select.c (selection-appender-alist): New.  Added new alists.
11160         * select.c (syms_of_select, vars_of_select): Added new symbols &
11161         variables.
11162         * select.c (get_local_selection): Split.
11163         * select.c: Removed spurious type checking - selections may now be
11164         of any type, not just strings.
11165         * select.c (own-selection-internal):
11166
11167         * select.h, select.c (convert_selection): New. Created
11168         convert_selection() function based on get_local_selection().
11169         * select.h, select.c (QCF_*): New symbols representing mswindows
11170         clipboard formats.
11171         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11172         symbols representing `how-to-add' modes.
11173
11174         * select-msw.c (x_sym_p): New.
11175         * select-msw.c (symbol_to_ms_cf): New.
11176         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11177         symbols & clipboard formats. Can also handle string names.
11178         * select-msw.c (mswindows_own_selection):
11179         * select-msw.c (mswindows_selection_exists_p):
11180         Added `data-type' parameter. Use it.
11181         * select-msw.c (mswindows_available_selection_types): New.
11182         * select-msw.c (mswindows_register_selection_data_type): New.
11183         * select-msw.c (mswindows_selection_data_type_name): New.
11184         * select-msw.c (mswindows_own_selection):
11185         * select-msw.c (mswindows_get_foreign_selection):
11186         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11187         * select-msw.c (console_create_select_mswindows): Added new methods.
11188         * select-msw.c (mswindows_destroy_selection): New.
11189         * select-msw.c (Vhandle_alist): New list.
11190         * select-msw.c (mswindows_own_selection):
11191
11192         * select-x.c (x_own_selection):
11193         * select-x.c (x_selection_exists_p):
11194         * select-x.c: Added some comments about maybe using new
11195         functionality.
11196         * select-x.c (x_own_selection):
11197
11198         * specifier.c: Remove definition of Qappend (now in general.c)
11199         * specifier.c (syms_of_specifier): Remove Qappend.
11200
11201 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11202
11203         * config.h.in: Add socklen_t.
11204
11205         * s/decosf4-0.h: No special compiler flags needed or desired.
11206         In particular, undefine _BSD for DEC OSF 4.0.
11207
11208 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11209
11210         * redisplay-msw.c (msprinter_frame_output_end): Added.
11211         (console_type_create_redisplay_mswindows): Referred the above.
11212
11213         * frame.c (setup_frame_without_minibuffer): Do not create a
11214         default minibuffer frame on a printer device.
11215
11216         * frame-msw.c (apply_dc_geometry): Added.
11217         (msprinter_start_page):
11218         (msprinter_init_frame_3):
11219         (msprinter_eject_page): Use it.
11220
11221         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11222         and removed residual duplex and orientation properties.
11223
11224 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11225
11226         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11227
11228         * unexalpha.c: Remove system prototypes from C sources!
11229
11230 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11231
11232         * eval.c: Remove references to M-x edit-options in DEFUNs for
11233         `defvar' and `defconst'.
11234
11235 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11236
11237         * config.h.in: Remove SMART_INCLUDE hackery.
11238
11239         PostgreSQL hacking:
11240         * config.h.in: Don't use SMART_INCLUDE.
11241
11242         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11243         * inline.c: Simply #include "postgresql.h"
11244         * postgresql.c:
11245         - Don't use SMART_INCLUDE
11246         - Use simply "const".
11247         - Use standard doc string conventions.
11248         - Use correct type for result of PQstatus.
11249
11250 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11251
11252         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11253
11254         C++ compilation changes.
11255         * config.h.in (EXTERN_C): Define.
11256         * config.h.in (not): This is also a C++ keyword.
11257         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11258         * cm.c: Use EXTERN_C.
11259         * redisplay-tty.c: Use EXTERN_C.
11260         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11261
11262 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11263
11264         * general.c: Remove duplicate definition for Qfunction.
11265
11266 2000-07-08  Ben Wing  <ben@xemacs.org>
11267
11268         * device-msw.c (msprinter_init_device):
11269         * device-msw.c (sync_printer_with_devmode):
11270         * device-msw.c (handle_devmode_changes):
11271         * device-msw.c (print_dialog_worker):
11272         * device-msw.c (Fmsprinter_apply_settings):
11273         * device-msw.c (hash_devmode):
11274         * device-msw.c (Fmsprinter_settings_despecialize):
11275         use Qmswindows_tstr, not Qctext.
11276
11277         * vm-limit.c (check_memory_limits):
11278         avoid infinite loop printing warning messages.
11279
11280 2000-07-05  Craig Lanning  <lanning@scra.org>
11281
11282         * Makefile.in.in: Add support for including the Windows resources
11283         when building with the cygwin and mingw targets.
11284
11285         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11286         not set or not correct.
11287         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11288         (init_initial_directory): Don't try to use $PWD on the
11289         WIN32_NATIVE target.
11290
11291         * s\cygwin32.h:
11292         [[Add -mwindows to eliminate console window.]] not required --ben
11293         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11294         (MAIL_USE_POP): removed; now handled by configure.
11295
11296         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11297         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11298         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11299         (MAIL_USE_POP): removed; now handled by configure.
11300         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11301         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11302         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11303         constant string.
11304         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11305         up from <winsock.h> via systime.h.
11306         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11307         (getpagesize): from Dan Holmsand, added.
11308         Added #endif which was left dangling by Ben's mega patch; added
11309         comment to help prevent this in the future.
11310
11311         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11312
11313 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11314
11315         * console-msw.h (struct mswindows_device): Removed unnecessary
11316         cached device geometry values.
11317         Added update_tick and an accessor macro.
11318         (Lisp_Devmode): Added lrecord declaration.
11319         (struct msprinter_device): Contain devmode as a Lisp object.
11320         Added mswindows_get_selected_frame_hwnd();
11321
11322         * console.h (struct console_methods): Indentation nitpicking.
11323
11324         * device-msw.c (mswindows_init_device): Do not initialize geometry
11325         cache. Initialize update tick.
11326         (mswindows_device_system_metrics): Ask the device for its geometry.
11327         (global_free_2_maybe):
11328         (devmode_to_hglobal):
11329         (handle_printer_changes):
11330         (ensure_not_printing):
11331         (print_dialog_worker):
11332         (Fmsprinter_print_setup_dialog):
11333         (Fmsprinter_print_dialog):
11334         (plist_get_margin):
11335         (plist_set_margin):
11336         (Fmsprinter_page_setup_dialog): Added functions.
11337         (sync_printer_with_devmode):
11338         (handle_devmode_changes):
11339         (Fmsprinter_get_settings):
11340         (Fmsprinter_select_settings):
11341         (Fmsprinter_apply_settings):
11342         (allocate_devmode):
11343         (Fmsprinter_settings_copy):
11344         (Fmsprinter_settings_despecialize):
11345         (print_devmode):
11346         (finalize_devmode):
11347         (equal_devmode):
11348         (hash_devmode): Added functions
11349         (syms_of_device_mswindows): Init devmode lrecord class.
11350
11351         * device.h: Added an exfun for find-device.
11352
11353         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11354         geometry; although, recreate the device compatible DC.
11355
11356         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11357         (msprinter_init_frame_3):
11358         (msprinter_frame_property):
11359         (msprinter_internal_frame_property_p):
11360         (msprinter_frame_properties):
11361         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11362         print job properties (will move to device settings).
11363
11364         * lisp.h: Added symbols.
11365
11366         * general.c (syms_of_general): Declared them.
11367
11368         * hash.c (string_hash): Added.
11369
11370         * lrecord.h (lrecord_type): Added devmode lrecord type.
11371
11372 2000-07-02  Mike Sperber <mike@xemacs.org>
11373
11374         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11375         FreeBSD 4.0.
11376
11377 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11378
11379         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11380         integer.
11381
11382 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11383
11384         * data.c (Fstring_to_number): Don't recognize floating point if
11385         base is not 10.
11386
11387 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11388
11389         * glyphs-widget.c (tab_control_query_geometry):
11390         (widget_query_geometry):
11391         (button_query_geometry):
11392         * glyphs.c (text_query_geometry):
11393         Enforce type correctness.
11394
11395 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11396
11397         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11398         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11399
11400 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11401
11402         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11403         conflicts with gcc's fixincluded version of FOO.h.
11404
11405         * glyphs.h (image_instance_geometry): Remove trailing `,'
11406
11407 2000-06-08  Mike Alexander  <mta@arbortext.com>
11408
11409         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11410         (shove_thread): Don't write the same output twice
11411         (make_ntpipe_output_stream): Increase priority of shove thread
11412         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11413         chance to run
11414         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11415         it.
11416
11417 2000-06-12  Ben Wing  <ben@xemacs.org>
11418
11419         * s\mingw32.h (sigset):
11420         * s\windowsnt.h (sigset):
11421         rename msw_ to mswindows_ for consistency with general convention.
11422
11423 2000-06-12  Ben Wing  <ben@xemacs.org>
11424
11425         * console-msw.c:
11426         * console-msw.c (mswindows_get_console_hwnd):
11427         * console-msw.c (mswindows_ensure_console_allocated):
11428         * console-msw.c (mswindows_hide_console):
11429         * console-msw.c (mswindows_show_console):
11430         * console-msw.c (mswindows_ensure_console_buffered):
11431         * console-msw.c (mswindows_output_console_string):
11432         * console-msw.c (mswindows_windows9x_p):
11433         * console-msw.h:
11434         * device-msw.c (mswindows_get_workspace_coords):
11435         * device-msw.c (mswindows_device_system_metrics):
11436         * dialog-msw.c (mswindows_popup_dialog_box):
11437         * event-msw.c (mswindows_wnd_proc):
11438         * frame-msw.c (mswindows_size_frame_internal):
11439         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11440         * menubar-msw.c (displayable_menu_item):
11441         * menubar-msw.c (mswindows_char_is_accelerator):
11442         * nt.c:
11443         * nt.c (mswindows_sigset):
11444         * nt.c (mswindows_sigrelse):
11445         * nt.c (mswindows_sigpause):
11446         * nt.c (mswindows_raise):
11447         * nt.c (timer_proc):
11448         * ntproc.c:
11449         * ntproc.c (find_child_console):
11450         * ntproc.c (sys_kill):
11451         * print.c:
11452         * print.c (std_handle_out_external):
11453         * process-nt.c (find_child_console):
11454         * process-nt.c (send_signal_the_95_way):
11455         * process-nt.c (ensure_console_window_exists):
11456         * process-nt.c (nt_create_process):
11457         * syssignal.h:
11458         rename msw_ to mswindows_ for consistency with general convention.
11459
11460         * emacs.c:
11461         * dumper.c:
11462         include nt.h, not syswindows.h.
11463
11464         * nt.c (mswindows_fstat):
11465         * nt.c (mswindows_stat):
11466         prefix mswindows_ instead of attempting to directly override the
11467         library functions.  fix declarations.
11468
11469         * nt.h:
11470         include syswindows.h.  move some sysdep.h stuff here.
11471
11472         * ntheap.h:
11473         include syswindows.h, not <windows.h>.
11474
11475         * ntplay.c:
11476         clean up headers.
11477
11478         * sysdep.c:
11479         clean up headers.
11480
11481         * sysdep.c (sys_fstat):
11482         * sysdep.c (sys_stat):
11483         call mswindows versions when appropriate.
11484
11485         * sysdep.h:
11486         move mswin decls to nt.h.
11487
11488         * syswindows.h:
11489         add long comment describing appropriate use of the various windows
11490         headers.
11491
11492 2000-06-11  Ben Wing  <ben@xemacs.org>
11493
11494         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11495
11496 2000-06-10  Ben Wing  <ben@xemacs.org>
11497
11498         * Makefile.in.in (release):
11499         Correction to make sure xemacs.exe always dumped when correct.
11500
11501         * alloca.c:
11502         * balloon_help.c:
11503         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11504
11505         * buffer.c (set_buffer_internal):
11506         [[[[2]]]]: Remove HAVE_FEP code.
11507
11508         * buffer.c (init_initial_directory):
11509         [3].
11510
11511         * bytecode.c:
11512         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11513         individual files.
11514
11515         * callproc.c:
11516         * callproc.c (call_process_cleanup):
11517         * callproc.c (Fold_call_process_internal):
11518         * callproc.c (child_setup):
11519         * callproc.c (getenv_internal):
11520         * callproc.c (init_callproc):
11521         * callproc.c (vars_of_callproc):
11522         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11523         __CYGWIN32__ -> CYGWIN.
11524         DOS_NT -> WIN32_NATIVE.
11525         Remove MSDOS support/references, converting to WIN32_NATIVE
11526           where correct.
11527         __MINGW32__ -> MINGW.
11528         Fix windows.h includes.
11529         Remove bogus HAVE_NTGUI.
11530
11531         * config.h.in:
11532         [2].
11533
11534         * console-msw.c:
11535         mswindows_message_outputted added for use in allowing startup
11536         errors on the console to be seen.
11537
11538         * console-msw.c (msw_ensure_console_allocated):
11539         * console-msw.c (msw_output_console_string):
11540         * console-msw.c (DHEADER):
11541         * console-msw.c (DOPAQUE_DATA):
11542         * console-msw.c (DEVENT):
11543         * console-msw.c (DCONS):
11544         * console-msw.c (DCONSCDR):
11545         * console-msw.c (DSTRING):
11546         * console-msw.c (DVECTOR):
11547         * console-msw.c (DSYMBOL):
11548         * console-msw.c (DSYMNAME):
11549         Fix warnings.
11550
11551         * console-stream.c (stream_init_console):
11552         Fix text/binary problems.
11553
11554         * device-msw.c:
11555         * device-msw.c (mswindows_finish_init_device):
11556         * device-msw.c (mswindows_delete_device):
11557         [1].
11558
11559         * device.c (handle_asynch_device_change):
11560         [3].
11561
11562         * dgif_lib.c:
11563         * dgif_lib.c (DGifOpenFileName):
11564         * dgif_lib.c (DGifOpenFileHandle):
11565         * dgif_lib.c (DGifGetLine):
11566         * dgif_lib.c (DGifGetPixel):
11567         Added config.h/lisp.h, fix up includes.
11568         [1].
11569
11570         * dired-msw.c:
11571         [4].
11572
11573         * dired.c:
11574         * dired.c (file_name_completion):
11575         * dired.c (Ffile_attributes):
11576         * dired.c (syms_of_dired):
11577         [1].
11578
11579         * dumper.c:
11580         * dumper.c (pdump_file_unmap):
11581         * dumper.c (pdump_load):
11582         [1].
11583
11584         * editfns.c:
11585         * editfns.c (Ftemp_directory):
11586         * editfns.c (user_login_name):
11587         * editfns.c (Fuser_real_login_name):
11588         * editfns.c (get_home_directory):
11589         [1].
11590
11591         * elhash.c (finish_marking_weak_hash_tables):
11592         [[[[5]]]]: Fix GCC warnings.
11593
11594         * emacs.c:
11595         * emacs.c (mswindows_handle_hardware_exceptions):
11596         * emacs.c (make_arg_list_1):
11597         * emacs.c (main_1):
11598         * emacs.c (Fkill_emacs):
11599         * emacs.c (Fdump_emacs):
11600         [1].
11601         Fix problems with nested crashes, add long comment.
11602
11603         * event-Xt.c (init_event_Xt_late):
11604         [1].
11605
11606         * event-msw.c:
11607         * event-msw.c (mswindows_dde_callback):
11608         * event-msw.c (mswindows_handle_sticky_modifiers):
11609         * event-msw.c (mswindows_wnd_proc):
11610         [1].
11611         [5].
11612
11613         * events.c (character_to_event):
11614         [1].
11615
11616         * fileio.c:
11617         * fileio.c (Ffile_name_directory):
11618         * fileio.c (Ffile_name_nondirectory):
11619         * fileio.c (directory_file_name):
11620         * fileio.c (Fexpand_file_name):
11621         * fileio.c (Fsubstitute_in_file_name):
11622         * fileio.c (Ffile_name_absolute_p):
11623         * fileio.c (check_executable):
11624         * fileio.c (Ffile_readable_p):
11625         * fileio.c (Ffile_accessible_directory_p):
11626         * fileio.c (Ffile_modes):
11627         * fileio.c (Funix_sync):
11628         * fileio.c (vars_of_fileio):
11629         [1]. [4].
11630
11631         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11632
11633         Expand getdefdir defn.
11634         Fix bogus rename() comment.
11635
11636         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11637         to use standard XEmacs include files, e.g. sysfile.h, rather
11638         than system-specific includes.
11639
11640         * fns.c:
11641         * fns.c (Fsubseq):
11642         [5]. [6].
11643
11644         * frame.c (vars_of_frame):
11645         [1].
11646
11647         * getloadavg.c:
11648         * getloadavg.c (getloadavg):
11649         [1]. [6].
11650         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11651         (We don't use it elsewhere in the code; just add a comment.)
11652
11653         * gif_io.c:
11654         [6].
11655         Add config.h.
11656
11657         * glyphs-msw.c:
11658         * glyphs-msw.c (mswindows_resource_instantiate):
11659         [1].
11660
11661         * glyphs-x.c (x_native_layout_instantiate):
11662         [5].
11663
11664         * gui-msw.c (Fmswindows_shell_execute):
11665         [1].
11666
11667         * insdel.c:
11668         [4].
11669
11670         * lisp.h:
11671         [4]. [5].
11672
11673         * lread.c (locate_file_in_directory_mapper):
11674         [1].
11675
11676         * lstream.c:
11677         [4].
11678
11679         * mem-limits.h:
11680         * mem-limits.h (get_lim_data):
11681         [1].
11682
11683         * menubar-msw.c:
11684         [4].
11685
11686         * ndir.h:
11687         [1].
11688
11689         * nt.c:
11690         * nt.c (getwd):
11691         * nt.c (closedir):
11692         * nt.c (rva_to_section):
11693         * nt.c (mswindows_executable_type):
11694         [1]. [6].
11695         Fix closedir() defn.
11696
11697         * nt.h:
11698         [[[[8]]]]: *_OK defs moved to sysfile.h.
11699
11700         * ntproc.c:
11701         [6]. [7].
11702
11703         * objects-x.c:
11704         [4].
11705
11706         * print.c:
11707         * print.c (std_handle_out_external):
11708         [1]. [4].
11709
11710         * process-nt.c:
11711         * process-nt.c (nt_create_process):
11712         [6].
11713         try to fix process quoting somewhat.
11714
11715         * process-unix.c (unix_create_process):
11716         [1].
11717
11718         * process.c:
11719         * process.c (vars_of_process):
11720         Add Vnull_device.
11721
11722         * process.h:
11723         [1].
11724
11725         * realpath.c:
11726         * realpath.c (xrealpath):
11727         [1].
11728
11729         * redisplay-tty.c (init_tty_for_redisplay):
11730         [3].
11731
11732         * redisplay.c:
11733         [4]. [6].
11734
11735         * scrollbar-msw.c:
11736         [4].
11737
11738         * sheap.c:
11739         * sheap.c (more_static_core):
11740         * sheap.c (report_sheap_usage):
11741         [5]. [6].
11742
11743         * signal.c:
11744         * signal.c (alarm_signal):
11745         [1]. [6].
11746
11747         * sound.c:
11748         [6].
11749
11750         * strftime.c:
11751         * strftime.c (zone_name):
11752         [1]. [5].
11753
11754         * symsinit.h (init_sunpro):
11755         [1].
11756
11757         * syscommctrl.h:
11758         commctrl.h not in Cygwin b20.1.
11759
11760         * sysdep.c:
11761         * sysdep.c (endif):
11762         * sysdep.c (sys_subshell):
11763         * sysdep.c (init_baud_rate):
11764         * sysdep.c (emacs_get_tty):
11765         * sysdep.c (emacs_set_tty):
11766         * sysdep.c (tty_init_sys_modes_on_device):
11767         * sysdep.c (init_system_name):
11768         * sysdep.c (sys_open):
11769         * sysdep.c (interruptible_open):
11770         * sysdep.c (sys_fopen):
11771         * sysdep.c (sys_mkdir):
11772         * sysdep.c (sys_rename):
11773         * sysdep.c (get_process_times_1):
11774         [1]. [6].
11775
11776         * sysdep.h:
11777         [1].
11778
11779         * sysdir.h:
11780         * sysdir.h (DIRENTRY_NONEMPTY):
11781         [1]. [6].
11782
11783         * sysdll.c (dll_init):
11784         * sysdll.h:
11785         [1].
11786
11787         * sysfile.h:
11788         [1]. [6]. [8].
11789         added text/binary defs.
11790
11791         * sysfloat.h:
11792         [1].
11793
11794         * sysproc.h:
11795         * sysproc.h (EDESTADDRREQ):
11796         * sysproc.h (poll_fds_for_input):
11797         [1]. [6].
11798
11799         * syspwd.h:
11800         [6].
11801
11802         * syssignal.h:
11803         [1].
11804
11805         * systime.h:
11806         [1]. [6].
11807
11808         * systty.h:
11809         [1].
11810
11811         * syswindows.h:
11812         [1].
11813         Always define WIN32_LEAN_AND_MEAN.
11814
11815         * unexcw.c (unexec):
11816         [5].
11817
11818         * unexec.c:
11819         * unexec.c (copy_text_and_data):
11820         * unexec.c (adjust_lnnoptrs):
11821         [1].
11822
11823         * unexnt.c:
11824         * unexnt.c (_start):
11825         [1].
11826
11827 2000-06-07  Ben Wing  <ben@xemacs.org>
11828
11829         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
11830         was used only as a model.  We've long since extracted any useful
11831         logic or code out of this. (I just did an exhaustive search.)
11832
11833         * s\msdos.h: Removed.
11834
11835         * s\windows95.h: Removed.
11836
11837 2000-06-10  Ben Wing  <ben@xemacs.org>
11838
11839         * s\cygwin32.h:
11840         [1]. [5].
11841         Don't use extern with fun defs.
11842
11843         * s\mingw32.h:
11844         [1]. [7].
11845         Remove nt\inc include.
11846         Remove getdisk, getdefdir. (The former is unused, the latter
11847         expanded in fileio.h.)
11848
11849         * s\windowsnt.h:
11850         * s\windowsnt.h (WIN32_NATIVE):
11851         * s\windowsnt.h (HAVE_STRCASECMP):
11852         [1]. [7].
11853         Add long comment about preprocessor changes.
11854         Remove getdisk, getdefdir. (The former is unused, the latter
11855         expanded in fileio.h.)
11856
11857 2000-06-10  Ben Wing  <ben@xemacs.org>
11858
11859         * m\arm.h:
11860         * m\delta.h:
11861         * m\intel386.h:
11862         * m\sequent.h:
11863         * m\template.h:
11864         * m\windowsnt.h:
11865         [1].
11866         Remove bogus/unused NO_SOCK_SIGIO.
11867
11868 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
11869
11870         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
11871         not an Emchar.
11872
11873 2000-06-04  Mike Sperber <mike@xemacs.org>
11874
11875         * casetab.c (set_case_table): For `set-standard-case-table',
11876         actually deposit the new case tables where the rest of XEmacs can
11877         see them.
11878
11879 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
11880
11881         * data.c (Faset): Don't cast XCHAR() to unsigned char.
11882
11883 2000-06-05  Ben Wing  <ben@xemacs.org>
11884
11885         * callproc.c (child_setup): Don't do close_load_descs() under
11886         MS Windows.  Put in a comment explaining why.
11887
11888 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
11889
11890         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
11891         Toolkit shell" which breaks `kill-compilation' on Windows NT
11892         native, retaining STDERR handling improvements.
11893
11894 2000-06-01  Andreas Jaeger  <aj@suse.de>
11895
11896         * s/s390.h: Support for S390, based on a patch by Martin
11897         Schwidefsky <schwidefsky@de.ibm.com>.
11898
11899 2000-05-30  Andy Piper  <andy@xemacs.org>
11900
11901         * window.c (allocate_window):
11902         (make_dummy_parent):
11903         (Fset_window_configuration): use new hashtable type.
11904
11905         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
11906         (struct image_instantiator_methods):
11907         (struct Lisp_Image_Instance): make instance geometry signed.
11908
11909         * glyphs.c (instantiate_image_instantiator):
11910         (image_instance_query_geometry):
11911         (image_instance_layout):
11912         (image_instance_layout):
11913         (query_string_geometry):
11914         (text_query_geometry):
11915         (image_instantiate):
11916         (image_instantiate):
11917         (cache_subwindow_instance_in_frame_maybe):
11918         (subwindow_query_geometry): make instance geometry signed.
11919
11920         * glyphs-widget.c (widget_query_geometry):
11921         (widget_layout):
11922         (button_query_geometry):
11923         (tree_view_query_geometry):
11924         (tab_control_query_geometry):
11925         (layout_query_geometry):
11926         (layout_layout):
11927         (native_layout_layout): make instance geometry signed.
11928
11929 2000-05-29  Olivier Galibert  <galibert@pobox.com>
11930
11931         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
11932         constant.
11933
11934         * general.c (syms_of_general): Add Qfull_assoc symbol.
11935
11936         * data.c (finish_marking_weak_lists): Mark full-assoc lists
11937         correctly.
11938         (decode_weak_list_type): Decode full-assoc type.
11939         (encode_weak_list_type): Encode full-assoc type.
11940         (Fmake_weak_list): Update doc string.
11941
11942 2000-05-30  Andy Piper  <andy@xemacs.org>
11943
11944         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
11945
11946         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
11947         (decode_hash_table_weakness): ditto.
11948         (Fhash_table_weakness): ditto.
11949         (Fhash_table_type): ditto.
11950         (finish_marking_weak_hash_tables): ditto.
11951         (hash_table_weakness_validate): ditto.
11952         (syms_of_elhash): ditto.
11953
11954 2000-05-28  Martin Buchholz <martin@xemacs.org>
11955
11956         * XEmacs 21.2.34 is released.
11957
11958 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11959
11960         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
11961         start cache.
11962         (updating_line_start_cache): Gone.
11963         (regenerate_window): Replace resetting of VERTICAL_CLIP by
11964         generic code to force a minimum of 1 line laid out in the
11965         CMOTION_DISP case.
11966
11967 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
11968
11969         * glyphs.c (instantiate_image_instantiator): Check for initialized
11970         height & width no longer special cases IMAGE_NOTHING.
11971         (nothing_instantiate): Set height and width of instance.
11972
11973 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
11974
11975         * unexelf.c (unexec): Search for ".data" section.
11976         Initialize new_data2_offset from old_data_index.
11977         Remove redundant check for ElfW.
11978
11979 2000-05-23  Andy Piper  <andy@xemacs.org>
11980
11981         * glyphs.c (get_image_instantiator_governing_domain): allow more
11982         specific domains as the governing domain rather than expecting an
11983         exact match. This fixes problems with layouts.
11984
11985 2000-05-22  Andy Piper  <andy@xemacs.org>
11986
11987         * redisplay-output.c (compare_runes): check for non-images
11988
11989         * glyphs.c (set_glyph_dirty_p): ditto.
11990         (update_glyph_cachel_data): ditto.
11991
11992         * glyphs-widget.c (layout_post_instantiate): ditto.
11993         (layout_post_instantiate): ditto.
11994
11995         * event-msw.c (mswindows_wnd_proc): warning removal.
11996
11997 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
11998
11999         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12000
12001         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12002
12003         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12004
12005         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12006         (mswindows_executable_type): mingw32 now has enough headers for
12007         this to work.
12008
12009 2000-05-20  Andy Piper  <andy@xemacs.org>
12010
12011         * console-msw.c (mswindows_output_last_error): ; -> ,
12012
12013 2000-05-12  Andy Piper  <andy@xemacs.org>
12014
12015         * console-msw.c (FROB): compare ints with ints.
12016
12017 2000-05-11  Andy Piper  <andy@xemacs.org>
12018
12019         * glyphs-x.c (x_finalize_image_instance): make minimal build
12020         happy.
12021
12022 2000-05-20  Ben Wing  <ben@xemacs.org>
12023
12024         * event-Xt.c:
12025         * event-Xt.c (vars_of_event_Xt):
12026         move modifier-keys-are-sticky to event-stream.c.
12027
12028         * event-msw.c:
12029         * event-msw.c (mswindows_enqueue_mouse_button_event):
12030         * event-msw.c (key_needs_default_processing_p):
12031         * event-msw.c (XEMSW_LCONTROL):
12032         * event-msw.c (mswindows_handle_sticky_modifiers):
12033         * event-msw.c (FROB):
12034         * event-msw.c (clear_sticky_modifiers):
12035         * event-msw.c (output_modifier_keyboard_state):
12036         * event-msw.c (output_alt_keyboard_state):
12037         * event-msw.c (mswindows_wnd_proc):
12038         * event-msw.c (mswindows_modifier_state):
12039         * event-msw.c (emacs_mswindows_handle_magic_event):
12040         implement sticky modifiers.
12041
12042         * event-stream.c:
12043         * event-stream.c (vars_of_event_stream):
12044         move modifier-keys-are-sticky here.
12045
12046         * lisp.h:
12047         add CHECK_FUNCTION.
12048
12049         * rangetab.c:
12050         implement map-range-table.
12051
12052
12053 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12054
12055         * redisplay-tty.c (reset_tty_modes):
12056         (tty_redisplay_shutdown): Adjust argument type to
12057         tty_frame_output_end.
12058
12059 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12060
12061         * eval.c (Fbacktrace): Don't output a line with only right
12062         parenthesis.
12063
12064 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12065
12066         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12067         (Fpq_reset_poll): Ditto.
12068
12069 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12070
12071         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12072
12073 2000-05-16  Ben Wing  <ben@xemacs.org>
12074
12075         * buffer.c:
12076         * buffer.c (dfc_convert_to/from_internal_format):
12077         * buffer.c (reinit_vars_of_buffer):
12078         Fix conversion functions to allow reentrancy.
12079
12080         * console-msw.c:
12081         * console-msw.c (mswindows_output_last_error):
12082         New fun, generally useful -- output a human-readable
12083         version of GetLastError() on the console.
12084
12085         * console-msw.h:
12086         * console-msw.h (struct mswindows_frame):
12087         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12088
12089         * console-stream.c (stream_output_begin):
12090         * console-stream.c (stream_output_end):
12091         * console-stream.c (stream_output_vertical_divider):
12092         * console-stream.c (stream_clear_region):
12093         * console-stream.c (stream_flash):
12094         * console-stream.c (console_type_create_stream):
12095         Delete blank stream methods, not needed.
12096
12097         * console.h (struct console_methods):
12098         Split begin/end methods into window and frame.
12099
12100         * event-msw.c:
12101         * event-msw.c (mswindows_handle_paint):
12102         * event-msw.c (output_alt_keyboard_state):
12103         * event-msw.c (mswindows_wnd_proc):
12104         * event-msw.c (vars_of_event_mswindows):
12105         Comment about problems with ignored-expose.
12106         Define mswindows-debug-events; not really implemented.
12107
12108         * frame-msw.c (mswindows_init_frame_1):
12109         random cleanups.
12110
12111         * glyphs-msw.c:
12112         * glyphs-msw.c (begin_defer_window_pos):
12113         * glyphs-msw.c (mswindows_unmap_subwindow):
12114         * glyphs-msw.c (mswindows_map_subwindow):
12115         * glyphs-msw.c (mswindows_resize_subwindow):
12116         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12117
12118         * glyphs.c (make_image_instance_1):
12119         Fix crash.
12120
12121         * gutter.c (Fredisplay_gutter_area):
12122         Use new begin/end methods.
12123
12124         * lisp.h (Dynarr_new2):
12125         New creation fun.
12126
12127         * redisplay-msw.c:
12128         * redisplay-msw.c (mswindows_frame_output_begin):
12129         * redisplay-msw.c (mswindows_frame_output_end):
12130         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12131         New begin/end methods -- handle DeferWindowPos.
12132
12133         * redisplay-output.c (redisplay_move_cursor):
12134         * redisplay-output.c (redraw_cursor_in_window):
12135         * redisplay-output.c (redisplay_update_line):
12136         * redisplay-output.c (redisplay_output_window):
12137         New begin/end methods.
12138
12139         * redisplay-tty.c:
12140         * redisplay-tty.c (tty_frame_output_begin):
12141         * redisplay-tty.c (tty_frame_output_end):
12142         * redisplay-tty.c (console_type_create_redisplay_tty):
12143         New begin/end methods.
12144
12145         * redisplay-x.c:
12146         * redisplay-x.c (x_window_output_begin):
12147         * redisplay-x.c (x_window_output_end):
12148         * redisplay-x.c (console_type_create_redisplay_x):
12149         New begin/end methods.
12150
12151         * redisplay.c (redisplay_frame):
12152         * redisplay.c (Fredisplay_echo_area):
12153         New begin/end methods.
12154         use MAYBE_DEVMETH for clear_frame; it may not exist.
12155
12156         * window.h (WINDOW_XFRAME):
12157         WINDOW_XFOO macros -- get locale and decode struct pointer.
12158
12159
12160 2000-05-12  Ben Wing  <ben@xemacs.org>
12161
12162         * emacs.c:
12163         * emacs.c (ensure_no_quitting_from_now_on):
12164         * emacs.c (fatal_error_signal):
12165         * emacs.c (mswindows_handle_hardware_exceptions):
12166         * emacs.c (main):
12167         * emacs.c (Fkill_emacs):
12168         * emacs.c (shut_down_emacs):
12169         * emacs.c (assert_failed):
12170         various improvements in fatal error handling.
12171
12172         * eval.c:
12173         move preparing_for_armageddon to emacs.c.
12174
12175         * lisp.h:
12176         declare fatal_error_in_progress.
12177
12178         * print.c:
12179         * print.c (std_handle_out_external):
12180         * print.c (std_handle_out_va):
12181         * print.c (stderr_out):
12182         * print.c (stdout_out):
12183         use console under mswin when no standard output.
12184         don't do code conversion during fatal error.
12185
12186         * scrollbar.c (Fscrollbar_page_up):
12187         * scrollbar.c (Fscrollbar_page_down):
12188         fix missing else.  reindent.
12189
12190 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12191
12192         Emergency fix.
12193
12194         * glyphs.h (GLYPH_CACHEL_DESCENT):
12195         (GLYPH_CACHEL_DESCENT):
12196         (GLYPH_CACHEL_DESCENT):
12197         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12198         used in case these are inline functions.
12199         Use more absurd values to error check.
12200
12201         include window.h for error check functions.
12202
12203 2000-05-11  Ben Wing  <ben@xemacs.org>
12204
12205         * cmdloop.c (Freally_early_error_handler):
12206         Display message box under windows; otherwise, message will disappear
12207         before it can be viewed.
12208
12209         * console-msw.c:
12210         * console-msw.c (Fmswindows_message_box):
12211         * console-msw.c (FROB):
12212         * console-msw.c (syms_of_console_mswindows):
12213         Define new fun `mswindows-message-box'.
12214         #### I will merge this into `popup-dialog-box'; just give me
12215         a bit of time.
12216
12217         * general.c:
12218         * general.c (syms_of_general):
12219         Some new symbols used in `mswindows-message-box'.
12220
12221         * glyphs.c:
12222         * glyphs.c (Fset_image_instance_property):
12223         put warning in this fun.
12224
12225         * glyphs.h:
12226         * glyphs.h (GLYPH_CACHEL_WIDTH):
12227         * glyphs.h (GLYPH_CACHEL_ASCENT):
12228         * glyphs.h (GLYPH_CACHEL):
12229         * glyphs.h (GLYPH_CACHEL_GLYPH):
12230         define error-checking versions to try to catch a bug i've seen --
12231         redisplay gets in an infinite loop because the glyph width of the
12232         continuation glyph is 65535.
12233
12234         * lisp.h:
12235         Extern message-box stuff.
12236
12237         * window.c (allocate_window):
12238         * window.c (make_dummy_parent):
12239         * window.c (Fset_window_configuration):
12240         Use EQUAL not EQ for subwindow caches to make them work a bit
12241         better. (Something is still very broken.)
12242
12243
12244 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12245
12246         * glyphs.c (image_instantiate): Suppress gcc warnings.
12247         (Fmake_image_instance): Fix doc string.
12248         * specifier.c (Fmake_specifier): Ditto.
12249
12250 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12251
12252         * paths.h.in (PATH_LOCK): Removed.
12253         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12254         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12255
12256 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12257
12258         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12259         Document (featurep '(and xemacs 21.02)).
12260
12261 2000-05-09  Ben Wing  <ben@xemacs.org>
12262
12263         * buffer.c (complex_vars_of_buffer):
12264         update modeline-format doc.
12265
12266         * device.h:
12267         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12268
12269         * emacs.c:
12270         timeline of all released versions of Emacs, for use in creating
12271         authorship comments and in synching up.
12272
12273         * glyphs-widget.c (image_instantiator_buttons):
12274         * glyphs-widget.c (image_instantiator_edit_fields):
12275         * glyphs-widget.c (image_instantiator_combo_box):
12276         * glyphs-widget.c (image_instantiator_scrollbar):
12277         * glyphs-widget.c (image_instantiator_progress_guage):
12278         * glyphs-widget.c (image_instantiator_tree_view):
12279         * glyphs-widget.c (image_instantiator_tab_control):
12280         * glyphs-widget.c (image_instantiator_labels):
12281         * glyphs-widget.c (image_instantiator_layout):
12282         * glyphs-widget.c (image_instantiator_native_layout):
12283         rename decode_domain method to governing_domain.
12284
12285         * glyphs.c:
12286         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12287         * glyphs.c (add_entry_to_device_ii_format_list):
12288         make sure we don't put an entry more than once into the list.
12289         * glyphs.c (check_instance_cache_mapper):
12290         *************************************************************
12291         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12292         HAVE BEEN GETTING.
12293         *************************************************************
12294         * glyphs.c (get_image_instantiator_governing_domain):
12295         clean up, expand on new concept of governing domain.
12296         * glyphs.c (instantiate_image_instantiator):
12297         * glyphs.c (allocate_image_instance):
12298         use governing_domain instead of cache_domain in naming.
12299         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12300         * glyphs.c (make_image_instance_1):
12301         * glyphs.c (Fmake_image_instance):
12302         allow for any domain (not just device), and process the
12303         governing domain correctly.  very big doc fix.
12304         * glyphs.c (Fimage_instance_domain):
12305         new primitive, to retrieve the governing domain of an image instance.
12306         * glyphs.c (image_instantiate):
12307         use new governing_domain stuff.  this fixes a crash you could get
12308         by instantiating certain widget glyphs in frame locales. (should
12309         signal an error instead of crashing.)
12310         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12311         * glyphs.c (Fglyphp): clean up doc.
12312         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12313         * glyphs.c (syms_of_glyphs):
12314         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12315         * glyphs.c (image_instantiator_format_create): add some comments about
12316         bogus code.
12317         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12318         for current-display-table. (Apparently Hrjove implemented in 1998 a
12319         design I wrote up in 1996, but didn't update the doc string.)
12320
12321         * glyphs.h: clean up a doc string.
12322         * glyphs.h (governing_domain):
12323         * glyphs.h (struct image_instantiator_methods):
12324         changes for governing_domain stuff.
12325
12326         * gutter.c:
12327         * gutter.c (Fgutter_specifier_p):
12328         * gutter.c (Fgutter_size_specifier_p):
12329         * gutter.c (Fgutter_visible_specifier_p):
12330         * objects.c:
12331         * objects.c (Fcolor_specifier_p):
12332         * objects.c (Ffont_specifier_p):
12333         * objects.c (Fface_boolean_specifier_p):
12334         doc strings moved to make-*-specifier.
12335
12336         * redisplay.c (add_disp_table_entry_runes_1):
12337         * redisplay.c (generate_fstring_runes):
12338         * redisplay.c (screen):
12339         add random comments and doc strings.
12340
12341         * specifier.c:
12342         * specifier.c (Fmake_specifier):
12343         major overhaul of this doc string.
12344
12345         * specifier.c (Fvalid_specifier_domain_p):
12346         comment about the bogosity of image instances being domains.
12347         * specifier.c (decode_domain):
12348         now non-static, used in glyphs.c.
12349         * specifier.c (specifier_instance):
12350         comment about the bogosity of image instances being domains.
12351         * specifier.c (Fgeneric_specifier_p):
12352         move doc string to make-generic-specifier.
12353         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12354         rebackslashify.
12355
12356         * specifier.h:
12357         * specifier.h (DOMAIN_FRAME):
12358         * specifier.h (DOMAIN_LIVE_P):
12359         * specifier.h (DOMAIN_XDEVICE):
12360         rebackslashify.
12361         add comments about problems with these macros.
12362         prototype for decode_domain.
12363
12364         * toolbar.c:
12365         * toolbar.c (Ftoolbar_specifier_p):
12366         move doc string to `make-toolbar-specifier'.
12367
12368         * window.c (window_unmap_subwindows_cache_mapper):
12369         *************************************************************
12370         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12371         HAVE BEEN GETTING.
12372         *************************************************************
12373
12374 2000-05-09  Andy Piper  <andy@xemacs.org>
12375
12376         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12377
12378         * window.c (Fset_window_configuration): reset the frame subwindow
12379         cache and re-initialize the window subwindow caches.
12380
12381         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12382
12383 2000-05-09  Ben Wing  <ben@xemacs.org>
12384
12385         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12386         DWORD.
12387
12388 2000-04-26  Mike Woolley  <mike@bulsara.com>
12389
12390         * ntheap.c: Changed recreate_heap to limit the amount reserved
12391         for the heap to that which is actually available. Also now
12392         displays a message box (with some dignostics) in the event that
12393         it still can't start.
12394
12395 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12396
12397         * callproc.c (Fold_call_process_internal): GCPRO path
12398
12399 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12400
12401         Patch by Bill Perry.
12402
12403         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12404         back data instead of #ifdef.
12405         (Fscrollbar_page_down): ditto.
12406
12407 2000-05-07  Ben Wing  <ben@xemacs.org>
12408
12409         * buffer.h:
12410         Kludge for defining Qmswindows_tstr.
12411
12412         * nt.c:
12413         * nt.c (open_input_file):
12414         * nt.c (open_output_file):
12415         * nt.c (rva_to_section):
12416         * nt.c (mswindows_executable_type):
12417         Move all memory-mapped-file routines here (some were in unexnt.c,
12418         which is bad because they are used by process-nt.c, and unexnt
12419         won't be around when portable dumping).  Synched the above routines
12420         with FSF 20.6.
12421
12422         * nt.h:
12423         Removed ifdef'd out bogus code.
12424         Fixed some prototypes.
12425
12426         * nt.h (file_data):
12427         * nt.h (OFFSET_TO_RVA):
12428         * nt.h (RVA_TO_OFFSET):
12429         * nt.h (RVA_TO_PTR):
12430         Moved the memory-mapped-file structures, macros and prototypes
12431         here, to parallel nt.c.  ntheap.h should really be removed
12432         entirely, and it's a non-portable-dumper specific file.
12433
12434         * ntheap.h (round_to_next):
12435         Moved the memory-mapped-file structures, macros and prototypes
12436         to nt.h.
12437
12438         * ntproc.c (compare_env):
12439         Moved rva_to_section and mswindows_executable_type to nt.c.
12440         Moved compare_env to process-nt.c.
12441         ntproc.c will die, one day.
12442
12443         * ntproc.c (sys_spawnve):
12444         Account for win32_ -> mswindows_.
12445
12446         * process-nt.c:
12447         * process-nt.c (struct nt_process_data):
12448         * process-nt.c (ensure_console_window_exists):
12449         * process-nt.c (compare_env):
12450         * process-nt.c (nt_create_process):
12451         * process-nt.c (nt_kill_process_by_pid):
12452         * process-nt.c (syms_of_process_nt):
12453         * process-nt.c (vars_of_process_nt):
12454         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12455         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12456         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12457         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12458         Move compare_env here from ntproc.c.
12459
12460         * process.c (Fprocess_send_region):
12461         Takes an optional fourth argument, BUFFER, which should fix some
12462         problems with call-process.
12463
12464         * syscommctrl.h:
12465         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12466
12467         * syswindows.h:
12468         Move ICC_BAR_CLASSES to syscommctrl.h.
12469         Add preliminary macros for MSWindows/Mule.  More to come.
12470
12471         * unexnt.c:
12472         * unexnt.c (unexec):
12473         open_output_file moved to nt.c.
12474
12475
12476 2000-05-05  Andy Piper  <andy@xemacs.org>
12477
12478         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12479         instance from the frame cache also since GC may catch up too late
12480         to make frame deletion sane.
12481
12482 2000-05-04  Andy Piper  <andy@xemacs.org>
12483
12484         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12485         (x_finalize_image_instance): ungcpro on deletion.
12486
12487         * glyphs.c (image_instantiator_format_create): give pointers a
12488         query geometry method so that the geometry is at least set.
12489
12490         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12491         initialize layouts if using widgets.
12492
12493 2000-05-03  Andy Piper  <andy@xemacs.org>
12494
12495         * nt.c: remove bogus reference to sysmmsystem.h
12496
12497         * gui-x.c (popup_selection_callback): fix no selection abort.
12498
12499 2000-05-02  Andy Piper  <andy@xemacs.org>
12500
12501         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12502         (mswindows_widget_instantiate): ditto.
12503
12504         * glyphs-widget.c (initialize_widget_image_instance): initialize
12505         children correctly.
12506         (widget_instantiate): cope with children and items in the same
12507         instance.
12508
12509         * glyphs.c (mark_image_instance): cope with children as a first
12510         class member.
12511         (image_instance_equal): ditto.
12512         (image_instance_hash): ditto.
12513         (image_instance_changed): ditto.
12514
12515 2000-04-30  Andy Piper  <andy@xemacs.org>
12516
12517         * glyphs.c (subwindow_query_geometry): new function. Return some
12518         defaults.
12519         (subwindow_instantiate): don't assign dimensions if none have been
12520         given.
12521         (image_instantiator_format_create): add subwindow_query_geometry.
12522         (print_image_instance): cope with layouts as widgets.
12523
12524 2000-04-29  Andy Piper  <andy@xemacs.org>
12525
12526         * frame.c (delete_frame_internal): call
12527         free_frame_subwindow_instance_cache so that all subwindows are
12528         finalized before their parent.
12529         (mark_frame): remove subwindow_cachels.
12530         (Fmake_frame): remove subwindow_cachel manipulation.
12531         (allocate_frame_core): subwindow_instance_cache is a weak list.
12532         (delete_frame_internal): set subwindow_instance_cache to nil.
12533
12534         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12535         finalization safe.
12536         (mswindows_finalize_image_instance): use the device
12537         not the domain as the domain may have died already.
12538
12539         * glyphs-x.c (x_finalize_image_instance): ditto.
12540         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12541         HEIGHT.
12542
12543         * redisplay-output.c (redisplay_unmap_subwindows): update for
12544         subwindow instance cache as a weak list.
12545         (redisplay_unmap_subwindows_maybe): ditto.
12546         (redisplay_unmap_subwindows_except_us): ditto.
12547
12548         * glyphs.c (unmap_subwindow): error checking will check the domain
12549         so don't deal with it here. Don't use cachels anymore.
12550         (map_subwindow): ditto.
12551         (update_subwindow_cachel_data): remove old accessor names.
12552         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12553         (Fresize_subwindow): don't update cachel.
12554         (mark_subwindow_cachels):
12555         (update_subwindow_cachel_data):
12556         (add_subwindow_cachel):
12557         (get_subwindow_cachel_index):
12558         (update_subwindow_cachel):
12559         (reset_subwindow_cachels):
12560         (mark_subwindow_cachels_as_not_updated): deleted.
12561         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12562         subwindow instance to the frame cache.
12563         (find_matching_subwindow): update for subwindow instance cache as
12564         a weak list.
12565         (update_widget_instances): ditto.
12566         (image_instance_type_to_mask):inlined.
12567         (free_frame_subwindow_instance_cache): new function. finalize all
12568         subwindows that are instantiated.
12569
12570         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12571         of cachel information.
12572         (IMAGE_INSTANCE_DISPLAY_X):
12573         (IMAGE_INSTANCE_DISPLAY_Y):
12574         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12575         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12576         (XIMAGE_INSTANCE_DISPLAY_X):
12577         (XIMAGE_INSTANCE_DISPLAY_Y):
12578         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12579         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12580         remove subwindow_cachel structure and function references.
12581         (image_instance_type_to_mask): inline from glyphs.c
12582
12583         * redisplay.c (redisplay_frame): remove subwindow_cachel
12584         references.
12585
12586         * frame.h (struct frame): remove subwindow_cachels.
12587         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12588
12589         * frameslots.h: add subwindow_instance_cache.
12590
12591         * window.c (replace_window): check subwindow cache of replacement.
12592         (window_unmap_subwindows_cache_mapper):
12593         (window_unmap_subwindows): new functions. Unmap all subwindows
12594         cached on this window.
12595         (mark_window_as_deleted): unmap all subwindows.
12596
12597 2000-04-27  Andy Piper  <andy@xemacs.org>
12598
12599         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12600
12601         * glyphs-widget.c (widget_layout): return something.
12602         (layout_layout): return something. Fail if not initialized.
12603         (layout_query_geometry): ditto.
12604         (image_instantiator_native_layout): new function. Initialized the
12605         native layout type.
12606         (widget_instantiate): don't do layout stuff here.
12607
12608         * glyphs.c (instantiate_image_instantiator): reorded calling or
12609         instantiate and post_instantiate with layout in between.
12610         (image_instance_layout): be more selective about deciding whether
12611         the layout has been done or not.
12612
12613         * glyphs.h (struct image_instantiator_methods): return a value
12614         from layout_method.
12615
12616 2000-04-26  Andy Piper  <andy@xemacs.org>
12617
12618         * glyphs.c (allocate_image_instance): make initial width and
12619         height unspecified. Set initialized to 0.
12620
12621         * syscommctrl.h new file. Encapsulates commctrl.h.
12622
12623         * syswindows.h new file. Encapsulates windows.h.
12624
12625         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12626         * nt.c: ditto.
12627         * console-msw.h: ditto.
12628
12629         * redisplay-tty.c (tty_output_display_block): remove layout references.
12630
12631         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12632         window handle rather than just the frame.
12633
12634         * glyphs.c (mark_image_instance): remove layout references.
12635         (print_image_instance): ditto.
12636         (image_instance_equal): ditto.
12637         (image_instance_hash): ditto.
12638         (decode_image_instance_type): ditto.
12639         (encode_image_instance_type): ditto.
12640         (image_instantiate): ditto.
12641         (allocate_glyph): ditto.
12642         (Fimage_instance_height): ditto.
12643         (Fimage_instance_width): ditto.
12644         (update_subwindow): ditto.
12645
12646         * redisplay-x.c (x_output_display_block): recode for layouts as
12647         widgets.
12648
12649         * redisplay-output.c (redisplay_output_layout): recode for layouts
12650         as widgets.
12651         (compare_runes): remove layout references.
12652
12653         * redisplay-msw.c (mswindows_output_display_block): recode for
12654         layouts as widgets.
12655
12656         * glyphs-widget.c (image_instantiator_layout): remove
12657         layout_possible_dest_types.
12658         (layout_possible_dest_types): deleted.
12659
12660         * glyphs.h (image_instance_type): remove layout references.
12661         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12662         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12663         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12664
12665 2000-04-25  Andy Piper  <andy@xemacs.org>
12666
12667         * glyphs-widget.c (image_instantiator_buttons):
12668         (image_instantiator_edit_fields):
12669         (image_instantiator_combo_box):
12670         (image_instantiator_scrollbar):
12671         (image_instantiator_progress_guage):
12672         (image_instantiator_tree_view):
12673         (image_instantiator_tab_control):
12674         (image_instantiator_labels):
12675         (image_instantiator_layout): call default post_instantiate method.
12676         (widget_post_instantiate): new function. Simply lays out the
12677         widgets.
12678
12679         * glyphs.h (struct image_instantiator_methods): add
12680         post_instantiate method.
12681
12682         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12683         method calls.
12684
12685 2000-04-23  Andy Piper  <andy@xemacs.org>
12686
12687         * glyphs.h (struct image_instantiator_methods): add
12688         decode_domain_method.
12689         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12690         derived from the domain.
12691         (IMAGE_INSTANCE_FRAME): new accessor.
12692         (XIMAGE_INSTANCE_FRAME): ditto.
12693
12694         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12695         instead of _SUBWINDOW_FRAME.
12696         (finalize_image_instance): ditto.
12697         (Fimage_instance_foreground): ditto.
12698         (Fimage_instance_background): ditto.
12699         (image_instantiate): ditto.
12700         (update_subwindow_cachel): ditto.
12701         (update_subwindow): ditto.
12702         (unmap_subwindow): ditto.
12703         (map_subwindow): ditto
12704         (subwindow_instantiate): ditto.
12705         * glyphs-msw.c (mswindows_update_widget): ditto.
12706         (mswindows_progress_gauge_instantiate): ditto.
12707         (mswindows_tab_control_update): ditto.
12708         * glyphs-x.c (x_update_widget): ditto.
12709         (x_widget_instantiate): ditto.
12710         (x_tab_control_instantiate): ditto.
12711         (x_tab_control_update): ditto.
12712         * event-msw.c (mswindows_wnd_proc): ditto
12713
12714         * glyphs-widget.c (image_instantiator_layout): use
12715         subwindow_decode_domain.
12716         (image_instantiator_buttons): ditto.
12717         (image_instantiator_edit_fields): ditto.
12718         (image_instantiator_combo_box): ditto.
12719         (image_instantiator_scrollbar): ditto.
12720         (image_instantiator_progress_guage): ditto.
12721         (image_instantiator_tree_view): ditto.
12722         (image_instantiator_tab_control): ditto.
12723         (image_instantiator_labels): ditto.
12724         (image_instantiator_layout): ditto.
12725
12726         * glyphs.c: add instance error checking to many functions.
12727         (instantiate_image_instantiator): decode device from cache_domain.
12728         (image_instantiate): partially rewrite by using
12729         decode_image_instantiator_domain to determine what domain the
12730         instance needs to be cached in.
12731         (decode_image_instantiator_domain): new function. Determine what
12732         domain the image needs to be cached in.
12733         (check_window_subwindow_cache): new error checking function.
12734         (check_instance_cache_mapper): ditto.
12735         (check_image_instance_structure): ditto.
12736         (subwindow_decode_domain): new function. Encodes a window as a
12737         subwindow's cache domain.
12738         (image_instantiator_format_create): use it for text and
12739         subwindows.
12740
12741 2000-04-21  Andy Piper  <andy@xemacs.org>
12742
12743         * glyphs.c (image_instance_device): new function.
12744         (image_instance_frame): new function.
12745         (image_instance_window): new function.
12746         (image_instance_live_p): new function.
12747
12748         * window.c (mark_window_as_deleted): reset the subwindow_instance_
12749         cache to nil.
12750
12751         * glyphs.h (struct Lisp_Image_Instance): device->domain.
12752         (IMAGE_INSTANCE_DOMAIN): new accessor.
12753         (XIMAGE_INSTANCE_DOMAIN): ditto.
12754
12755         * glyphs-x.c (x_finalize_image_instance): device->domain.
12756
12757         * glyphs-msw.c (init_image_instance_geometry): device->domain.
12758         (mswindows_finalize_image_instance): ditto.
12759
12760         * glyphs-eimage.c (jpeg_instantiate): device->domain.
12761         (gif_instantiate): ditto.
12762         (png_instantiate): ditto.
12763         (tiff_instantiate): ditto.
12764
12765         * glyphs.c (instantiate_image_instantiator): use domain rather
12766         than device.
12767         (mark_image_instance): device -> domain.
12768         (print_image_instance): ditto.
12769         (finalize_image_instance): ditto.
12770         (image_instance_equal): ditto.
12771         (allocate_image_instance): ditto.
12772         (Fcolorize_image_instance): ditto.
12773         (query_string_geometry): ditto.
12774         (image_instantiate): ditto
12775         (query_string_font): ditto.
12776         (image_instantiate): ditto.
12777         (update_subwindow): ditto.
12778         (unmap_subwindow): ditto.
12779         (map_subwindow): ditto.
12780         (subwindow_instantiate): ditto.
12781
12782         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
12783         (DOMAIN_FRAME): ditto.
12784         (DOMAIN_WINDOW): ditto.
12785         (DOMAIN_LIVE_P): ditto.
12786         (XDOMAIN_DEVICE): ditto.
12787         (XDOMAIN_FRAME): ditto.
12788         (XDOMAIN_WINDOW): ditto.
12789
12790         * specifier.c (Fvalid_specifier_domain_p): add image instances as
12791         a valid specifier domain.
12792
12793 2000-04-19  Andy Piper  <andy@xemacs.org>
12794
12795         * glyphs-widget.c (syms_of_glyphs_widget): remove
12796         widget-callback-current-channel.
12797         (vars_of_glyphs_widget): ditto.
12798         * glyphs.h: ditto
12799
12800         * gui.c (get_gui_callback): revert to previous behaviour.
12801
12802 2000-04-18  Andy Piper  <andy@xemacs.org>
12803
12804         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
12805         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
12806         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
12807
12808         * glyphs.c (image_instance_equal): add margin_width.
12809         (image_instance_hash): ditto.
12810
12811         * glyphs-widget.c (widget_instantiate): deal with margin-width.
12812         (layout_query_geometry): ditto.
12813         (layout_layout): ditto.
12814         (syms_of_glyphs_widget): add margin-width.
12815         (image_instantiator_layout): allow margin-width.
12816
12817         * glyphs.c (update_widget_instances): make a normal function.
12818         (syms_of_glyphs): remove Qupdate_widget_instances.
12819         * glyphs.h: ditto.
12820
12821         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
12822         so that we don't corrupt ideas about the last event or
12823         command. Remove widget-callback-current-channel fiddling.
12824         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
12825
12826 2000-05-01  Martin Buchholz <martin@xemacs.org>
12827
12828         * XEmacs 21.2.33 is released.
12829
12830 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
12831
12832         * make-src-depend: Allow dots in header file name.
12833
12834 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
12835
12836         * mule-charset.h (struct charset_lookup): Add
12837         next_allocated_1_byte_leading_byte and
12838         next_allocated_2_byte_leading_byte.
12839         * mule-charset.c: Move above two variables so that those values
12840         will be dumped.
12841
12842 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
12843
12844         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
12845         when string length is zero.
12846         (find_charsets_in_emchar_string): Ditto.
12847
12848 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
12849
12850         * lisp.h: extern Qdialog and Qmenubar.
12851
12852         * gui-x.c: added events.h.
12853                 also fixed typo which made the file uncompilable.
12854
12855         * general.c: Added Qmenubar and Qdialog
12856
12857 2000-04-28  Ben Wing  <ben@xemacs.org>
12858
12859         * frame-msw.c (mswindows_init_frame_1):
12860         * frame-msw.c (mswindows_mark_frame):
12861         * event-msw.c (mswindows_enqueue_dispatch_event):
12862         * console-msw.h:
12863         * console-msw.h (struct mswindows_frame):
12864         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
12865         there are now three hash tables for callbacks.
12866         mswindows_enqueue_dispatch_event is no longer static.
12867
12868         * dialog-x.c (maybe_run_dbox_text_callback):
12869         * dialog-x.c (dbox_descriptor_to_widget_value):
12870         switch to new cons3 form for callbacks.
12871
12872         * glyphs-msw.c (mswindows_register_gui_item):
12873         * glyphs-msw.c (mswindows_widget_instantiate):
12874         * glyphs-msw.c (add_tree_item):
12875         * glyphs-msw.c (add_tab_item):
12876         new image instance parameter, so it can be passed to callback-ex.
12877         respect :callback-ex as well as :callback.
12878
12879         * glyphs-widget.c (VALID_GUI_KEYWORDS):
12880         add :callback-ex.
12881
12882         * glyphs.c (print_image_instance):
12883         prettify, e.g. now prints widget type.
12884
12885         * gui-x.h:
12886         certain funs have new image instance parameter.
12887
12888         * gui.c:
12889         * gui.c (get_gui_callback):
12890         * gui.c (gui_item_add_keyval_pair):
12891         * gui.c (gui_item_init):
12892         * gui.c (gui_add_item_keywords_to_plist):
12893         * gui.c (mark_gui_item):
12894         * gui.c (gui_item_hash):
12895         * gui.c (gui_item_equal):
12896         * gui.c (copy_gui_item):
12897         * gui.c (syms_of_gui):
12898         recognize callback-ex in a number of places.
12899         also, fix the annoying "can't get out of yes-no dialog" bug.
12900
12901         * gui.h:
12902         * gui.h (struct Lisp_Gui_Item):
12903         recognize callback-ex in a number of places.
12904
12905         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12906         new parameter in button_item_to_widget_value.
12907
12908         * glyphs-x.c (x_update_widget):
12909         * glyphs-x.c (x_button_instantiate):
12910         * glyphs-x.c (x_button_update):
12911         * glyphs-x.c (x_progress_gauge_instantiate):
12912         * glyphs-x.c (x_edit_field_instantiate):
12913         * glyphs-x.c (x_combo_box_instantiate):
12914         * glyphs-x.c (x_tab_control_instantiate):
12915         * glyphs-x.c (x_label_instantiate):
12916         new image instance parameter in various places.
12917
12918         * event-Xt.c:
12919         * event-Xt.c (enqueue_Xt_dispatch_event):
12920         this fun gets exported.
12921
12922         * gui-msw.c:
12923         * gui-msw.c (mswindows_handle_gui_wm_command):
12924         handle both :callback and :callback-ex, and generate our own
12925         event because it's one of the callback-ex arguments.
12926
12927         * gui-x.c:
12928         * gui-x.c (popup_selection_callback):
12929         handle both :callback and :callback-ex, and generate our own
12930         event because it's one of the callback-ex arguments.
12931         * gui-x.c (button_item_to_widget_value):
12932         * gui-x.c (gui_items_to_widget_values_1):
12933         * gui-x.c (gui_item_children_to_widget_values):
12934         * gui-x.c (gui_items_to_widget_values):
12935         new image instance parameter in various places.
12936
12937         * fns.c (Freplace_list):
12938         fix small typo in doc string.
12939
12940         * lisp.h:
12941         declare enqueue_Xt_dispatch_event.
12942
12943 2000-04-28  Ben Wing  <ben@xemacs.org>
12944
12945         * buffer.c:
12946         * buffer.c (Frecord_buffer):
12947         * buffer.c (syms_of_buffer):
12948         delete record-buffer-hook.
12949
12950         * fns.c:
12951         * fns.c (Freplace_list):
12952         * fns.c (syms_of_fns):
12953         new primitive replace-list.
12954
12955         * frameslots.h:
12956         slot for old buffer-alist.
12957
12958         * lisp.h:
12959         exfun replace-list.
12960
12961         * redisplay.c:
12962         * redisplay.c (redisplay_frame):
12963         * redisplay.c (syms_of_redisplay):
12964         * redisplay.c (vars_of_redisplay):
12965         new hook buffer-list-changed-hook.
12966         call it.
12967
12968 2000-04-27  Ben Wing  <ben@xemacs.org>
12969
12970         * extents.h: extern in_modeline_generation.
12971
12972         * redisplay.c (generate_formatted_string_db): set
12973         in_modeline_generation.
12974
12975         * extents.c (extent_changed_for_redisplay): don't mark redisplay
12976         flags if in modeline generation.  otherwise frame-modified-tick
12977         is ticked far too often.
12978         Declare in_modeline_generation.
12979
12980 2000-04-26  Ben Wing  <ben@xemacs.org>
12981
12982         * emacs.c (vars_of_emacs): document quick-build "error-checking"
12983         option.
12984         (vars_of_emacs): add quick-build as an error-checking option.
12985         A bit kludgy, but there doesn't seem much point in creating
12986         a real var for this.
12987
12988         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
12989
12990 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
12991
12992         * redisplay.h (struct display_line): Add a new variable,
12993         line_continuation.
12994
12995         * redisplay.c (create_text_block): Set dl->line_continuation if
12996         the line continues.
12997         (create_string_text_block): Ditto.
12998         (regenerate_window_incrementally): Use line_continuation instead
12999         of searching continuation glyph.
13000         (add_margin_runes): Call add_glyph_rune.
13001         (add_glyph_rune): Handle margin glyph.
13002
13003 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13004
13005         * filelock.c (fill_in_lock_file_name):
13006         ANSIfy.
13007         Check for IS_ANY_SEP instead of '/'.
13008         (lock_file_1):
13009         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13010         Never check errno without first seeing that system call failed.
13011         (unlock_file): Add GCPRO.
13012         (Flock_buffer): Fix docstring.
13013         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13014
13015 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13016
13017         * sysdep.c (get_pty_max_bytes):
13018         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13019         strings longer than 252 bytes.
13020
13021         * md5.c: Unconditionally include ANSI header <limits.h>
13022
13023         * glyphs-x.c (convert_EImage_to_XImage):
13024         * lisp-union.h (union Lisp_Object):
13025         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13026
13027 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13028
13029         * filelock.c (current_lock_owner): Remove unused variable o, p.
13030
13031 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13032
13033         * callint.c: Remove multiply defined symbol Qlet
13034         (syms_of_callint): ditto.
13035
13036 2000-04-14  Andy Piper  <andy@xemacs.org>
13037
13038         * general.c (syms_of_general): add last-command, this-command, let
13039         and funcall.
13040
13041         * lisp.h: declare various symbols.
13042
13043         * glyphs.h: declare Qwidget_callback_current_channel;
13044
13045         * glyphs-widget.c (syms_of_glyphs_widget): add
13046         Qgui_callback_current_channel.
13047         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13048
13049         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13050         widget-callback-current-channel when invoking the interactive
13051         arg. Also bind last-command and next-command when invoking the
13052         widget updates.
13053         * gui-x.c (popup_selection_callback): ditto.
13054
13055         * gui.c (get_gui_callback): massage args so that we are always
13056         calling eval. This allows us to add our own variable bindings
13057         outside.
13058
13059         * glyphs-x.c (x_button_instantiate): use
13060         gui_items_to_widget_values since this is GC safe.
13061         (x_progress_gauge_instantiate): ditto.
13062         (x_edit_field_instantiate): ditto.
13063         (x_label_instantiate): ditto.
13064
13065         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13066         (emacs_Xt_event_widget_focus_out): new function
13067         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13068         focus.
13069         (emacs_Xt_event_add_widget_actions): new function. add focus
13070         functions as actions.
13071         (init_event_Xt_late): use it.
13072
13073 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13074
13075         * event-stream.c (Fdispatch_event): Doc fix.
13076
13077 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13078
13079         * postgresql.c: Remove all references to PQsetenv*.
13080
13081         * postgresql.h: Remove references to PGsetenvHandler object.
13082         * lrecord.h (lrecord_type): Ditto.
13083
13084 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13085
13086         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13087         real_heigh and real_width members, and accessor macros for these.
13088
13089         * glyphs-msw.c (init_image_instance_geometry): New function.
13090         (init_image_instance_from_dibitmap): Use it.
13091         (mswindows_resource_instantiate): Use it.
13092         (init_image_instance_from_xbm_inline): Use it.
13093         (mswindows_initialize_image_instance_mask): Use real bitmap
13094         geometry.
13095         (mswindows_create_resized_bitmap): Ditto.
13096         (mswindows_create_resized_mask): Ditto.
13097
13098         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13099         and bitmap to their surface size.
13100
13101 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13102
13103         * process-unix.c (unix_send_process): Guard against process MIA
13104         after Faccept_process_output.
13105
13106 2000-04-11  Ben Wing  <ben@xemacs.org>
13107
13108         * eval.c (unbind_to_hairy): fix brokenness introduced by
13109         nanosecond speed improvements.
13110
13111 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13112
13113         * sunplay.c (init_device): To play sounds correctly, the device
13114         apparently needs to be initialized at least once by XEmacs.  Make
13115         it so.
13116
13117 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13118
13119         * redisplay.c (add_margin_runes): Add text image glyph
13120           handling.
13121
13122 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13123
13124         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13125         gcc is newer than 2.5.
13126
13127 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13128
13129         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13130
13131         * fns.c (size_bit_vector):
13132         * alloc.c (size_vector):
13133         (make_vector_internal):
13134         (make_bit_vector_internal):
13135         (sweep_bit_vectors_1):
13136         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13137
13138 2000-04-06  Andy Piper  <andy@xemacs.org>
13139
13140         * gmalloc.c (malloc): undo previous change.
13141         (malloc): ditto.
13142         (free): ditto.
13143         (realloc): ditto.
13144
13145 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13146
13147         * line-number.c (buffer_line_number): Revert to former version.
13148
13149 2000-04-06  Andy Piper  <andy@xemacs.org>
13150
13151         * gmalloc.c (malloc): add error checking.
13152         (malloc): ditto.
13153         (free): ditto.
13154         (realloc): ditto.
13155
13156         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13157         button_item_to_widget_value arg.
13158
13159         * glyphs-x.c (x_button_instantiate): add extra
13160         button_item_to_widget_value arg.
13161         (x_progress_gauge_instantiate): ditto.
13162         (x_edit_field_instantiate): ditto.
13163         (x_label_instantiate): ditto.
13164
13165         * gui-x.c (gui_items_to_widget_values_1): add extra
13166         button_item_to_widget_value arg.
13167         (button_item_to_widget_value): add extra menu_item_p arg.
13168
13169         * gui-x.h: change signature of button_item_to_widget_value.
13170
13171         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13172         button_item_to_widget_value arg.
13173
13174 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13175
13176         * buffer.h (struct buffer): auto_save_modified should be long.
13177
13178 2000-04-05  Andy Piper  <andy@xemacs.org>
13179
13180         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13181         type.
13182         (button_query_geometry): give a little more room so that athena
13183         buttons fit.
13184
13185 2000-04-05  Andy Piper  <andy@xemacs.org>
13186
13187         * faces.c (complex_vars_of_faces): The widget face should inherit
13188         the font of the gui-element face.
13189
13190 2000-04-04  Andy Piper  <andy@xemacs.org>
13191
13192         * glyphs-x.c (x_button_update): new function. unconditionally
13193         update a button's state when the instance is dirty.
13194         (image_instantiator_format_create_glyphs_x): add x_button_update.
13195         (x_widget_instantiate): remove old resize cruft.
13196
13197 2000-04-02  Andy Piper  <andy@xemacs.org>
13198
13199         * frame.c (change_frame_size_1): The introduction of gutters means
13200         that we need to allow 0 as a potential frame dimension.
13201
13202 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13203
13204         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13205         image glyph if allow_cursor.
13206         (add_hscroll_rune): Don't allow cursor to border glyph.
13207         (create_text_block): Ditto.
13208
13209         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13210         text not in buffer.
13211         (redisplay_output_layout): Call ensure_face_cachel_complete for
13212         text image glyph.
13213
13214
13215 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13216
13217         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13218
13219         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13220         not in buffer
13221
13222         * redisplay-tty.c (tty_output_display_block): Delete the routine
13223         for text image glyph
13224         * redisplay-x.c (x_output_display_block): ditto
13225         * redisplay-msw.c (mswindows_output_display_block): ditto
13226
13227 2000-02-02  Mike Alexander  <mta@arbortext.com>
13228
13229         Note: Some of these were committed by accident as part of other
13230         patches.
13231
13232         * regex.c (regex_compile): Avoid compiler warnings.
13233
13234         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13235
13236         * nt.h: Declare term_ntproc correctly.
13237
13238         * nt.c: Remove incorrect declaration of get_home_directory which
13239         is declared correctly in lisp.h.
13240
13241         * keymap.c (get_keyelt): Avoid compiler warnings.
13242         (raw_lookup_key_mapper): Avoid compiler warnings.
13243
13244         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13245
13246         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13247
13248         * filemode.c (mode_string): Avoid compiler warnings.
13249
13250         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13251         avoid warning.
13252
13253         * events-mod.h: Undef some things that winuser.h defines differently.
13254
13255         * data.c (Faset): Avoid compiler warnings.
13256
13257         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13258
13259 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13260
13261         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13262         Fall through to simple beep on error.
13263         Replace "extern" by real header file.
13264
13265         * linuxplay.c: Use nativesound.h
13266         (play_sound_data): Return error code. Be less verbose on error.
13267
13268         * sunplay.c: Use nativesound.h
13269         (play_sound_data): Return error code. Be less verbose on error.
13270
13271         * ntplay.c: Use nativesound.h
13272         (play_sound_data): Return fake error code
13273
13274         * sgiplay.c: Use nativesound.h
13275         (play_sound_data): Return error code
13276
13277         * hpplay.c: Use nativesound.h, partially implement
13278         new error code. Break compilation until finished.
13279         (play_sound_data): error code.
13280
13281         * nativesound.h (play_sound_file):
13282           (play_sound_data): Prototype in new header.
13283
13284 2000-03-31  Andy Piper  <andy@xemacs.org>
13285
13286         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13287         for toggle and radio buttons.
13288         (image_instantiator_buttons): use it.
13289
13290 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13291
13292         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13293         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13294         found. Scrollbar event probably belonged to some old config.
13295
13296 2000-03-31  Andy Piper  <andy@xemacs.org>
13297
13298         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13299         than 1.
13300         (initialize_widget_image_instance): default layout to
13301         LAYOUT_HORIZONTAL rather than 0.
13302         (widget_instantiate): reverse the item list at the end rather than
13303         every iteration.
13304         (layout_layout): re-code for the border text at the front of the
13305         item list rather than at the end.
13306         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13307         provided by the user.
13308         (widget_query_geometry): comment.
13309
13310 2000-03-30  Andy Piper  <andy@xemacs.org>
13311
13312         * glyphs-widget.c (image_instantiator_layout): allow standard
13313         widget keywords in layouts.
13314
13315         * gutter.c (output_gutter): cope with nil gutter contents.
13316
13317         * frame.c (Fset_frame_properties): add gutter docs.
13318
13319 2000-03-29  Andy Piper  <andy@xemacs.org>
13320
13321         * toolbar-msw.c (TBSTYLE_FLAT): add.
13322         (mswindows_output_toolbar): minor fiddling.
13323
13324 2000-03-29  Andy Piper  <andy@xemacs.org>
13325
13326         * gutter.c (output_gutter): force gutter size recalculation if
13327         what we are trying to display won't fit.
13328         (update_gutter_geometry): new function. A per-gutter version of
13329         update_frame_gutter_geometry.
13330         (update_frame_gutter_geometry): use it.
13331         (redraw_exposed_gutter): add extra debugging output.
13332
13333 2000-03-28  Mike Alexander  <mta@arbortext.com>
13334
13335         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13336         (pdump_file_unmap): Implement it on Windows
13337         (pdump_file_get): Save alocated handles for pdump_file_unmap
13338
13339 2000-03-28  Andy Piper  <andy@xemacs.org>
13340
13341         * gui.c (get_gui_callback): treat Quit specially.
13342
13343 2000-03-27  Andy Piper  <andy@xemacs.org>
13344
13345         * glyphs.c (image_instantiate): be careful to check in the same
13346         way we assigned.
13347
13348 2000-03-27  Didier Verna  <didier@xemacs.org>
13349
13350         * config.h.in: define the proper SMART_INCLUDE macro.
13351         handle renaming of `foo_h_path' to `foo_h_file'.
13352
13353         * database.c: ditto.
13354
13355         * emacs.c: ditto.
13356
13357         * linuxplay.c: ditto.
13358
13359         * terminfo.c: ditto.
13360
13361         * tooltalk.h: ditto.
13362
13363 2000-03-27  Andy Piper  <andy@xemacs.org>
13364
13365         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13366         gets updated whenever the face might have changed.
13367
13368 2000-03-26  Mike Alexander  <mta@arbortext.com>
13369
13370         * dumper.c (pdump_resource_free): Fix the comment.
13371
13372 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13373
13374         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13375
13376 2000-03-22  Mike Alexander  <mta@arbortext.com>
13377
13378         * dumper.c: Include Windows headers on Windows
13379         (pdump_resource_free): Add a body to the function
13380         (pdump_load): exe_name -> exe_path and add some comments.
13381
13382 2000-03-25  Mike Alexander  <mta@arbortext.com>
13383
13384         * gui.c (copy_gui_item_tree): Return a value in all cases
13385
13386 2000-03-21  Didier Verna  <didier@xemacs.org>
13387
13388         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13389         lwlib/config.h.in.
13390         (SMART_INCLUDE): new macro.
13391         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13392         the proper location.
13393
13394         * postgresql.c: use it.
13395
13396         * inline.c: ditto.
13397
13398 2000-03-24  Andy Piper  <andy@xemacs.org>
13399
13400         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13401         do this.
13402
13403 2000-03-24  Andy Piper  <andy@xemacs.org>
13404
13405         * redisplay-output.c (compare_runes): use image_instance_changed
13406         to detect changes. Do not depend on glyphs_changed, only depend on
13407         dirtiness.
13408          (redisplay_output_layout): add debug messages.
13409         (compare_runes): ditto.
13410
13411         * glyphs.h: declare new functions.
13412         (struct Lisp_Image_Instance): remove percent and associated
13413         accessors.
13414
13415         * gui.h: declare new copying functions.
13416
13417         * gui.c (copy_gui_item_tree): new function.
13418         (copy_gui_item): new function.
13419         (gui_item_id_hash): revert to standard hash.
13420         (gui_item_hash): ditto.
13421         (gui_item_hash_internal): deleted.
13422         (mark_gui_item): mark value.
13423         (gui_item_add_keyval_pair): add value.
13424         (gui_item_init): ditto.
13425         (gui_add_item_keywords_to_plist): ditto.
13426         (gui_item_equal): ditto.
13427         (syms_of_gui): add Q_value.
13428
13429         * glyphs-x.c (x_progress_gauge_update): use pending items and
13430         value for setting the state.
13431         (x_update_widget): don't set items from pending here.
13432
13433         * glyphs-widget.c (update_widget): update items here.
13434         (progress_gauge_set_property): use items for storing value. Put
13435         new value in pending items.
13436
13437         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13438         items for new value. Convert percent -> value.
13439         (mswindows_tab_control_update): don't update items here.
13440
13441         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13442         (update_subwindow): ditto.
13443         (image_instance_changed): new function. Compare hash values and
13444         past and present widget items.
13445         (image_instantiate): We more careful about where we instantiate
13446         things.
13447         (image_instantiate): add error checking.
13448
13449         * gutter.c (syms_of_gutter): use -hook.
13450
13451 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13452
13453         * console-tty.c (Fset_console_tty_input_coding_system): Use
13454         Qkeyboard.
13455         (Fset_console_tty_output_coding_system): Use Qterminal.
13456         (tty_init_console): Use Qkeyboard and Qterminal.
13457
13458 2000-03-21  Ben Wing  <ben@xemacs.org>
13459
13460         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13461         From Mike Alexander <mta@arbortext.com>.
13462
13463 2000-03-21  Ben Wing  <ben@xemacs.org>
13464
13465         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13466         process brokenness.  Proper implementation to come.
13467         * callproc.c:
13468         Rename call-process-internal to old-call-process-internal.
13469         New impl. in process.el.
13470
13471 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13472
13473         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13474
13475 2000-03-20  Andy Piper  <andy@xemacs.org>
13476
13477         * glyphs.c (full_list_hash): make hashes of the same elements in
13478         different orders return different values.
13479
13480 2000-03-20  Martin Buchholz <martin@xemacs.org>
13481
13482         * XEmacs 21.2.32 is released.
13483
13484 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13485
13486         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13487         (DFC_MALLOC_USE_CONVERTED_DATA):
13488         Add aliasing-safe casts to allow use with char* or unsigned char*
13489         lvalues.
13490
13491         * eldap.c (Fldap_open):
13492         (Fldap_search_basic):
13493         (Fldap_add):
13494         (Fldap_modify):
13495         Make C++-compilable.
13496         Make sure GCPRO'ed variables are initialized.
13497         Use temp variables to avoid repeated calls to Flength.
13498
13499 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13500
13501         * sysfile.h:
13502         Make sure PATH_MAX is always defined.
13503         Include limits.h for PATH_MAX.
13504         Deprecate use of MAXPATHLEN.
13505
13506 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13507
13508         * emacs.c: Add reinit_vars_of_fileio.
13509         * symsinit.h: Add reinit_vars_of_fileio.
13510         * fileio.c (reinit_vars_of_fileio): New.
13511         * fileio.c (Fmake_temp_name):
13512         Initialize temp_name random number from microseconds to make
13513         collisions even less likely.  Initialize always at process startup
13514         time.  (make-temp-name) used to return the same file name twice in
13515         a row when PDUMP.
13516         Random stylistic fiddling.
13517         Comment fixes.
13518
13519 2000-03-20  Andy Piper  <andy@xemacs.org>
13520
13521         * glyphs.c (image_instantiate): allow text glyphs to be
13522         instantiated in the minibuffer window.
13523
13524 2000-03-19  Andy Piper  <andy@xemacs.org>
13525
13526         * glyphs.c (image_instance_hash): be careful about which items we
13527         hash on.
13528
13529         * glyphs-widget.c (tab_control_set_property): record into pending
13530         items rather than the actual items.
13531
13532         * glyphs-x.c (x_update_widget): use pending items to update with.
13533
13534         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13535         to update with.
13536
13537         * glyphs.c (mark_image_instance): mark pending items.
13538
13539         * window.c (Fset_window_configuration): record the buffer.
13540         (Fselect_window): totally revert previous change which breaks many
13541         things.
13542
13543 2000-03-18  Andy Piper  <andy@xemacs.org>
13544
13545         * glyphs-msw.c (mswindows_tab_control_update): force selected
13546         item.
13547
13548         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13549         window domain cache, otherwise we get inconsistencies at
13550         startup. There is something fishy at startup which can lead to the
13551         minibuffer being the selected window when the gutter content is
13552         instantiated.
13553
13554         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13555         gcpros.
13556         (parse_gui_item_tree_children): ditto.
13557         (parse_gui_item_tree_item): ditto.
13558
13559         * glyphs.c (Fupdate_widget_instances): return something.
13560
13561 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13562
13563         * window.c (Fselect_window): Undo 2000-03-17 change.
13564
13565 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13566
13567         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13568         against v7.0 libraries.  Insta-coredump city until the postgres
13569         folks fix it.
13570
13571 2000-03-17  Andy Piper  <andy@xemacs.org>
13572
13573         * faces.c (complex_vars_of_faces): don't give the widget face an
13574         inherited background pixmap.
13575
13576         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13577         selected item.
13578
13579         * event-stream.c (Fdispatch_non_command_events): return something.
13580
13581         * gutter.c (output_gutter): use widget face.
13582         (clear_gutter): ditto.
13583
13584         * NEWS: adjust again.
13585
13586         * window.c (Fselect_window): make sure this runs to completion to
13587         avoid oddities with Fset_window_configuration.
13588         (Fcurrent_window_configuration): in general do not save the
13589         minibuffer as the selected window.
13590
13591         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13592
13593 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13594
13595         * emacs.c (Frunning_temacs_p): Revert previous patch.
13596         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13597
13598 2000-03-16  Andy Piper  <andy@xemacs.org>
13599
13600         * glyphs-x.c (x_tab_control_update): if no widget values then
13601         return.
13602
13603         * NEWS: update for new features.
13604
13605         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13606         synthetic event to the native system.
13607         (reinit_vars_of_event_Xt): set force_event_pending to
13608         emacs_Xt_force_event_pending.
13609
13610         * events.h (struct event_stream): add force_event_pending.
13611
13612         * specifier.c (recompute_one_cached_specifier_in_window): add
13613         comment.
13614
13615         * redisplay.c (redisplay_frame): don't call
13616         update_frame_subwindows. Reset subwindow cachels when
13617         subwindows_changed, removing this was an optimization too far.
13618
13619         * redisplay-output.c (compare_runes): reorganize so that we catch
13620         glyph changes when we want them. Set optimize_output when this
13621         would help layouts.
13622         (redisplay_output_layout): remove frame_really_changed, use
13623         optimize_output instead.
13624
13625         * redisplay-msw.c (mswindows_output_display_block): reset
13626         optimize_output after outputting a glyph.
13627         * redisplay-x.c (x_output_display_block): ditto.
13628         * redisplay-tty.c (tty_output_display_block): ditto.
13629
13630         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13631         functions.
13632         (gutter_specs_changed): do specific gutter positions.
13633         (top_gutter_specs_changed): new function. Only update the
13634         specified gutter specs.
13635         (bottom_gutter_specs_changed): ditto.
13636         (left_gutter_specs_changed): ditto.
13637         (right_gutter_specs_changed): ditto.
13638
13639         * gui.c (gui_item_hash_internal): new function, does a real hash.
13640         (gui_item_id_hash): use it.
13641         (gui_item_hash): hash the eval'ed gui_item.
13642
13643         * gui-x.c (popup_selection_callback): send an eval event to call
13644         Fupdate_widget_instances.
13645
13646         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13647         to call Fupdate_widget_instances.
13648
13649         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13650         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13651
13652         * glyphs.c: (update_frame_subwindows): deleted.
13653         (Fupdate_widget_instances): new function for updating the dirty
13654         state of widgets that might have changed.
13655         (syms_of_glyphs): add Qupdate_widget_instances.
13656         (full_list_hash): hash a list completely.
13657         (image_instance_hash): use it for items and properties.
13658
13659         * frame-msw.c (mswindows_size_frame_internal): remove unused
13660         variable.
13661
13662         * faces.h (struct face_cachel): fix comment.
13663
13664         * event-stream.c (Fdispatch_non_command_events): new
13665         function. Process non-command events, forcing an event cycle
13666         beforehand.
13667         (syms_of_event_stream): declare.
13668         (event_stream_force_event_pending): new function. Force an event
13669         on the native event queue so that an event cycle will occur next
13670         time we check.
13671
13672         * event-msw.c:
13673         (struct ntpipe_shove_stream):
13674         (mswindows_enqueue_dispatch_event):
13675         (mswindows_dequeue_dispatch_event):
13676         (mswindows_cancel_dispatch_event):
13677         (mswindows_pump_outstanding_events):
13678         (mswindows_drain_windows_queue):
13679         (mswindows_handle_paint):
13680         (mswindows_wnd_proc):
13681         (mswindows_key_to_emacs_keysym):
13682         (get_process_input_waitable):
13683         (emacs_mswindows_delete_stream_pair): re-indent file.
13684         (mswindows_need_event): do not process further fds if the windows
13685         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13686         fixes the 100% cpu problem.
13687         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13688
13689 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13690
13691         * alloc.h: New.
13692         * dumper.h: New.
13693         * dumper.c: New.
13694
13695         * emacs.c: Moved dump file searching to dumper.c.
13696         (Frunning_temacs_p): Fixed.
13697
13698         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13699         last_lrecord_type_index_assigned.
13700
13701 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13702
13703         * symsinit.h: Added reinit parameter to init_console_stream
13704         declaration.
13705
13706         * lisp.h: Added file parameter to pdump_load declaration.
13707
13708         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13709         support.  Added dump file searching.
13710
13711         * config.h.in: Added EMACS_PROGNAME.
13712
13713         * console-stream.c (init_console_stream): Fix reinitialisation
13714         when running from temacs.
13715
13716         * alloc.c (pdump): Add id support.
13717         (pdump_load): Add file parameter and signature/id support.
13718
13719         * Makefile.in.in: Add full pdump support.
13720
13721 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
13722
13723         * postgresql.c: Update documentation to reflect latest code
13724         status.
13725         (print_result): Show tuple counts in printed representation when
13726         appropriate.
13727         (Fpq_put_nbytes): MULE-ize.
13728         (Fpq_get_line_async): Ditto.
13729
13730 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13731
13732         * postgresql.c (Fpq_lo_import): Fix return value.
13733         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
13734
13735 2000-03-13  Ben Wing  <ben@xemacs.org>
13736
13737         * alloc.c (pdump_load):
13738         Fix compile warning under mswin.
13739
13740 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
13741
13742         * postgresql.c: Mule-ization, bug fixes.
13743         Use PG_CODING to encapsulate coding system name changes.
13744         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
13745         (pg-coding-system): Create.
13746
13747         (Fpq_conn_defaults): Mule-ize.
13748         (Fpq_connectdb): Mule-ize & bug fix.
13749         (Fpq_connect_start): Mule-ize.
13750         (Fpq_set_client_encoding): Mule-ize.
13751         (Fpq_finish): Document `DEAD' connection status.
13752         (Fpq_clear): Ditto.
13753         (Fpq_pgconn): Mule-ize.
13754         (Fpq_exec): Mule-ize & bug fix.
13755         (Fpq_send_query): Ditto.
13756         (Fpq_get_result): Ditto.
13757         (Fpq_res_status): Mule-ize.
13758         (Fpq_result_error_message): Mule-ize.
13759         (Fpq_ntuples): fix comments.
13760         (Fpq_fname): Mule-ize.
13761         (Fpq_fnumber): Mule-ize.
13762         (Fpq_ftype): fix comments.
13763         (Fpq_get_value): Mule-ize.
13764         (Fpq_cmd_status): Ditto.
13765         (Fpq_cmd_tuples): Ditto.
13766         (Fpq_oid_value): Ditto.
13767         (Fpq_notifies): Ditto.
13768         (Fpq_lo_import): Ditto.
13769         (Fpq_lo_export): Ditto.
13770         (Fpq_get_line): Ditto.
13771         (Fpq_put_line): Mule-ize and bug fix.
13772         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
13773
13774 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
13775
13776         * postgresql.c (vars_of_postgresql): Mule-ize.
13777         (Fpq_conn_defaults): Ditto.
13778
13779 2000-03-12  Ben Wing  <ben@xemacs.org>
13780
13781         * alloc.c (Fmake_byte_code):
13782         * alloc.c (debug_string_purity_print):
13783         * alloc.c (pdump_backtrace):
13784         * alloc.c (pdump_get_indirect_count):
13785         * alloc.c (pdump_register_sub):
13786         * alloc.c (pdump_register_object):
13787         * alloc.c (pdump_register_struct):
13788         * alloc.c (pdump_dump_data):
13789         * alloc.c (pdump_reloc_one):
13790         Minor cleanups.
13791
13792         * console-msw.c:
13793         * console-msw.c (GetConsoleHwnd):
13794         * console-msw.c (msw_hide_console):
13795         * console-msw.c (msw_show_console):
13796         * console-msw.c (msw_ensure_console_buffered):
13797         * console-msw.c (msw_output_console_string):
13798         * console-msw.c (console_type_create_mswindows):
13799
13800         a) Added functions to manipulate the console window for use with
13801         shell support.
13802
13803         b) Added support for writing text to the console, which is now
13804         used under Windows when xemacs is not being run non-interactively,
13805         to write text that would otherwise be destined for stdout because
13806         under these circumstances, text written to stdout tends to
13807         disappear and not be seen.
13808
13809         * console-msw.h:
13810         * event-Xt.c:
13811         * event-Xt.c (x_event_to_emacs_event):
13812         * event-Xt.c (describe_event_window):
13813         * events-mod.h (XEMACS_MOD_CONTROL):
13814         * events.c:
13815         * events.c (Fmake_event):
13816         * events.c (character_to_event):
13817         * events.c (event_to_character):
13818         * events.c (format_event_object):
13819         * events.c (Fevent_modifiers):
13820         * events.h:
13821         * events.h (struct key_data):
13822         * events.h (struct button_data):
13823         * events.h (struct misc_user_data):
13824         * frame-x.c (Fcde_start_drag_internal):
13825         * frame-x.c (Foffix_start_drag_internal):
13826         * gpmevent.c (Freceive_gpm_event):
13827         * keymap.c:
13828         * keymap.c (bucky_sym_to_bucky_bit):
13829         * keymap.c (control_meta_superify):
13830         * keymap.c (make_key_description):
13831         * keymap.c (keymap_lookup_directly):
13832         * keymap.c (create_bucky_submap):
13833         * keymap.c (keymap_store):
13834         * keymap.c (define_key_check_and_coerce_keysym):
13835         * keymap.c (define_key_parser):
13836         * keymap.c (define_key_alternate_name):
13837         * keymap.c (Fdefine_key):
13838         * keymap.c (raw_lookup_key_mapper):
13839         * keymap.c (struct map_keymap_unsorted_closure):
13840         * keymap.c (map_keymap_unsorted_mapper):
13841         * keymap.c (map_keymap_sort_predicate):
13842         * keymap.c (map_keymap_sorted):
13843         * keymap.c (accessible_keymaps_mapper_1):
13844         * keymap.c (where_is_recursive_mapper):
13845         * keymap.c (describe_map_mapper):
13846         * keymap.c (describe_map_sort_predicate):
13847         * keymap.c (describe_map):
13848         * keymap.c (complex_vars_of_keymap):
13849         And a number of other files, the key modifier preprocessor
13850         constants that xemacs uses have names that conflict with constants
13851         defined under MS Windows for other purposes, so they were renamed
13852         to begin with the prefix XEMACS_. The variables that hold such
13853         modifiers were changed to consistently be of type int to fix
13854         various compile warnings.
13855
13856         * console.c (complex_vars_of_console):
13857         * device.c:
13858         * device-msw.c:
13859         * device-msw.c (mswindows_finish_init_device):
13860         * device-msw.c (msw_get_workspace_coords):
13861         * device-msw.c (mswindows_device_system_metrics):
13862         and various other files, added support for a new
13863         device property called offset-workspace which returns the position
13864         of the upper left corner of the workspace area and goes along with
13865         the existing size-workspace property.
13866
13867         * dialog-msw.c:
13868         * dialog-msw.c (push_bufbyte_string_as_unicode):
13869         * dialog-msw.c (mswindows_popup_dialog_box):
13870         Added support for XEmacs-style accelerator specifications in
13871         button text.  Note: I didn't add support for this under X Windows,
13872         and somebody needs to do this.
13873
13874         * dialog.c:
13875         * dialog.c (Fpopup_dialog_box):
13876         Documented the support for accelerators that was just mentioned.
13877
13878         editfns.c (get_home_directory): Changed behavior under Windows
13879         when HOME not defined; former behavior was irretrievably broken.
13880
13881         * emacs.c:
13882         * emacs.c (main_1):
13883         * emacs.c (main):
13884         * minibuf.c (clear_echo_area_internal):
13885         * minibuf.c (echo_area_append):
13886         * print.c:
13887         * print.c (std_handle_out_external):
13888         * print.c (std_handle_out_va):
13889         * print.c (fatal):
13890         * print.c (write_string_to_stdio_stream):
13891         * print.c (output_string):
13892         * print.c (debug_print):
13893         * print.c (debug_backtrace):
13894         * print.c (debug_short_backtrace):
13895         Cleaned up the code that prints text to stdout so that this can be
13896         changed to output into a console window instead under MS Windows,
13897         as described above.
13898
13899         * eval.c:
13900         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
13901         * eval.c (internal_catch):
13902         * eval.c (unwind_to_catch):
13903         * eval.c (throw_or_bomb_out):
13904         * eval.c (condition_case_1):
13905         * eval.c (signal_1):
13906         * eval.c (check_error_state_sanity):
13907         * eval.c (call_with_suspended_errors_1):
13908         * eval.c (call_with_suspended_errors):
13909         * eval.c (reinit_vars_of_eval):
13910         Added code to catch throw loops and check for a pesky bug that may
13911         be gone now.
13912
13913         * event-msw.c:
13914         * event-msw.c (key_needs_default_processing_p):
13915         * event-msw.c (mswindows_wnd_proc):
13916         * event-msw.c (mswindows_modifier_state):
13917         * event-msw.c (emacs_mswindows_quit_p):
13918         * event-msw.c (vars_of_event_mswindows):
13919         a) Added support for using the alt key to select menu items as is
13920         standard under MS Windows.  This is controlled using the variable
13921         menu-accelerator-enabled, just like under X Windows.  There is an
13922         option on the options menu to turn this support on.  I really
13923         think that it should be on by default under Windows, but I'm not
13924         going to make this change yet.
13925
13926         b)  Added support for dynamic display size changes under Windows.
13927
13928         * event-stream.c:
13929         * event-stream.c (maybe_echo_keys):
13930         * event-stream.c (Fnext_event):
13931         * event-stream.c (command_builder_find_leaf):
13932         * event-stream.c (lookup_command_event):
13933         * event-stream.c (execute_command_event):
13934         * event-stream.c (pre_command_hook):
13935         * event-stream.c (post_command_hook):
13936         * event-stream.c (syms_of_event_stream):
13937         * event-stream.c (vars_of_event_stream):
13938         * event-stream.c (complex_vars_of_event_stream):
13939         * events.h (struct command_builder):
13940
13941         a) Tried to clean up a little bit the horribly written x-specific
13942         accelerator code that crept into this file.  I moved this code
13943         into menubar-x.c where it belongs. I also needed to move the
13944         command builder structure into the file events.h because it is
13945         accessed directly by this accelerator code.  What I didn't do, but
13946         which should be done at some point, is to properly abstract this
13947         code using device methods instead of the kludgy way that it
13948         currently hooks into the event code.
13949
13950         b) Added the lisp variables this-command-properties and
13951         last-command- properties, which should be used to synchronize two
13952         adjacent commands in preference to playing games with the variable
13953         this-command, which is typically what happens.
13954
13955         c) Added some slightly nasty code to hook into the lisp support
13956         for shifted- motion-key selection.  This is actually necessary for
13957         somewhat complicated reasons, which are described in
13958         simple.el. (NB: I think the proper thing would be to have the code
13959         that calls the pre and post command hooks also call out to generic
13960         lisp functions in simple.el, where all built-in stuff could be
13961         added.  I will think about this more.)
13962
13963         * event-unixoid.c (poll_fds_for_input):
13964         * lread.c (readchar):
13965         * redisplay-tty.c (tty_clear_frame):
13966         * redisplay-x.c (x_get_gc):
13967         * signal.c (interrupt_signal):
13968         And a whole bunch of other files: fixed up places that printed
13969         directly to stderr to instead call the function stderr_out so that
13970         the changes I made under Windows work correctly.
13971
13972         * filemode.c (mode_string):
13973         Warning fixes.
13974
13975         * frame-msw.c:
13976         * frame-msw.c (mswindows_size_frame_internal):
13977         Fixed the computation of frame size and position to keep the frame
13978         within the workspace area, rather than within the physical
13979         dimensions of the screen, so that the frame doesn't overlap window
13980         manager decorations, such as the start menu and toolbar, typically
13981         at the bottom of the screen.
13982
13983         * frame.c (vars_of_frame):
13984         Changed the default frame title format under MS Windows to consist
13985         of buffername-XEmacs, which is standard under MS Windows.  I think
13986         it might be a good idea to change this everywhere because I think
13987         it is superior to the current frame title format, but this is the
13988         kind of change that is likely to cause some people to get annoyed,
13989         so I'm not making it.
13990
13991         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
13992
13993         * gui-msw.c (mswindows_handle_gui_wm_command):
13994         Fixed compile warnings.
13995
13996         * gui-x.c:
13997         * gui-x.c (strdup_and_add_accel):
13998         * gui-x.c (button_item_to_widget_value):
13999         * gui-x.h:
14000         Added code to automatically put an accelerator onto the beginning
14001         of menu items that don't have one as is now the standard, and is
14002         described more later.  Also fixed things so that the menu item
14003         name can be an evaluated expression, again a new standard.
14004
14005         * gui.c:
14006         * gui.c (gui_item_add_keyval_pair):
14007         * gui.c (make_gui_item_from_keywords_internal):
14008         * gui.c (gui_add_item_keywords_to_plist):
14009         * gui.c (gui_item_accelerator):
14010         * gui.c (gui_name_accelerator):
14011         * gui.c (gui_item_included_p):
14012         * gui.c (gui_item_display_flush_left):
14013         * gui.c (gui_item_display_flush_right):
14014         * gui.c (parse_gui_item_tree_item):
14015         * gui.c (parse_gui_item_tree_children):
14016         * gui.c (parse_gui_item_tree_list):
14017         Mule-ized.  Cleanup.  GCPRO addition.
14018
14019         * line-number.c (buffer_line_number):
14020         * lisp.h:
14021         * lisp.h (EMACS_INT_MAX):
14022         Added the manifest constant EMACS_INT_MIN corresponding to the
14023         existing constant EMACS_INT_MAX.  This is partially to fix compile
14024         warnings under Windows, and partly for cleanliness.
14025
14026         * menubar-msw.c:
14027         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14028         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14029         * menubar-msw.c (displayable_menu_item):
14030         * menubar-msw.c (populate_menu_add_item):
14031         * menubar-msw.c (populate_or_checksum_helper):
14032         * menubar-msw.c (populate_menu):
14033         * menubar-msw.c (update_frame_menubar_maybe):
14034         * menubar-msw.c (prune_menubar):
14035         * menubar-msw.c (msw_char_is_accelerator):
14036         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14037         * menubar-msw.c (mswindows_handle_wm_command):
14038         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14039         * menubar-msw.c (mswindows_handle_wm_initmenu):
14040         * menubar-msw.c (mswindows_update_frame_menubars):
14041         * menubar-msw.c (mswindows_free_frame_menubars):
14042         * menubar-msw.c (mswindows_popup_menu):
14043         Fixed a bug in handling accelerators where an extra character
14044         would be displayed in the menu item.  Also generalized the
14045         function displayable_menu_item because it is now used by the
14046         dialog box code as well.  And finally, added code in the functions
14047         that create the menubar to extract a list of accelerators for the
14048         top level menubar, which is used in the event code to determine
14049         whether a particular alt-key combination should be used to invoke
14050         a menu item, or should be passed through to access the standard
14051         XEmacs keymap binding for this key combination.
14052
14053         Much needed GCPROing.
14054
14055         * menubar-x.c:
14056         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14057         * menubar-x.c (menu_item_descriptor_to_widget_value):
14058         * menubar-x.c (restore_in_menu_callback):
14059         * menubar-x.c (x_popup_menu):
14060         * menubar-x.c (menu_move_up):
14061         * menubar-x.c (menu_move_down):
14062         * menubar-x.c (menu_move_left):
14063         * menubar-x.c (menu_move_right):
14064         * menubar-x.c (menu_select_item):
14065         * menubar-x.c (command_builder_operate_menu_accelerator):
14066         * menubar-x.c (menu_accelerator_junk_on_error):
14067         * menubar-x.c (command_builder_find_menu_accelerator):
14068         * menubar-x.c (Faccelerate_menu):
14069         * menubar.h:
14070         Moved a whole bunch of code here that was previously in
14071         event-stream.c as described above.  There is also code connected
14072         to the new standard of adding an accelerator to the beginning of
14073         menu items that don't have one as described above and below.
14074
14075         * menubar.c:
14076         * menubar.c (menu_parse_submenu_keywords):
14077         * menubar.c (Fmenu_find_real_submenu):
14078         * menubar.c (Fnormalize_menu_item_name):
14079         * menubar.c (syms_of_menubar):
14080         * menubar.c (vars_of_menubar):
14081         * menubar.c (complex_vars_of_menubar):
14082
14083         a) Cleaned up a bunch of documentation and improved it.
14084
14085         b) XEmacs now automatically adds an accelerator onto the beginning
14086         of any menu items that don't have one.  I did this because there
14087         will inevitably be some menu items on the main menubar that don't
14088         have accelerators on them because the package that adds that
14089         particular menu item hasn't yet been fixed up to have accelerators
14090         in them and it looked rather strange to have some items with and
14091         some items without accelerators, especially since even in items
14092         without accelerators, you can, at least under windows, still
14093         access the item through an accelerator corresponding to the first
14094         character in the item's name.  If people don't like this behavior,
14095         I can add a variable to turn it off optionally, but I'm not sure
14096         this is a good idea because we really do need to have accelerators
14097         on all of the menu items, and if a package doesn't like the
14098         accelerators being put on the first character, then it should put
14099         the accelerators where they belong.
14100
14101         c) I made a behavior change, which is that the descriptor that
14102         specifies the text of the menu item, which formerly was just a
14103         string, can now also be an evaluated expression.  This makes this
14104         descriptor parallel with all of the others, which could also be
14105         evaluated expressions.  This also obviates the need for the
14106         keyword :label, which was previously listed in the documentation
14107         as unimplemented, and which was for the same purpose.
14108
14109         d) GCPROing.
14110
14111         * ntproc.c:
14112         * ntproc.c (new_child):
14113         * ntproc.c (sys_spawnve):
14114         * ntproc.c (find_child_console):
14115         * ntproc.c (sys_kill):
14116         Fixed compile warnings.  By the way, this file should really go
14117         away entirely, and this will happen as soon as Kirill makes his
14118         final round of process cleanups, which affect the function
14119         call-process.
14120
14121         * process-nt.c:
14122         * process-nt.c (struct nt_process_data):
14123         * process-nt.c (find_process_from_pid):
14124         * process-nt.c (send_signal_the_nt_way):
14125         * process-nt.c (enable_child_signals):
14126         * process-nt.c (find_child_console):
14127         * process-nt.c (send_signal_the_95_way):
14128         * process-nt.c (nt_finalize_process_data):
14129         * process-nt.c (ensure_console_window_exists):
14130         * process-nt.c (nt_create_process):
14131         * process-nt.c (nt_kill_child_process):
14132         * process-nt.c (nt_kill_process_by_pid):
14133         * process-nt.c (nt_open_network_stream):
14134         * process-nt.c (vars_of_process_nt):
14135         Copied over code from Emacs 20.5 to correctly send signals to sub-
14136         processes under Windows 95.  Also added code to automatically
14137         create and hide console window when a sub-process is created under
14138         Windows 95, which obviates the need for the separate runemacs.exe
14139         executable, and finally implemented some variables that were
14140         implemented in Emacs 20.5, but previously not in XEmacs.  These
14141         include mswindows- start-process-share-console and
14142         mswindows-start-process-inherit-error-mode. (Both of these only
14143         apply to Windows 95.)
14144
14145         * regex.c (regex_compile): Fixed a compile warning.
14146
14147         * select-msw.c:
14148         * select-msw.c (mswindows_own_selection):
14149         * select-msw.c (mswindows_get_foreign_selection):
14150         * select-msw.c (mswindows_disown_selection):
14151         * select-msw.c (console_type_create_select_mswindows):
14152         * select-msw.c (syms_of_select_mswindows):
14153         Cleaned up the file and implemented the device method
14154         selection_exists_p, which had accidentally been left out.  Also
14155         removed four lisp functions that were remnants from before the
14156         time when the selection code was properly device abstracted.
14157         These functions are no longer needed because there are generic
14158         equivalents, and because they were added recently and don't exist
14159         in FSF Emacs, I don't think there's any problem with just deleting
14160         them.
14161
14162         * sysdep.c:
14163         * sysdep.c (sys_subshell):
14164         Fixed a compile warning, although in this case there's probably
14165         something wrong with this code, and it ought to be looked into
14166         more thoroughly by somebody who understands it.
14167
14168         * window.c:
14169         * window.c (Fwindow_text_area_height):
14170         * window.c (Fwindow_width):
14171         * window.c (Fwindow_full_width):
14172         * window.c (Fwindow_pixel_width):
14173         * window.c (debug_print_window):
14174         * window.c (syms_of_window):
14175         Added functions window-text-area-height and window-full-width,
14176         which are functions for returning various width and height
14177         characteristics of a window. (One of these functions is necessary
14178         for making the file dialog box work correctly, and the other one
14179         was added for completeness.)  Also added a table to the
14180         documentation for window-height which describes the entire scheme
14181         for accessing width and height characteristics of a window.
14182
14183 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14184
14185         * nt.c (fstat): Added a comment for another problem with
14186         non-encapsulated [f]stat(), reported by Adrian Aichner
14187         <aichner@ecf.teradyne.com>.
14188
14189 2000-03-11  Andy Piper  <andy@xemacs.org>
14190
14191         * window.c (make_dummy_parent): initialize subwindow instance
14192         cache.
14193         (Fset_window_configuration): zero extent_modiff.
14194
14195 2000-03-10  Andy Piper  <andy@xemacs.org>
14196
14197         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14198         more changes can be triggered.
14199         (Fredisplay_frame): ditto.
14200         (Fredraw_device): ditto.
14201         (Fredisplay_device): ditto.
14202         (redisplay_frame): make non-static.
14203         (redisplay_frame): call update_frame_gutter_geometry outside of
14204         display proper.
14205
14206         * gutter.h: declare update_frame_gutter_geometry.
14207
14208         * redisplay.h: declare redisplay_frame.
14209
14210         * gutter.c (update_frame_gutter_geometry): move geometry changes
14211         in update_frame_gutters here. Geometry changes can only occur
14212         outside of redisplay.
14213         (update_frame_gutters): remove geometry change code.
14214         (Fredisplay_gutter_area): make sure that we are in display when we
14215         update and that we have flushed any size changes.
14216
14217 2000-03-11  Andy Piper  <andy@xemacs.org>
14218
14219         * alloc.c (pdump_dump_data): remove i & count shadows.
14220
14221 2000-02-27  Mike Alexander  <mta@arbortext.com>
14222
14223         * sysdep.h: Declare pdump_read_file
14224
14225         * sysdep.c (pdump_read_file): New function
14226
14227         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14228         dump data
14229
14230 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14231
14232         * lrecord.h: add `lrecord_type_pgsetenv'.
14233
14234 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14235
14236         * symsinit.h: declare (vars|syms)_of* functions.
14237         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14238
14239 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14240
14241         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14242
14243         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14244         GCCs.
14245
14246         * emacs.c (main_1): Call postgres initialization code.
14247
14248         * postgresql.h: New file.  PostgreSQL RDBMS support.
14249         * postgresql.c: New file.
14250
14251 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14252
14253         * redisplay-output.c (redisplay_output_display_block): Disable
14254         redundant code.
14255
14256 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14257
14258         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14259         (Fcanna_henkan_next): Ditto.
14260         (Fcanna_bunsetu_henkou): Ditto.
14261         (Fcanna_henkan_kakutei): Ditto.
14262         (Fcanna_henkan_end): Ditto.
14263         (Fcanna_henkan_quit): Ditto.
14264         (Fcanna_henkan_next): Set retun value correctly.
14265         (c2mu): Use unsigned char instead of signed char.
14266
14267 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14268
14269         * emacs.c (main_1): Always call syms_of_gui.
14270         * inline.c: include gui.h
14271
14272 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14273
14274         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14275         converted to Lisp_Object.
14276         (Qtop_bottom): New variable.
14277         (syms_of_redisplay): Initialize it.
14278         * redisplay.h (Vvisible_bell): Ditto.
14279         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14280         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14281         only flash top and bottom.
14282
14283 2000-03-08  Andy Piper  <andy@xemacs.org>
14284
14285         * buffer.c (Frename_buffer): record new buffer name the right way.
14286
14287 2000-03-08  Andy Piper  <andy@xemacs.org>
14288
14289         * glyphs.c (update_subwindow): increase hash depth so that widget
14290         items get picked up properly.
14291
14292         * redisplay-output.c (compare_runes): increase hash depth so that
14293         widget items get picked up properly.
14294
14295 2000-03-08  Andy Piper  <andy@xemacs.org>
14296
14297         * gutter.c (output_gutter): add some debug.
14298
14299         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14300         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14301         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14302
14303         * redisplay-output.c (compare_runes): use display_hash to
14304         determine if glyphs really are not the same.
14305
14306         * glyphs.c (update_subwindow): check display_hash to see if
14307         anything really needs to be updated. If not then do
14308         nothing. Record the display_hash after updating.
14309         (image_instance_equal): compare the image_instance face also.
14310
14311 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14312
14313         * redisplay.h: Fix comment style.
14314
14315 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14316
14317         * consle-msw.h (struct mswindows_frame):
14318         Added new member paint_pending to indicate whether a WM_PAINT
14319         magic event has been queued for this frame.
14320
14321         * event-msw.c (mswindows_drain_windows_queue):
14322         Don't queue a WM_PAINT magic event if one is already queued.
14323         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14324
14325         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14326
14327 2000-03-07  Didier Verna  <didier@xemacs.org>
14328
14329         * dired.c: #include `regex.h' after `sysfile.h'.
14330
14331 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14332
14333         * sound.c (init_nas_sound): Fix compiler warning.
14334
14335         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14336         (FREE_STRUCT_P):
14337         (MARK_STRUCT_AS_FREE):
14338         (MARK_STRUCT_AS_NOT_FREE):
14339         Make `gcc -fstrict-aliasing' work properly.
14340
14341 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14342
14343         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14344         (mswindows_delete_device): Call CoUnnitialize().
14345
14346         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14347
14348 2000-02-25    <CraigL@DyCon.com>
14349
14350         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14351         <errno.h>.
14352
14353         * sysdep.c: This extern declaration for environ prevents MinGW
14354         from finding the variable in CRTDLL.DLL.
14355
14356         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14357         windows headers.
14358         (SHGFI_EXETYPE): ..
14359         (WM_MOUSEWHEEL): ..
14360         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14361         definitions.
14362         (MMRESULT): Removed, now defined in cygwin's windows headers.
14363         (TIMECAPS): ..
14364         (uid_t,gid_t,pid_t,ssize_t): ..
14365         (_timeb): Removed, MinGW defines both _timeb and timeb.
14366         (HAVE_H_ERRNO): Added.
14367         (HAVE_TZNAME): Added, configure is not detecting this.
14368
14369 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14370
14371         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14372         * syntax.c (syntax_match): Use it.
14373
14374         * cmds.c: Import auto-fill-chars from FSF Emacs.
14375         (Vauto_fill_chars): New variables.
14376         (internal_self_insert): Check Vauto_fill_chars.
14377         (vars_of_cmds):
14378         Declare auto-fill-chars as a Lisp variable and initialize it.
14379
14380 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14381
14382         * fileio.c (Fmake_symbolic_link):
14383         (Ffile_symlink_p):
14384         Run handlers even if local machine doesn't have symlinks.
14385
14386 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14387
14388         * event-msw.c (mswindows_drain_windows_queue):
14389         Don't generate paint magic events for non-XEmacs frames.
14390
14391 2000-03-05  Andy Piper  <andy@xemacs.org>
14392
14393         * redisplay.c (redisplay_frame): generate_displayable_area and
14394         friends assumes that we are not in GC, we therefore have to make
14395         sure that this doesn't happen.
14396
14397         * gutter.c (calculate_gutter_size): generate_displayable_area
14398         assumes that we are not in GC, we therefore have to make sure that
14399         this doesn't happen.
14400
14401 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14402
14403         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14404
14405 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14406
14407         * redisplay.c (regenerate_window): Make sure we set a sane value
14408         for end_pos even if we jump out of the loop.
14409         (regenerate_window): Answer Ben's question :-).
14410         (start_end_of_last_line): Add may_error argument.
14411         (start_of_last_line):
14412         (end_of_last_line): Pass may_error = 0.
14413         (end_of_last_line_may_error): New function.
14414         (pixel_to_glyph_translation): Use it, so we don't crash in
14415         event_to_glyph.
14416
14417 2000-03-04  Andy Piper  <andy@xemacs.org>
14418
14419         * window.h (struct window): add gutter_extent_modiff.
14420
14421         * window.c (allocate_window): zero out gutter_extent_modiff.
14422
14423         * redisplay.h: declare sync_display_line_structs.
14424
14425         * redisplay.c (add_glyph_rune): add a better comment.
14426
14427         * redisplay-output.c (sync_display_line_structs): made non-static.
14428         (compare_runes): remove unneccesary glyph cachel access.
14429
14430         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14431
14432         * gutter.c (output_gutter): don't output the gutter if extent
14433         changes only involve extents in buffers. use 4 sets of display
14434         lines.
14435         (gutter_extent_signal_changed_region_maybe): new function. Mark
14436         extents in gutters as changed.
14437         (update_frame_gutters): use 4 sets of display lines.
14438         (reset_gutter_display_lines): ditto.
14439         (free_frame_gutters): ditto.
14440         (redraw_exposed_gutter): force output of gutters.
14441
14442         * frame.h (struct frame): add 4 sets of gutter display lines.
14443
14444         * extents.c: (extent_changed_for_redisplay): signal changes to
14445         extents in strings in the gutter as well as extents in buffers.
14446
14447 2000-03-02  Andy Piper  <andy@xemacs.org>
14448
14449         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14450
14451         * frame.c (Fmake_frame): make sure the gutters get initialized
14452         after the frame is visible.
14453         (set_frame_selected_window): re-arrange compilation macros a
14454         little.
14455         (change_frame_size_1): mark gutters changed.
14456
14457         * device.c (Fset_device_class): mark gutters changed.
14458
14459 2000-03-01  Andy Piper  <andy@xemacs.org>
14460
14461         * window.c (window_top_frame_gutter_height): deleted.
14462         (window_bottom_frame_gutter_height): ditto.
14463         (window_left_frame_gutter_height): ditto.
14464         (window_right_frame_gutter_height): ditto.
14465         (window_top_gutter_height): don't use them.
14466         (window_bottom_gutter_height): ditto.
14467         (window_left_gutter_width): ditto.
14468         (window_right_gutter_width): ditto.
14469         (Fsplit_window): ditto.
14470         (Fwindow_pixel_edges): don't use border dimensions here.
14471
14472         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14473         (update_scrollbar_instance): ditto.
14474
14475         * redisplay.c (generate_modeline): don't take gutters into account.
14476         (generate_modeline): ditto.
14477         (redisplay_frame): small gutter display optimization.
14478
14479         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14480
14481         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14482         gutters into account.
14483
14484         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14485         for window position and type.
14486
14487         * gutter.c (get_gutter_coords): fix for frame gutters.
14488         (update_frame_gutters): update frame geometry if the gutters have
14489         changed.
14490         (init_frame_gutters): record current gutter geometries.
14491
14492         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14493         var.
14494         (mswindows_widget_instantiate): ditto.
14495
14496         * frame.h (struct frame): add current_gutter_bounds.
14497
14498         * frame.c (change_frame_size_1): position window and minibuffer
14499         appropriately taking into account the frame gutters.
14500
14501         * frame-x.c: (x_initialize_frame_size): take into account the
14502         frame gutters.
14503
14504 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14505
14506         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14507
14508 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14509
14510         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14511
14512 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14513
14514         * file-coding.c (reset_decoding_stream): Clear previous
14515         detection state when autodetect.
14516
14517 2000-02-29  Didier Verna  <didier@xemacs.org>
14518
14519         * extents.c (set_extent_glyph_1): don't require extents to be
14520         attached.
14521
14522 2000-02-27  Andy Piper  <andy@xemacs.org>
14523
14524         * gutter.c (Fset_default_gutter_position): don't default left and
14525         right gutter visibility to t.
14526         (Fset_default_gutter_position): run
14527         default-gutter-position-changed-hook.
14528         (syms_of_gutter): add default-gutter-position-changed-hook.
14529
14530 2000-02-26  Andy Piper  <andy@xemacs.org>
14531
14532         * specifier.c (Fmake_specifier): add gutter references.
14533
14534         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14535
14536         * lisp.h: declare Fvalid_plist_p.
14537
14538         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14539         as changed.
14540         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14541         well as its visibility so that it gets reconstructed.
14542         (construct_window_gutter_spec): new function. Construct a string
14543         to be displayed in the gutter from a plist of strings. Take care
14544         to only use elements that are declared as visible.
14545         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14546         WINDOW_GUTTER.
14547         (gutter_validate): allow plists of strings in the specifier.
14548         (gutter_specs_changed): construct the real_gutter from the gutter
14549         specs using construct_window_gutter_spec.
14550         (gutter_visible_validate): gutter-visible is a new specifier type.
14551         (Fgutter_visible_specifier_p): new function for the new specifier.
14552         (syms_of_gutter): declare gutter-visible and
14553         Fgutter_visible_specifier_p.
14554         (specifier_type_create_gutter): intitalize new gutter-visible
14555         specifier.
14556         (reinit_specifier_type_create_gutter): ditto.
14557         (specifier_vars_of_gutter): use new specifier type for gutter
14558         visibility.
14559         (init_frame_gutters): construct real_gutter correctly.
14560         (Fgutter_specifier_p): beef up documentation.
14561         (Fgutter_size_specifier_p): ditto.
14562
14563         * winslots.h: add real_gutter slots.
14564
14565 2000-02-25  Andy Piper  <andy@xemacs.org>
14566
14567         * device-msw.c: Be kind to older cygwin versions. From Raymond
14568         Toy <toy@rtp.ericsson.se>.
14569
14570         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14571         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14572
14573 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14574
14575         * elhash.c (MARK_OBJ): Practice macro hygiene.
14576
14577 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14578
14579         * miscplay.c: s/__inline__/inline/g;
14580         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14581         (get_device_compdc): INLINE ==> static inline
14582         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14583         find -name '*.h' | \
14584         xargs global-replace \
14585         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14586
14587 2000-02-25  Andy Piper  <andy@xemacs.org>
14588
14589         * window.c (window_top_frame_gutter_height): new function.
14590         (window_top_window_gutter_height): ditto.
14591         (window_top_gutter_height): use them.
14592         (window_bottom_frame_gutter_height): new function.
14593         (window_bottom_window_gutter_height): ditto.
14594         (window_bottom_gutter_height): use them.
14595         (window_left_window_gutter_width): new function.
14596         (window_left_frame_gutter_width): ditto.
14597         (window_left_gutter_width): use them.
14598         (window_right_window_gutter_width): new function.
14599         (window_right_frame_gutter_width): ditto.
14600         (window_right_gutter_width): use them.
14601         (window_pixel_height): new function. calulate window pixel height
14602         with frame gutter involvement.
14603         (Fsplit_window): calculate new sizes taking frame gutters into
14604         account.
14605         (window_char_height_to_pixel_height): don't include frame gutters.
14606         (window_char_height): use window_pixel_height.
14607         (window_pixheight): rename from window_pixel_height.
14608         (change_window_height): use it.
14609         (window_pixel_height_to_char_height): don't include frame gutters.
14610         (window_char_width_to_pixel_width): ditto.
14611
14612 2000-02-25  Andy Piper  <andy@xemacs.org>
14613
14614         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14615         if it is.
14616
14617 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14618
14619         * alloc.c (staticpro):
14620         (staticpro_nodump):
14621         (dumpstruct):
14622         (dumpopaque):
14623         (pdump_wire):
14624         (pdump_wire_list):
14625         (compact_string_chars):
14626         (pdump_dump_wired):
14627         Convert:  if (foo) abort();  ==>  assert (! foo);
14628
14629         * eldap.c (Fldap_search_basic):
14630         (Fldap_add):
14631         (Fldap_modify):
14632         (Fldap_delete):
14633         Fix compiler warnings, and possible crashes if (random) return
14634         value were to be used.
14635
14636 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14637
14638         * device-msw.c: Workaround ResetDC failure.
14639
14640         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14641         applying a devmode.
14642
14643         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14644         (mswindows_text_width): Do not start printer page.
14645
14646         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14647
14648         * glyphs-msw.c: Added image methods to msprinter console and
14649         msprinter-specific image instantiation.
14650
14651 2000-02-20  Mike Alexander  <mta@arbortext.com>
14652
14653         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14654         to avoid crashes when selection-sets-clipboard is on
14655         (mswindows_own_selection): ditto
14656
14657 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14658
14659         * glyphs-msw.c:
14660         * redisplay-msw.c (get_frame_dc):
14661         (get_frame_compdc):
14662         * console-msw.h:
14663         * device-msw.c (mswindows_init_device):
14664         (mswindows_delete_device):
14665         (msprinter_init_device):
14666         (msprinter_delete_device):
14667         * frame-msw.c (mswindows_init_frame_1):
14668         (mswindows_delete_frame):
14669         (msprinter_init_frame_3):
14670         (msprinter_delete_frame): Move compatible DC to device object from
14671         frame object, for both mswindows and msprinter. Only one at a time
14672         is needed, it is a real waste to have one per frame!
14673
14674 2000-02-23  Andy Piper  <andy@xemacs.org>
14675
14676         * glyphs.c: add dynamic width and height elements.
14677         (image_instance_equal): ditto.
14678
14679         * glyphs-widget.c (widget_query_geometry): calculate width and
14680         height dynamically if required.
14681         (initialize_widget_image_instance): initialize dynamic dimensions.
14682         (widget_instantiate): pick-up dynamic dimensions.
14683
14684         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14685         dynamic determination. Add appropriate macros.
14686
14687         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14688         dimensions safe.
14689         (WINDOW_GUTTER_SIZE): ditto.
14690         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14691
14692         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14693         inline.
14694         (get_frame_dc): ditto.
14695
14696         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14697         here.
14698
14699 2000-02-23  Martin Buchholz <martin@xemacs.org>
14700
14701         * XEmacs 21.2.31 is released.
14702
14703 2000-02-22  Ben Wing <ben@xemacs.org>
14704
14705         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14706
14707 2000-02-22  Andy Piper  <andy@xemacs.org>
14708
14709         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14710
14711 2000-02-21  Mike Sperber <mike@xemacs.org>
14712
14713         * .dbxrc:
14714         * .gdbinit:
14715         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
14716         variables.
14717
14718 2000-02-21  Mike Sperber <mike@xemacs.org>
14719
14720         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
14721
14722 2000-02-21  Martin Buchholz <martin@xemacs.org>
14723
14724         * XEmacs 21.2.30 is released.
14725
14726 2000-02-20  Martin Buchholz  <martin@xemacs.org>
14727
14728         Performance hacking.
14729         * *.c (syms_of_*):
14730         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
14731         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
14732         * emacs.c (main_1):
14733         * lisp.h (DEFUN):
14734         * console.c (DEFVAR_CONSOLE_LOCAL_1):
14735         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
14736         * symeval.h (DEFVAR_SYMVAL_FWD):
14737         * symbols.c (guts_of_unbound_marker):
14738         Make all c_readonly objects also lisp_readonly and marked for life.
14739         * lrecord.h (struct lrecord_implementation):
14740         Document flags better.
14741         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
14742         * lrecord.h (DECLARE_LRECORD):
14743         * lrecord.h (XSETRECORD):
14744         * lrecord.h (RECORDP):
14745         * lrecord.h (RECORD_TYPEP):
14746         * lrecord.h (RECORD_MARKER): New.
14747         * lrecord.h (error_check_*):
14748         * lrecord.h (CONCHECK_NONRECORD):
14749         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
14750         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
14751         * lrecord.h (set_lheader_implementation):
14752         * lrecord.h (enum lrecord_type): New.
14753         * symeval.h (SYMBOL_VALUE_MAGIC_P):
14754         * alloc.c (disksave_object_finalization_1):
14755         * alloc.c (mark_object):
14756         * alloc.c (lrecord_type_index):
14757         * alloc.c (tick_lcrecord_stats):
14758         * alloc.c (Fgarbage_collect):
14759         * alloc.c (init_alloc_once_early):
14760         * alloc.c (pdump_load):
14761         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
14762         * alloc.c (lrecord_type_index): Delete.
14763         Make lisp object type indexes be constant.
14764           Makes (byte-compile) 5% faster.
14765         Put all marker functions into their own array.
14766           Makes (garbage-collect) 5% faster.
14767         Optimize SYMBOL_VALUE_MAGIC_P.
14768           Makes (byte-compile) 2-3% faster.
14769         * config.h.in (gc_checking_assert): New.
14770         * alloc.c: Use gc_checking_assert().
14771         * .dbxrc: Make compatible with new object type implementation.
14772         * .gdbinit: Make compatible with new object type implementation.
14773         * alloc.c: Delete all symbols defined only for debugging, such as
14774         Lisp_Type_Vector and lrecord_charset.
14775
14776 2000-02-21  Andy Piper  <andy@xemacs.org>
14777
14778         * gui-msw.c (Fmswindows_shell_execute): fix file location
14779         problems.
14780
14781         * buffer.c (Fkill_buffer): remove buffer from alist buffer
14782         unshowing so that set_window_buffer doesn't undo
14783         kill_buffer_hook's hard work.
14784
14785         * glyphs-widget.c (tab_control_query_geometry): don't count the
14786         first item when calculating geometry.
14787
14788         * glyphs.c (map_subwindow): remove redundant code.
14789         (update_frame_subwindows): be more circumspect about when to
14790         update subwindows.
14791
14792         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
14793         when items haven't changed. Update faces if faces have changed as
14794         well as just the widget face.
14795         (x_tab_control_update): Update faces if faces have changed as well
14796         as just the widget face.
14797
14798 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14799
14800         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
14801         registration.
14802         (build_syscolor_string): Use mswindows_color_to_string to try to
14803         get a named color.
14804         (mswindows_device_system_metrics): Reverse the foreground and
14805         background colors so that they match the documentation.
14806
14807         * objects-msw.c: (mswindows_X_color_map): tweak some values so
14808         they match the default Windows palette.
14809         (mswindows_color_to_string): New function.
14810
14811 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14812
14813         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
14814
14815 2000-02-18  Olivier Galibert  <galibert@pobox.com>
14816
14817         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
14818         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
14819
14820         * symbols.c (init_symbols_once_early): Removed obsolete
14821         DATA_SEG_BITS related kludge.
14822         (defvar_magic): Ditto.
14823
14824         * malloc.c: Removed obsolete DATA_SEG_BITS
14825         * ralloc.c: Ditto.
14826         * mem-limits.h: Ditto.
14827
14828         * Makefile.in.in: Removed obsolete HAVE_SHM
14829         * emacs.c: Ditto.
14830
14831 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14832
14833         *  device-msw.c (mswindows_delete_device): Free DDE string
14834         handles.
14835
14836 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14837
14838         * keymap.c (get_keyelt):
14839         * unexnt.c (unexec):
14840         * vm-limit.c (memory_warnings):
14841         * ntheap.c (recreate_heap):
14842         * ntheap.h (UNINIT_PTR):
14843         * select-msw.c (Fmswindows_get_clipboard):
14844         (Fmswindows_set_clipboard):
14845         * objects-msw.h (MSWINDOWS_BAD_HFONT):
14846         * objects-msw.c:
14847         * menubar-msw.c (displayable_menu_item):
14848         * glyphs-msw.c:
14849         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
14850         * sysdep.c (sys_subshell):
14851         * process-nt.c (nt_create_process):
14852         * nt.c (normalize_filename):
14853         (dostounix_filename):
14854         (unixtodos_filename):
14855         * ntproc.c (win32_executable_type):
14856         * ntplay.c (play_sound_data_1):
14857         (play_sound_file):
14858         * editfns.c (get_home_directory):
14859         * event-msw.c (struct winsock_stream):
14860         (mswindows_dde_callback):
14861         * device-msw.c (msprinter_init_device):
14862         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
14863
14864         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
14865         mswindows_clear_toolbar were swapped!
14866
14867         * objects-msw.c:(colormap_t):
14868         (fontmap_t):
14869         * emacs.c (struct standard_args): Fixed const jumble.
14870
14871         * glyphs-widget.c (update_widget): Fixed comparison notation.
14872
14873         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
14874
14875         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
14876         __declspec(noreturn) syntax.
14877
14878 2000-02-19  Martin Buchholz  <martin@xemacs.org>
14879
14880         * eldap.c (Fldap_open):
14881         (Fldap_search_basic):
14882         (Fldap_add):
14883         (Fldap_modify):
14884         Use new coding system conversion macros.
14885
14886 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14887
14888         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
14889
14890 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
14891
14892         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
14893         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14894
14895         * eldap.c (Qadd, Qreplace): New constant symbols
14896         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
14897         interruptions by XEmacs signals
14898         Remove unnecessary calls to slow_down_interrupts and
14899         speed_up_interrupts
14900         (Fldap_search_basic): Renamed from Fldap_search_internal
14901         Added new optional parameter VERBOSE that triggers the
14902         display of progress messages
14903         Remove unnecessary calls to slow_down_interrupts and
14904         speed_up_interrupts
14905         LDAP result code analysis rewritten
14906         (Fldap_add, Fldap_modify, Fldap_delete): New functions
14907         (syms_of_eldap): Define the new symbols and functions
14908
14909
14910 2000-02-17  Martin Buchholz  <martin@xemacs.org>
14911
14912         * realpath.c: Determine PATH_MAX maximally portably.
14913
14914         * insdel.c (bytecount_to_charcount): Optimize.
14915         The function used to be optimized for entirely ASCII sequences.
14916         Now it is optimized for successive characters from the same
14917         charset.  This also wins big for _mostly_ ASCII sequences.
14918
14919         * fileio.c (Ffile_truename): convert return from realpath() using
14920         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
14921         - Rewrite GCPROing slightly.
14922
14923         * sysdep.c (sys_open): Do filename conversion, like all other
14924         sys_* functions.  Fixes bug:
14925         (let ((file-name-coding-system 'iso-8859-2))
14926            (write-region x y latin2-name))
14927         ==> writes filename using internal encoding.
14928
14929 2000-02-18  Martin Buchholz  <martin@xemacs.org>
14930
14931         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
14932         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
14933         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
14934         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
14935         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
14936         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
14937         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
14938         (CONST_IF_NOT_DEBUG): Delete.
14939         * alloc.c (this_one_is_unmarkable): Delete.
14940         (mark_object): Don't check for this_one_is_unmarkable. Use the
14941         c_readonly flag instead.
14942         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
14943
14944 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14945
14946         * event-msw.c (mswindows_drain_windows_queue):
14947         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
14948         away redundant repaint events.
14949
14950 2000-02-17  Andy Piper  <andy@xemacs.org>
14951
14952         * redisplay.h: declare mark_redisplay_structs.
14953
14954         * redisplay.c (redisplay_window):
14955         (redisplay_frame): don't check subwindows_state_changed.
14956         (mark_redisplay): mark gutters here.
14957
14958         * glyphs.c: (instantiate_image_instantiator): always layout if we
14959         haven't done so already.
14960         (allocate_image_instance): don't mark as dirty.
14961         (update_subwindow): bind inhibit_quit.
14962
14963         * gutter.c (mark_gutters): new function.
14964
14965         * glyphs-x.c (x_update_widget): Always resize to get round a
14966         widget bug.
14967
14968         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
14969         breaking absolutely everything.
14970
14971         * gutter.h: declare mark_gutters.
14972
14973 2000-02-16  Martin Buchholz <martin@xemacs.org>
14974
14975         * XEmacs 21.2.29 is released.
14976
14977 2000-02-15  Olivier Galibert  <galibert@pobox.com>
14978
14979         * fns.c (size_bit_vector): Fix computation of the size.
14980
14981 2000-02-15  Martin Buchholz  <martin@xemacs.org>
14982
14983         * *.[ch]: Change CONST to const globally.
14984         find -name '*.[ch]' | \
14985         xargs global-replace \
14986         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
14987         - Remove vestigial references to CONST_IS_LOSING
14988
14989 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14990
14991         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
14992         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
14993         events instead of dispatching them directly.
14994         (mswindows_handle_paint): New function to do repainting.
14995         (mswindows_wnd_proc):
14996         (emacs_mswindows_handle_magic_event): Call above function.
14997
14998 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14999
15000         * objects-msw.c (mswindows_create_font_variant): Return the new
15001         font handle.
15002         (initialize_font_instance): Get font metrics from the underlined
15003         variant of the font to cope with the case where the underlined
15004         font has a bigger descent.
15005
15006 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15007
15008         * gui.c (gui_item_accelerator): Return the first underlined
15009         character in item name.
15010
15011 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15012
15013         * lisp.h: Added Qprinter.
15014
15015         * general.c (syms_of_general): Initialized it.
15016
15017         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15018         (get_frame_dc):
15019         (get_frame_compdc): Made inline.
15020
15021         * console.h (struct console_methods): Added eject_page method.
15022
15023         * frame.h: Added FRAME_DISPLAY_P and friends.
15024         Aligned backslahes in many macros in more readable fashion.
15025         Added page_number to struct frame, and an accessor macro
15026         for it.
15027
15028         * defice.h: Added DEVICE_DISPLAY_P and friends.
15029
15030         * device.c (Fdevice_printer_p): Used these.
15031
15032         * frame.c (allocate_frame_core): Initialize page number.
15033         (Fprint_job_page_number):
15034         (Fprint_job_eject_page): Implemented.
15035
15036         * frame-msw.c (msprinter_eject_page): Added method.
15037         (msprinter_start_page): Added.
15038
15039         * window.c (Fwindow_truncated_p): Fixed docstring.
15040         (Fwindow_last_line_visible_height): Implemented.
15041
15042 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15043
15044         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15045
15046 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15047
15048         * syntax.c (scan_words): Always advance at least one character.
15049
15050 2000-02-13  Andy Piper  <andy@xemacs.org>
15051
15052         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15053         to make sure the glyph is in the cachels.
15054
15055         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15056         global image instance flag.
15057         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15058         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15059
15060         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15061         (Fset_image_instance_property): mark layout as changed.
15062         (invalidate_glyph_geometry_maybe): mark layout as changed.
15063         (glyph_width): use new NEEDS_LAYOUT macro.
15064         (glyph_ascent): ditto.
15065         (glyph_descent): ditto.
15066         (glyph_height): ditto.
15067         (image_instance_layout): mark layout as clean after laying out.
15068         (update_subwindow): don't mark layout as clean here.
15069
15070         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15071         should no longer be needed.
15072
15073         * glyphs-x.c (x_update_widget): sanitize asserts.
15074         (x_finalize_image_instance): sanitize assignment to widgets.
15075
15076         * glyphs-widget.c (widget_instantiate): don't need to clear the
15077         layout flag here.
15078
15079 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15080
15081         * sysdep.c (getcwd): Use standard prototype.
15082         * sysdep.h (getcwd): Use standard prototype.
15083
15084         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15085         (sequence, start, end).
15086         Remove redundant type checking.
15087         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15088         view of `caller-protects') to avoid a crash where the real fix was
15089         found elsewhere.
15090
15091 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15092
15093         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15094
15095         * s/sol2.h: Remove feature macro initialization.
15096
15097         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15098         (vector_hash): New.  Code from internal_hash.
15099         * lrecord.h:
15100         Fix up allocation subsystem comments.
15101
15102         * config.h.in: Add __EXTENSIONS__ for Solaris.
15103
15104         * systime.h (EMACS_GETTIMEOFDAY): New.
15105         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15106         Remove Solaris-specific code.
15107         Use void* for the (ignored) second arg for gettimeofday().
15108
15109         * elhash.c (hash_table_hash): Implement it, finally.
15110         * elhash.c:  Use hashcode_t.
15111
15112         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15113         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15114
15115         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15116         * fns.c (size_bit_vector):
15117         * alloc.c (size_vector):
15118         (make_vector_internal):
15119         (make_bit_vector_internal):
15120         (sweep_bit_vectors_1):
15121         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15122
15123 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15124
15125         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15126         Include strings.h to avoid warnings for bzero and strcasecmp.
15127
15128 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15129
15130         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15131         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15132
15133         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15134         sequence.
15135
15136 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15137
15138         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15139         use a value field instead.
15140         (symbol_value_forward_forward): Use value field.
15141         (DEFVAR_SYMVAL_FWD): Use value field.
15142         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15143         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15144         (DEFVAR_CONST_INT): Ditto.
15145         (DEFVAR_BOOL): Ditto.
15146         (DEFVAR_CONST_BOOL): Ditto.
15147         (DEFVAR_INT_MAGIC): Ditto.
15148         (DEFVAR_BOOL_MAGIC): Ditto.
15149
15150         * symbols.c (guts_of_unbound_marker): Use value field.
15151         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15152         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15153
15154         * lisp.h: Declare dumpopaque and noninteractive1.
15155
15156         * alloc.c (dumpopaque): Added.
15157         (pdump_dump_opaquevec): Added.
15158         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15159         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15160         noninteractive.
15161
15162 2000-02-10  Andy Piper  <andy@xemacs.org>
15163
15164         * glyphs.c (image_instance_layout): if the size changes, mark it
15165         as such.
15166
15167         * redisplay-output.c (redisplay_output_layout): Update the
15168         subwindow here.
15169         (redisplay_output_subwindow): ditto.
15170
15171         * glyphs.c (update_subwindow): make sure we reset flags for
15172         layouts as well as everything else.
15173
15174         * glyphs-widget.c (layout_layout): don't need to set the instances
15175         dimensions here.
15176
15177 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15178
15179         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15180         not HAVE_DLOPEN, which is a lower-level thing.
15181
15182         * .cvsignore: Ignore gmon.out
15183
15184 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15185
15186         * .cvsignore: Ignore portable dumper xemacs.dmp file
15187
15188 2000-02-09  Andy Piper  <andy@xemacs.org>
15189
15190         * redisplay-output.c (redisplay_output_layout): be more clever
15191         about when we output based on the changed flags.
15192
15193         * glyphs.h (struct image_instantiator_methods): add update_method.
15194         (struct Lisp_Image_Instance): add changed flags. Declare new
15195         macros for manipulating them.
15196
15197         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15198         (image_instance_parent_glyph): find an image_instance's parent
15199         glyph or image_instance.
15200         (image_instance_layout): mark the size as changed.
15201         (set_image_instance_dirty_p): new function. mark an image
15202         instance, plus all of its parents, as dirty.
15203         (Fset_image_instance_property): use it.
15204         (Fglyph_animated_timeout_handler): use it.
15205         (update_subwindow): call update_widget and device methods for
15206         update_subwindow. Mark all changed flags as clean.
15207         (Fresize_subwindow): mark size as changed.
15208
15209         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15210         failures.
15211         (x_update_subwindow): only resize subwindows here.
15212         (x_update_widget): new function. Update all changed properties of
15213         a widget.
15214         (x_resize_subwindow): deleted.
15215         (x_widget_set_property): deleted.
15216         (x_progress_gauge_set_property): deleted.
15217         (x_progress_gauge_update): new function. Implement recorded
15218         changes.
15219         (x_tab_control_update): ditto.
15220         (x_tab_control_set_property): deleted.
15221         (console_type_create_glyphs_x): declare new functions.
15222         (image_instantiator_format_create_glyphs_x): ditto.
15223
15224         * glyphs-widget.c (widget_set_property): mark text changed.
15225         (update_widget): new function. Update properties of a widget.
15226         (widget_instantiate): for layouts make sure we set their
15227         children's parent correctly.
15228         (tab_control_set_property): new function. Record changes that will
15229         take place under redisplay's control.
15230         (progress_gauge_set_property): ditto.
15231         (image_instantiator_progress_guage): declare new functions.
15232         (image_instantiator_tab_control): ditto.
15233
15234         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15235         now.
15236         (mswindows_update_widget): new function. Update all properties on
15237         a widget that have changed.
15238         (mswindows_button_update): new function. Update a button's set
15239         state.
15240         (mswindows_tab_control_update): new function. Update the items in
15241         a tab.
15242         (mswindows_tab_control_set_property): deleted.
15243         (mswindows_progress_gauge_update): new function. Update the
15244         progress gauge's progress.
15245         (mswindows_widget_set_property): deleted. This is all done
15246         asynchronously now.
15247         (mswindows_progress_gauge_set_property): ditto.
15248         (console_type_create_glyphs_mswindows): declare new methods.
15249         (image_instantiator_format_create_glyphs_mswindows): ditto.
15250
15251         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15252         (msprinter_set_frame_properties): ditto.
15253
15254         * console.h (struct console_methods): Add update_widget_method.
15255
15256 2000-02-09  Andy Piper  <andy@xemacs.org>
15257
15258         * gui-msw.c (Fmswindows_shell_execute): Make
15259         mswindows-shell-execute industrial strength.
15260
15261 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15262
15263         * lrecord.h: Make macro argument `props' match member function `plist'.
15264         * fns.c (Fget):
15265         * fns.c (Fput):
15266         * fns.c (Fremprop):
15267         * fns.c (Fobject_plist):
15268         * alloc.c:
15269         * symbols.c:
15270         Object property list frobbing cleanup.
15271         - Allow any lisp object (compared with `eq'), not just symbols, as
15272           keys in object plists.
15273         - Move symbol plist frobbing into symbols.c, where it belongs.
15274         - Move string plist frobbing into alloc.c, where it belongs.
15275         - Everything's an lrecord now, so no need to test for symbolp, etc.
15276         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15277
15278         * extents.c: Reorder code to remove declarations.
15279
15280         * frame.h (store_in_alist): Remove useless declaration.
15281
15282 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15283
15284         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15285         * config.h.in: Add HAVE_XCONVERTCASE.
15286
15287 2000-02-07  Andy Piper  <andy@xemacs.org>
15288
15289         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15290         it breaks many things.
15291
15292 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15293
15294         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15295         actually can start a common comment type.
15296         * src/syntax.h (SYNTAX_END_P): ditto for end.
15297
15298 2000-02-07  Martin Buchholz <martin@xemacs.org>
15299
15300         * XEmacs 21.2.28 is released.
15301
15302 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15303
15304         * event-Xt.c (x_keysym_to_character): New.
15305         (maybe_define_x_key_as_self_inserting_character): New.
15306         (x_has_keysym): New.
15307         Auto-define all keys on the keyboard as self-insert-key.
15308
15309 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15310
15311         * menubar.c (vars_of_menubar): A small code simplification.
15312
15313         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15314
15315         * ExternalShell.c:
15316         * ExternalClient.c:
15317         * EmacsShell-sub.c:
15318         * EmacsManager.c:
15319         * EmacsFrame.c:
15320         Use consistent style for specifying X resources.
15321
15322         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15323         This makes (dontusethis-set-symbol-value-handler) actually usable.
15324
15325         * lrecord.h (lrecord_decription_type):
15326         * alloc.c (pdump_register_sub):
15327         (pdump_dump_data):
15328         (pdump_reloc_one):
15329         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15330         Comply with XEmacs coding style.
15331         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15332         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15333
15334         * keymap.c (Faccessible_keymaps):
15335         Make (accessible-keymaps map "\C-h") do the Right Thing.
15336         Make (accessible-keymaps map []) do the Right Thing.
15337         Make (accessible-keymaps map "") do the Right Thing.
15338         (check_keymap_definition_loop): New function.
15339         (keymap_store_internal): Keep luser from shooting self in foot,
15340           via (define-key ctl-x-4-map "p" global-map).
15341         Remove fullness slot from struct Lisp_Keymap, since hash tables
15342         are now reliable.
15343         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15344
15345 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15346
15347         * redisplay.c (init_redisplay): Fix small memory leak.
15348         * elhash.h:
15349         * elhash.c (pdump_reorganize_hash_table):
15350         Rename from reorganize_hash_table. Change prototype.
15351         Reuse the original memory for hentries.  Save 100k.
15352         * alloc.c (PDUMP_READ): new macro.
15353         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15354         * alloc.c: No need to #ifndef before #undef.
15355
15356         * print.c: Allow debug_print() to print readably by modifying
15357         debug_print_readably.  Use consistent variable names.
15358
15359         * .dbxrc: Try to get things to work even if stopped in a function
15360         without source available by explicitly specifying source files.
15361 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15362
15363         * unexnt.c (_start): Removed bogus code which caused loading heap
15364         from differrent executable file.
15365         Removed bogus assignment to _fmode, which caused inconsistencies.
15366
15367 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15368
15369         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15370         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15371         Do not preliminary `#define signal sigset'.
15372
15373         * systime.h: Do not prototype environ on windows nt and cygwin,
15374         this conflicts with system header.
15375
15376         * syssignal.h: Use correct define for WINDOWSNT
15377
15378         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15379         with system header.
15380
15381         * sysdep.c (near start of file): Fixed commentary and rearranged
15382         ifdefs in readable order.
15383         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15384         (start_of_text):
15385         (end_of_text):
15386         (end_of_data): Do not compile in if using PDUMP.
15387
15388         * symsinit.h: Prototyped vars_of_nt().
15389
15390         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15391         (find_child_console): Use it.
15392         (sys_kill): Use it.
15393
15394         * ntheap.h: Do not extern os_subtype.
15395
15396         * ntheap.c (cache_system_info): Do not cache unneeded:
15397         nt_major_version, nt_minor_version and os_subtype.
15398         (recreate_heap): Do not compile in when PDUMPing.
15399
15400         * nt.c (geteuid and friends): Use the new varibale
15401         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15402         (init_user_info): Removed the above mentioned hackery.
15403         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15404         stat has been fixed in the C runtime.
15405         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15406
15407         * file-coding.c (struct file_coding_dump): Do not define
15408         ucs_to_mule_table in the struct if not MULE.
15409         (struct struct lrecord_description fcd_description_1): Do not dump
15410         the above.
15411
15412         * emacs.c (main_1): Call vars_of_nt().
15413         (right before Fdump_emacs_data): Don't need lastfile if using both
15414         portabe dumper and system malloc.
15415
15416         * alloc.c (Fmemory_limit): Conditionalized out.
15417         (pdump): Use OPEN_BINARY for the portable dump file.
15418         (pdump_load): Ditto.
15419
15420 2000-02-02  Mike Alexander  <mta@arbortext.com>
15421
15422         * nt.c (convert_time): Set tm_isdst before calling mktime and
15423         avoid calling it at all if the compiler supports 64 bit integers.
15424         Also initialize utc_base_ft before using it.
15425
15426 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15427
15428         * frame.c (change_frame_size_1): Take f->internal_border_width
15429         into consideration when calculating the width of the frame.
15430
15431 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15432
15433         * window.c (frame_min_height):
15434         (frame_size_valid_p):
15435         (frame_pixsize_valid_p): Added.
15436         (check_frame_size): Generalized.
15437
15438         * window.h: Prototyped the above.
15439
15440         * lisp.h:
15441         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15442         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15443         Deleted Vwin32_* and Vbinary_process_* unused variables.
15444
15445         * device-msw.c (msprinter_init_device): Do not get printer font
15446         list; Added DEVMODE functions.
15447
15448         * frame-msw.c: Added lots of printer code.
15449
15450         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15451         general.c.
15452
15453         * console-msw.h: Added more msprinter device private slots.
15454
15455 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15456
15457         * event-msw.c (key_needs_default_processing_p): Added.
15458         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15459
15460 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15461
15462         * glyphs.c (image_instance_layout): Mark image instance as clean
15463         after layout.
15464         (glyph_dirty_p): Removed redundant function.
15465         (invalidate_glyph_geometry_maybe): Added.
15466         (update_glyph_cachel_data): Call it.
15467
15468         * glyphs.h: Prototyped it.
15469
15470         * redisplay.c (add_glyph_rune): Call it.
15471         (redisplay_window): Reset glyphs cachels when frame faces have
15472         changed, thus forcing recomputation of built-in border glyphs.
15473
15474 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15475
15476         * Makefile.in.in: Make portable dumper and purify play well together.
15477         Add imperfect, but better than nothing, support for pdump.
15478         Remove xemacs.dmp when temacs is re-generated.
15479         Don't ignore errors when dumping xemacs.
15480
15481         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15482
15483 2000-01-28  Andy Piper  <andy@xemacs.org>
15484
15485         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15486         (setup_normal_frame): ditto.
15487         (setup_frame_without_minibuffer): ditto.
15488         (setup_minibuffer_frame): ditto.
15489         (delete_frame_internal): ditto.
15490         (Fmake_frame_invisible): ditto.
15491         (Ficonify_frame): ditto.
15492
15493         * window.h: change Fset_window_buffer signature.
15494
15495         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15496         (Fset_window_buffer): allow recording of buffer if the window is
15497         the selected window.
15498         (window_loop): Use new Fset_window signature.
15499
15500 2000-01-23  Daniel Pittman  <daniel@danann.net>
15501
15502         * config.h.in: Added template for `HAVE_ATHENA_3D'
15503
15504 2000-01-29  Andy Piper  <andy@xemacs.org>
15505
15506         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15507
15508         * gutter.c (output_gutter): Don't output if the window isn't live.
15509
15510 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15511
15512         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15513         of 01/12/00: Moved SetFocus back here where it belongs.
15514
15515 2000-01-23  Andy Piper  <andy@xemacs.org>
15516
15517         * s/cygwin32.h: declare printer things.
15518
15519 2000-01-26  Andy Piper  <andy@xemacs.org>
15520
15521         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15522         Alexander.
15523
15524 2000-01-24  Andy Piper  <andy@xemacs.org>
15525
15526         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15527         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15528
15529         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15530
15531         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15532
15533         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15534
15535         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15536         (mswindows_output_display_block): Avoid local shadows.
15537
15538         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15539         (mswindows_enqueue_mouse_button_event): ditto.
15540         (mswindows_handle_gui_wm_command): remove declaration.
15541
15542         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15543         warnings.
15544
15545         * console-msw.h: Avoid shadows.
15546         (mswindows_get_toolbar_button_text):
15547         (emacs_mswindows_create_stream_pair):
15548         (emacs_mswindows_delete_stream_pair):
15549         (mswindows_handle_toolbar_wm_command): declare.
15550
15551         * device-msw.c (build_syscolor_string): Avoid shadows.
15552
15553 2000-01-23  Andy Piper  <andy@xemacs.org>
15554
15555         * glyphs-widget.c (widget_instantiate): reverse the items for
15556         layouts so that children are in the expected order.
15557
15558 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15559
15560         * ralloc.c: safe_bcopy ==> memmove
15561         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15562         * s/msdos.h: Remove BCOPY macros.
15563         * insdel.c (gap_right): Remove BCOPY conditional code.
15564         * insdel.c (gap_left): Remove BCOPY conditional code.
15565         XEmacs demands a working ANSI C compiler - hence memmove.
15566
15567         * regex.c (regex_compile): Remove accidental use of trigraphs.
15568
15569 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15570
15571         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15572         event timestamp.
15573
15574 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15575
15576         * event-msw.c (mswindows_drain_windows_queue): Added the
15577         parameter.
15578         (mswindows_need_event): Commented the call to
15579         mswindows_drain_windows_queue().
15580         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15581         only.
15582
15583         * console-msw.h: Moved a few function prototypes here from
15584         event-msw.c.
15585
15586         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15587         parameter from unsigned short to unsigned long.
15588         (Fmswindows_shell_execute): Added return value.
15589
15590 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15591
15592         * sysdep.c (init_system_name):
15593           process-unix.c (unix_canonicalized_host_name):
15594         Don't call freeaddrinfo() if getaddrinfo() fails.
15595
15596         * process-unix.c (unix_open_unix_network_stream):
15597         Moved the code to get a port # into address loop.
15598
15599 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15600
15601         * buffer.c (reinit_vars_of_buffer):
15602         The right place to initialize conversion_in_dynarr and
15603         conversion_out_dynarr.
15604
15605         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15606
15607         * process-unix.c (unix_canonicalize_host_name): Muleize.
15608         (unix_open_network_stream): Muleize.
15609
15610         * buffer.h: Fix up prototypes for ralloc.c functions.
15611
15612 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15613         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15614         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15615                 instead of gethostbyname()
15616         * process-unix.c: In unix_canonicalize_host_name() and
15617                 unix_open_network_stream(), add code to use getaddrinfo()
15618                 instead of gethostbyname().
15619
15620 2000-01-27  Daniel Pittman <daniel@danann.net>
15621
15622         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15623         libs when built with flat Athena.
15624
15625 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15626
15627         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15628         Use coding standards for function prototypes.
15629
15630 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15631
15632         * dialog-msw.c (push_lisp_string_as_unicode):
15633         * doc.c (unparesseuxify_doc_string):
15634         * dired.c (Fuser_name_completion_1):
15635         * dired.c (Fuser_name_all_completions):
15636         * dired.c (free_user_cache):
15637         * dired.c (user_name_completion):
15638         * console-x.c (get_display_arg_connection):
15639         * minibuf.c (clear_echo_area_internal):
15640         * minibuf.c (echo_area_append):
15641         * eldap.c (Fldap_open):
15642         * eldap.c (Fldap_search_internal):
15643         * frame-x.c (x_set_frame_text_value):
15644         * frame-x.c (x_set_frame_properties):
15645         * frame-x.c (x_create_widgets):
15646         * redisplay-tty.c (term_get_fkeys_1):
15647         * objects-x.c (x_parse_nearest_color):
15648         * objects-x.c (x_valid_color_name_p):
15649         * objects-x.c (x_initialize_font_instance):
15650         * objects-x.c (x_list_fonts):
15651         * objects-x.c (x_find_charset_font):
15652         * tooltalk.c (Fadd_tooltalk_message_arg):
15653         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15654         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15655         * process-unix.c (unix_create_process):
15656         * ntproc.c (sys_spawnve):
15657         * sound.c (Fplay_sound_file):
15658         * sound.c (Fplay_sound):
15659         * buffer.c (init_initial_directory):
15660         * buffer.c (init_buffer):
15661         * editfns.c (init_editfns):
15662         * editfns.c (Ftemp_directory):
15663         * editfns.c (Fuser_full_name):
15664         * editfns.c (uncache_home_directory):
15665         * editfns.c (get_home_directory):
15666         * editfns.c (Fuser_home_directory):
15667         * editfns.c (Fformat_time_string):
15668         * editfns.c (Fcurrent_time_string):
15669         * gui-x.c (button_item_to_widget_value):
15670         * database.c (Fopen_database):
15671         * event-Xt.c (x_to_emacs_keysym):
15672         * event-Xt.c (x_event_to_emacs_event):
15673         * event-Xt.c (describe_event_window):
15674         * event-msw.c (mswindows_wnd_proc):
15675         * glyphs-eimage.c (jpeg_instantiate):
15676         * glyphs-eimage.c (gif_instantiate):
15677         * glyphs-eimage.c (png_instantiate):
15678         * glyphs-eimage.c (tiff_instantiate):
15679         * glyphs-x.c (xbm_instantiate_1):
15680         * glyphs-x.c (x_xbm_instantiate):
15681         * glyphs-x.c (x_xface_instantiate):
15682         * glyphs-x.c (autodetect_instantiate):
15683         * glyphs-x.c (cursor_font_instantiate):
15684         * glyphs-x.c (x_widget_instantiate):
15685         * glyphs-x.c (x_widget_set_property):
15686         * glyphs-x.c (x_widget_property):
15687         * glyphs-x.c (BUILD_GLYPH_INST):
15688         * print.c (write_string_to_stdio_stream):
15689         * print.c (output_string):
15690         * print.c (Falternate_debugging_output):
15691         * print.c (Fexternal_debugging_output):
15692         * glyphs-msw.c (extract_xpm_color_names):
15693         * glyphs-msw.c (mswindows_xpm_instantiate):
15694         * glyphs-msw.c (bmp_instantiate):
15695         * glyphs-msw.c (resource_name_to_resource):
15696         * glyphs-msw.c (mswindows_resource_instantiate):
15697         * glyphs-msw.c (xbm_instantiate_1):
15698         * glyphs-msw.c (mswindows_xbm_instantiate):
15699         * glyphs-msw.c (mswindows_xface_instantiate):
15700         * glyphs-msw.c (mswindows_widget_instantiate):
15701         * glyphs-msw.c (add_tree_item):
15702         * glyphs-msw.c (add_tab_item):
15703         * glyphs-msw.c (mswindows_combo_box_instantiate):
15704         * glyphs-msw.c (mswindows_widget_property):
15705         * glyphs-msw.c (mswindows_combo_box_property):
15706         * glyphs-msw.c (mswindows_widget_set_property):
15707         * console.c (stuff_buffered_input):
15708         * objects-msw.c (mswindows_initialize_color_instance):
15709         * objects-msw.c (mswindows_valid_color_name_p):
15710         * objects-msw.c (mswindows_list_fonts):
15711         * objects-msw.c (mswindows_font_instance_truename):
15712         * bytecode.c (optimize_compiled_function):
15713         * select-x.c (symbol_to_x_atom):
15714         * select-x.c (x_atom_to_symbol):
15715         * select-x.c (hack_motif_clipboard_selection):
15716         * select-x.c (selection_data_to_lisp_data):
15717         * select-x.c (lisp_data_to_selection_data):
15718         * select-x.c (Fx_get_cutbuffer_internal):
15719         * select-x.c (Fx_store_cutbuffer_internal):
15720         * buffer.h (TO_EXTERNAL_FORMAT): New function.
15721         * buffer.h (TO_INTERNAL_FORMAT): New function.
15722         * emacs.c (make_arg_list_1):
15723         * emacs.c (make_argc_argv):
15724         * emacs.c (main_1):
15725         * emacs.c (Fdump_emacs):
15726         * emacs.c (split_string_by_emchar_1):
15727         * file-coding.h:
15728         * lisp.h:
15729         * lstream.h:
15730         * symsinit.h:
15731         * device-x.c (x_init_device):
15732         * device-x.c (Fx_valid_keysym_name_p):
15733         * device-x.c (Fx_get_font_path):
15734         * device-x.c (Fx_set_font_path):
15735         * glyphs.c (bitmap_to_lisp_data):
15736         * glyphs.c (pixmap_to_lisp_data):
15737         * alloc.c (make_ext_string): Use coding system arguments.  Update
15738         all callers.
15739         * alloc.c (build_string):
15740         * callproc.c (child_setup):
15741         * callproc.c (init_callproc):
15742         * fileio.c (lisp_strerror):
15743         * fileio.c (directory_file_name):
15744         * fileio.c (Fexpand_file_name):
15745         * fileio.c (Ffile_truename):
15746         * fileio.c (Fsysnetunam):
15747         * fileio.c (Fdo_auto_save):
15748         * sysdep.c (sys_readdir):
15749         * tests.c: New file.  Allow adding C tests.
15750         Replace GET_* macros with a more comprehensible and flexible
15751         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
15752         Modify all calls.
15753         Any coding system can be used to do format conversion.
15754         Eliminate enum external_data_format.
15755         Eliminate convert_to_external_format.
15756         Eliminate convert_to_internal_format.
15757         Make sure file-name, keyboard, terminal, and ctext are always
15758         defined as coding systems or aliases.  Make
15759         file-name-coding-system, terminal-coding-system, and
15760         keyboard-coding-system magical variables that are equivalent to
15761         defining the corresponding coding system aliases.
15762
15763         * file-coding.c (Fcoding_system_canonical_name_p): New function.
15764         * file-coding.c (Fcoding_system_alias_p): New function.
15765         * file-coding.c (Fcoding_system_aliasee): New function.
15766         * file-coding.c (append_suffix_to_symbol): New function.
15767         * file-coding.c (dangling_coding_system_alias_p): New function.
15768         * file-coding.c (Ffind_coding_system):
15769         * file-coding.c (Fcopy_coding_system):
15770         * file-coding.c (encode_coding_no_conversion):
15771         * file-coding.c (syms_of_file_coding):
15772         * file-coding.c (vars_of_file_coding):
15773         Rewrite coding system alias code.
15774         Allow nested aliases, like symbolic links.
15775         Allow redefinition of coding system aliases.
15776         Prevent existence of dangling coding system aliases.
15777
15778         * dired.c (Fuser_name_completion_1):
15779         * dired.c (Fuser_name_all_completions):
15780         A crash would happen if user did QUIT in the middle of building
15781         user_name_cache.  Remove redundant code in mainline and unwind_protect.
15782
15783         * lisp.h:
15784         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
15785
15786         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
15787         an unsigned char *.  Update all callers.
15788
15789 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15790
15791         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
15792
15793 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15794
15795         * elhash.c (hentry_description): Use more portable definition.
15796         (resize_hash_table): Initialize new hentries using
15797         xnew_array_and_zero, thereby simplifying the code.
15798
15799         * mule-charset.c (make_charset): Make sure entire object is
15800         initialized, to avoid Purify warnings.
15801
15802         * alloc.c (resize_string): Fix unlikely crash with big strings.
15803
15804 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15805
15806         * realpath.c (xrealpath):
15807         Don't call getwd().
15808
15809 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15810
15811         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
15812
15813 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
15814
15815         * unexelfsgi.c (unexec): Change the way we decide which segment
15816         should be extended.
15817
15818         Assumption that .bss section should be outside the PT_LOADable
15819         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
15820         it's present) is inside the 'data' segment. This would fail the
15821         test which was used to find a segment to grow and cover new
15822         heap. Instead of this assumption, I created another one - on IRIX
15823         the segment to grow should start below .bss and it's address
15824         should extent above the end of .bss. Once this segment is
15825         identified, it's grown to accommodate the new heap and new
15826         zero-length .bss section is added at the end of .data2.
15827
15828 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15829
15830         * eval.c (Feval): Wrong number of arguments should use original
15831         function, not the indirect_function version of it.
15832
15833 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
15834
15835         * glyphs-x.c (x_button_instantiate): Don't add image if
15836         it is not a pixmap.
15837         (x_locate_pixmap_file): Call Fexpand_file_name when file name
15838         is relative.
15839
15840 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
15841
15842         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
15843         declaration.
15844         (DEFVAR_INT_MAGIC): Ditto.
15845         (DEFVAR_BOOL_MAGIC): Ditto.
15846         * glyphs.h: Reindent backslash.
15847
15848 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15849
15850         * glyphs-widget.c (layout_query_geometry):
15851         (layout_layout): Use correct types for gheight, gwidth.
15852
15853 2000-01-24  Martin Buchholz  <martin@xemacs.org>
15854
15855         * EmacsManager.c (QueryGeometry): Purified.
15856
15857 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15858
15859         * alloc.c (make_float): Make sure entire object is initialized, to
15860         avoid Purify warnings.
15861         (pdump_register_sub): Remove useless assignment.
15862         (pdump): Use xmalloc, not malloc.
15863         (pdump_load): Use xmalloc, not malloc.
15864
15865 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15866
15867         * callproc.c:
15868         * dired-msw.c:
15869         * fileio.c:
15870         * process-nt.c:
15871         * redisplay-msw.c:
15872         * sysdep.c: Removed redundant #include <windows.h>
15873
15874 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15875
15876         * frame.c (delete_frame_internal): Do not delete device when its
15877         implementation so declares.
15878         (delete_frame_internal): Set device selected frame to nil when
15879         last frame goes away.
15880
15881         * device-msw.c (msprinter_device_system_metrics): Implemented.
15882         (mswindows_device_system_metrics): Added 'device-dpi property.
15883
15884         * device.c: (Fdevice_printer_p): Added.
15885         Added 'offset-workspace device metric.
15886
15887         * console.h (device_metrics): Declared DM_offset_workspace.
15888
15889 2000-01-23  Martin Buchholz  <martin@xemacs.org>
15890
15891         * fileio.c (Ffile_truename): Remove pointless and confusing
15892         initialization of elen.
15893
15894         * glyphs-widget.c: Compiler warning fixes.
15895
15896 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
15897
15898         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
15899         instead of a Lisp_Object as argument to make it consistent with
15900         the other LIVE_P macros.
15901         (CHECK_LIVE_PROCESS): New macro.
15902
15903         * process.c: Declare Qprocess_live_p.
15904         (Fprocess_live_p): New function.
15905         (create_process): Use PROCESS_LIVE_P.
15906         (read_process_output): Ditto.
15907         (set_process_filter): Ditto.
15908         (Fdelete_process): Ditto.
15909         (kill_buffer_processes): Ditto
15910         (process_send_signal): Use CHECK_LIVE_PROCESS.
15911         (Fprocess_input_coding_system): Check whether process is still
15912         alive (fix PR#1061).
15913         (Fprocess_output_coding_system): Ditto.
15914         (Fprocess_coding_system): Ditto.
15915         (Fset_process_input_coding_system): Ditto.
15916         (Fset_process_output_coding_system): Ditto.
15917
15918 2000-01-23  Andy Piper  <andy@xemacs.org>
15919
15920         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
15921         layout and widget.
15922
15923         * glyphs.c (mark_image_instance): take into account changed
15924         image_instance format.
15925         (image_instance_equal): ditto.
15926         (image_instance_hash): ditto.
15927
15928         * glyphs-widget.c (widget_instantiate): Incorporate layout
15929         instantiation here. Delay layout of the layout until later.
15930         (layout_instantiate): deleted.
15931         (layout_query_geometry): new function. get the geometry of a
15932         layout.
15933         (layout_layout): layout a layout dynamically.
15934         (image_instantiator_widget): New function - splitting up
15935         image_instantiator_format_create_glyphs_widget for netwinder
15936         compilation.
15937         (image_instantiator_buttons):
15938         (image_instantiator_edit_fields):
15939         (image_instantiator_combo_box):
15940         (image_instantiator_scrollbar):
15941         (image_instantiator_progress_guage):
15942         (image_instantiator_tree_view):
15943         (image_instantiator_tab_control):
15944         (image_instantiator_labels):
15945         (image_instantiator_layout): ditto.
15946         (image_instantiator_format_create_glyphs_widget): Call preceding
15947         functions.
15948
15949 2000-01-22  Martin Buchholz  <martin@xemacs.org>
15950
15951         * process.c (Fset_process_coding_system):
15952         * device-x.c (Fx_keysym_hash_table):
15953         Docstring fixes.
15954
15955         * lstream.c (Lstream_write): Return documented value, not 0.
15956
15957         * fileio.c (directory_file_name):
15958         (Fsubstitute_in_file_name):
15959         (Fsubstitute_insert_file_contents_internal):
15960         (Fwrite_region_internal):
15961         * emacs.c:
15962         * sysdep.c:
15963         * getloadavg.c:
15964         * systty.h:
15965         Remove vestigial APOLLO-conditional code.
15966
15967 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15968
15969         * getpagesize.h: Add guard macros.
15970         * libsst.h: Add guard macros.
15971         * libst.h: Add guard macros.
15972         * line-number.h: Add guard macros.
15973         * ndir.h: Add guard macros.
15974         * sysfloat.h: Add guard macros.
15975         * sysfile.h: Add guard macros.
15976         * sysproc.h: Add guard macros.
15977         * syswait.h: Add guard macros.
15978         * xintrinsic.h: Add guard macros.
15979         * xintrinsicp.h: Add guard macros.
15980         * xmmanager.h: Add guard macros.
15981         * xmmanagerp.h: Add guard macros.
15982         * xmprimitive.h: Add guard macros.
15983         * xmu.h: Add guard macros.
15984         * gpmevent.h: Add copyright statement. Add guard macros.
15985         * miscplay.h: Add guard macros.
15986         * *.h: Use consistent C-standards-approved guard macro names.
15987
15988         * opaque.c (make_opaque): Switch parameter order.
15989         * opaque.h (make_opaque): Switch parameter order.
15990         Update all callers.
15991         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
15992
15993         * config.h.in (type_checking_assert): Added.
15994         (bufpos_checking_assert): Added.
15995
15996 2000-01-21  Martin Buchholz  <martin@xemacs.org>
15997
15998         * alloc.c: Harmless pdump changes.
15999         - Use countof().
16000         - spell alignment correctly.
16001         * sysdep.c: Use countof()
16002
16003 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16004
16005         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16006         initially_selected_for_input() console method, default to 0.
16007         (semi_canonicalize_console_connection): Try to delegate to
16008         canonicalize_console_connection if no such console method.
16009         (canonicalize_console_connection): Vice versa.
16010         (print_console): Do not print nil connection.
16011
16012         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16013         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16014         (XDEVIMPF_FRAMELESS_OK): Added.
16015         (CONSOLE_INHERITS_METHOD): Added.
16016
16017         * console-msw.c (mswindows_canonicalize_console_connection):
16018         Added.
16019         (mswindows_canonicalize_device_connection): Added.
16020
16021         * console-msw.h (struct msprinter_device): Added this struct and
16022         accessor macros.
16023         (mswindows_device): Made fontlist a lisp object.
16024
16025         * device.c (semi_canonicalize_device_connection):  Try to delegate
16026         to canonicalize_device_connection if no such console method.
16027         (canonicalize_device_connection): Vice versa.
16028         (print_device): Do not print nil connection.
16029
16030         * device-msw.c (mswindows_init_device): Call InitCommonControls
16031         when have widgets.
16032         (mswindows_delete_device): Removed fontlist deallocation.
16033         (mswindows_mark_device): Added.
16034
16035         * events.c (event_equal): Added abort() at unreached code.
16036         (event_hash): Ditto.
16037
16038         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16039         fallback tags of Windows devices.
16040
16041         * general.c (syms_of_general): Initialized Qmsprinter.
16042
16043         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16044         of fallback tags of Windows devices.
16045
16046         * lisp.h: Declared Qmsprinter.
16047
16048         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16049         of strings.
16050         (mswindows_list_fonts): Ditto.
16051         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16052         that it can be used by both mswindows and msprinter devices.
16053         (initialize_font_instance): Added.
16054         (mswindows_initialize_font_instance): Use it.
16055         (msprinter_initialize_font_instance): Added.
16056
16057         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16058         and implementation flags check.
16059         (redisplay_without_hooks): Changed the call to the above.
16060         (Fredraw_device): Ditto.
16061         (Fredisplay_device): Ditto.
16062
16063         * redisplay-msw.c (get_frame_dc): Implemented.
16064         (get_frame_compdc): Implemented.
16065         (many functions): Use the two functions above to get device
16066         contexts, ether for a window or a printer.
16067
16068 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16069
16070         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16071         initialization here.
16072         (init_symbols_once_early): Call it.
16073         * emacs.c (main_1): Call it.
16074         * symsinit.h: Declare it.
16075
16076 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16077
16078         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16079         Lisp_Object.
16080         (pdump_backtrace): Ditto.
16081         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16082         (pdump_get_entry): Abort if trying to register a null pointer.
16083         (pdump_dump_data): Cleanup types when relocating.
16084         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16085         (pdump_dump_rtables): Remove bad casts.
16086         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16087         Lisp_Object instead of a EMACS_INT for the hashtable
16088         reorganization.
16089
16090 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16091
16092         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16093
16094         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16095
16096         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16097
16098         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16099
16100 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16101
16102         * faces.h (FACE_STRIKETHRU_P): Added.
16103
16104         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16105         of font variants.
16106
16107         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16108         (mswindows_set_dc_font): New function, aware of font variants,
16109         separated from mswindows_update_dc.
16110
16111         * objects-msw.h (struct mswindows_font_instance_data): Added
16112         definition.
16113
16114         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16115         cached fonts and the data structure.
16116         (mswindows_initialize_font_instance): Added creation of font data
16117         structure.
16118         (mswindows_print_font_instance): Print at least something.
16119         (mswindows_create_font_variant): Implemented.
16120         (mswindows_get_hfont): Implemented.
16121
16122 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16123
16124         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16125         prototyping problem with msvc.
16126
16127         * emacs.c (main_1): added syms_of_gui_mswindows() call
16128
16129         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16130         syms_of_gui_mswindows() function
16131
16132         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16133
16134 2000-01-18  Martin Buchholz <martin@xemacs.org>
16135
16136         * XEmacs 21.2.27 is released.
16137
16138 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16139
16140         * glyphs-eimage.c (struct tiff_error_struct):
16141         (tiff_error_func):
16142         (tiff_warning_func):
16143         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16144
16145         * unexmips.c:
16146         * unexhp9k3.c:
16147         * unexfreebsd.c:
16148         * unexec.c: Remove vestigial Lucid C code.
16149         * unexalpha.c:
16150         * unexaix.c:
16151         * termcap.c:
16152         * libsst.c: Ansify.
16153         Remove declarations of errno and strerror().
16154
16155         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16156
16157         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16158
16159 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16160
16161         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16162         Optimize.
16163
16164 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16165
16166         * md5.c:
16167         * file-coding.c:
16168         * file-coding.h:
16169         Change enum eol_type to eol_type_t.
16170
16171 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16172
16173         * gui.c (get_gui_callback): Check cons before accessing car.
16174
16175 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16176
16177         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16178         (XSETSPECIFIER_TYPE): Ditto.
16179
16180 2000-01-17  Didier Verna  <didier@xemacs.org>
16181
16182         * redisplay.c (generate_fstring_runes): compute string size in
16183         characters, not bytes.
16184
16185 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16186
16187         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16188
16189 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16190
16191         * print.c (print_error_message): Call print_prepare().
16192
16193 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16194
16195         * .dbxrc: Renamed from dbxrc.
16196
16197         * events.c (event_to_character):
16198         Use `assert (foo)' instead of `if (!foo) abort()'
16199
16200         * .gdbinit (xtype): Add documentation.
16201         * .gdbinit (check-temacs): New function.
16202         * .gdbinit (check-xemacs): New function.
16203         * dbxrc (check-xemacs): New function.
16204         * dbxrc (check-xemacs): New function.
16205
16206 2000-01-14  Andy Piper  <andy@xemacs.org>
16207
16208         * glyphs-widget.c (widget_query_geometry): Make sure that we
16209         calculate default dimensions correctly.
16210
16211 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16212
16213         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16214
16215         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16216         pdump_wire'd variable.
16217
16218         * emacs.c: (main_1): Conditionalized calls to
16219         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16220
16221 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16222
16223         * window.c (Fset_window_configuration):
16224         * sysdep.c (_start):
16225         * input-method-motif.c (res):
16226         * event-Xt.c (Xt_process_to_emacs_event):
16227         Simple compiler warning fixes.
16228
16229         * bytecode.c (funcall_compiled_function): Use the original
16230         function symbol on the backtrace list in preference to the
16231         compiled_function object in error messages.
16232
16233 2000-01-13  Andy Piper  <andy@xemacs.org>
16234
16235         * glyphs-x.c (update_widget_face): Make sure we update the widget
16236         background as well as foreground.
16237
16238 2000-01-13  Andy Piper  <andy@xemacs.org>
16239
16240         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16241         fields to subwindow.
16242         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16243         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16244         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16245         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16246
16247         * glyphs-widget.c (check_valid_tab_orientation): new function.
16248         (initialize_widget_image_instance): zero orientation and
16249         justification.
16250         (widget_instantiate): pick up orientation.
16251         (tab_control_query_geometry): return appropriate values for
16252         vertical tabs.
16253
16254         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16255         appropriate creation flags for left, right and bottom tabs.
16256
16257         * s/cygwin32.h: add tab definitions.
16258
16259 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16260
16261         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16262         frame upon hiding a subwindow.
16263         (mswindows_button_instantiate): Changed the push button style to
16264         BS_PUSHBUTTON.
16265         (mswindows_button_instantiate): Removed button BS_NOTIFY
16266         style.
16267         (mswindows_button_instantiate): Removed redundant check for
16268         a disabled gui item.
16269         (mswindows_button_instantiate): Made use of WS_TABSTOP
16270         consistent: "operable" controls (edit, button, tree, scroll) have
16271         this style, "display-only" ones (static, progress gauge) do
16272         not. This style is currently ignored by XEmacs though. Also,
16273         removed the WS_EX_CONTROLPARENT style - it is not for children,
16274         it is for their parents!
16275         (mswindows_edit_field_instantiate): Ditto.
16276         (mswindows_progress_gauge_instantiate): Ditto.
16277         (mswindows_tree_view_instantiate): Ditto.
16278         (mswindows_tab_control_instantiate): Ditto.
16279         (mswindows_scrollbar_instantiate): Ditto.
16280         (mswindows_combo_box_instantiate): Ditto.
16281         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16282         style to the "clip" window.
16283         (mswindows_button_instantiate): Removed compilation warning by
16284         equally typing terms of the ?: operator.
16285
16286 2000-01-12  Didier Verna  <didier@xemacs.org>
16287
16288         * redisplay.c (generate_fstring_runes): new parameter holding the
16289         last modeline-format extent.
16290         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16291         extent, fill the glyph block with it.
16292         (generate_fstring_runes): handle these parameters.
16293         (generate_formatted_string_db): ditto.
16294
16295         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16296         glyphs'extents in the modeline.
16297
16298 1999-01-11  Mike Woolley  <mike@bulsara.com>
16299
16300         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16301         256Mb, as a workaround for the non-starting problem many people
16302         have experienced.
16303
16304 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16305
16306         * console-tty.c (Fset_console_tty_output_coding_system):
16307         Force redrawing tty frame.
16308
16309 2000-01-10  Didier Verna  <didier@xemacs.org>
16310
16311         * redisplay.c (generate_fstring_runes): fix size computation bug.
16312
16313 2000-01-09  William M. Perry <wmperry@aventail.com>
16314
16315         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16316
16317 2000-01-09  Andy Piper  <andy@xemacs.org>
16318
16319         * glyphs-msw.c: index -> i to avoid shadows.
16320         (xbm_create_bitmap_from_data): make static.
16321         (check_valid_string_or_int): deleted.
16322         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16323
16324         * glyphs-x.c (x_update_subwindow): remove unused args.
16325
16326         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16327         back pointer - this is done in allocate_image_instance.
16328         (query_string_font): return Qnil to make the compiler happy.
16329         (unmap_subwindow): set to ~0 to make the compiler happy.
16330         (glyph_query_geometry): comment out until used.
16331         (glyph_layout): ditto.
16332
16333 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16334
16335         * insdel.c (signal_after_change): Remove extraneous unbind_to().