update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c: Add EXFUN for `Fregexp_quote'.
4         (decode_add_er_char): Fix problem about infinite loop when a CCS
5         specified in `coded-charset-entity-reference-alist' is not
6         existed.
7
8 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * mule-charset.c (syms_of_mule_charset): Rename
11         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
12
13 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * fns.c (simplify_char_spec): Don't allocate new character-object
16         if specified char_spec does not have any CCS-features.
17
18         * chartab.h: Add EXFUN for Fdefine_char.
19
20         * chartab.c: Delete EXFUN for Fdefine_char.
21
22 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * fns.c (simplify_char_spec): Use Fdefine_char instead of
25         Ffind_char for char-spec.
26
27 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
28
29         * lisp-disunion.h (XCHARVAL): Fix condition about
30         SIZEOF_EMACS_INT.
31
32 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
33
34         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
35         <int> for `code'.
36         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
37         point; use <Emchar> instead of <int> for character-id.
38
39 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
42         (make_char): Likewise.
43         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
44         environment.
45         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
46         instead of <int> as the type of return value; use <Lisp_Object>
47         instead of <Emchar> as the type of argument.
48         (XCHARVAL[macro version]): Cast the result into <Emchar>.
49
50         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
51         syntaxcode> instead of <int>.
52
53 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
54
55         * chartab.c (put_char_composition): Use DECODE_CHAR to get
56         character corresponding with UCS code point.
57         (Fput_char_attribute): Likewise.
58
59         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
60         character in the UCS decoding-table if the char-id is not equal to
61         the UCS code point.
62
63 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
64
65         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
66         for aliases; write `description'; write
67         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
68         not 0.
69
70 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
71
72         * chartab.c (Fsave_char_attribute_table): Don't use
73         `save_charset_properties'.
74
75         * mule-charset.c (Fsave_charset_properties): Renamed from
76         `save_charset_properties' and changed to Lisp function again;
77         write property `type' as `CCS'; write properties `final-byte' and
78         `mother' if they exists.
79         (syms_of_mule_charset): Revive builtin function
80         `save-charset-properties' when HAVE_LIBCHISE is defined.
81
82 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
85         instead of Vexec_directory.
86         (char_attribute_system_db_file): Likewise.
87
88 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * chartab.c (Fsave_char_attribute_table): Use
91         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
92         defined.
93
94         * mule-charset.c (save_charset_properties): Renamed from
95         `Fsave_charset_properties'; changed to non-Lisp function.
96         (syms_of_mule_charset): Abolish builtin function
97         `save-charset-properties'.
98
99 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * mule-charset.c (Fsave_charset_properties): New function when
102         HAVE_LIBCHISE is defined.
103         (syms_of_mule_charset): Add new builtin function
104         `save-charset-properties' when HAVE_LIBCHISE is defined.
105
106 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
107
108         * chartab.c (Fput_char_attribute): Convert char-specs in value of
109         `{<-|->}ancient[^*]*' to characters and put reverse links.
110         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
111         for `{<-|->}ancient[^*]*'.
112
113 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * chartab.c (Fput_char_attribute): Convert char-specs in value of
116         `{<-|->}original[^*]*' to characters and put reverse links.
117         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
118         for `{<-|->}original[^*]*'.
119
120 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
121
122         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
123
124 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * mule-charset.c (Qsystem_char_id): New variable.
127
128         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
129         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
130
131 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
132
133         * chartab.c (Fput_char_attribute): When processing a reference of
134         a character, put into the end of the reversed reference of each
135         target character.
136
137 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * chartab.c (Q_same): Deleted.
140         (Q_same_of): Deleted.
141         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
142         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
143         for `{<-|->}same'.
144         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
145
146 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
147
148         * chartab.c (Q_vulgar): Deleted.
149         (Q_vulgar_of): Deleted.
150         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
151         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
152         for `{<-|->}vulgar'.
153         (syms_of_chartab): Don't define `{<-|->}vulgar'.
154
155 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
156
157         * chartab.c (Fput_char_attribute): Convert char-specs in value of
158         `{<-|->}wrong[^*]*' to characters and put reverse links.
159         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
160         for `{<-|->}wrong[^*]*'.
161
162 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
163
164         * chartab.c (Q_vulgar): New variable.
165         (Q_vulgar_of): New variable.
166         (Fput_char_attribute): Convert char-specs in value of
167         `{->|<-}vulgar' to characters and put reverse links.
168         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
169         for `{->|<-}vulgar'.
170         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
171
172 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
173
174         * text-coding.c (decode_add_er_char): Must to quote prefix string
175         as regexp.
176
177 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * mule-charset.c (put_char_ccs_code_point): Store characters of
180         =ucs whose code_points >= 0xF0000.
181
182 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
183
184         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
185         CHISE.
186         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
187         CHISE.
188         (complex_vars_of_mule_charset): Add new coded-charset
189         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
190         builtin characters over 0xEFFFF.
191
192         * chartab.c (syms_of_chartab): Don't define symbol
193         `system-char-id' in every case.
194
195         * char-ucs.h (Qsystem_char_id): New extern variable.
196         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
197
198 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
199
200         * text-coding.c (char_encode_utf8): Try to use entity-references
201         for U-000F0000 ...  U-0010FFFF.
202
203 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * text-coding.c (ER_BUF_SIZE): New macro.
206         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
207         `er_buf'.
208         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
209         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
210
211 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
212
213         * chartab.c (find_char_feature_in_family): New function.
214         (Fchar_feature): Use `find_char_feature_in_family' with
215         `->identical', `<-subsumptive' and `<-denotational'.
216
217 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
218
219         * text-coding.c (char_encode_as_entity_reference): Allow prefix
220         within 8 characters; fix infinite loop.
221
222 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
223
224         * chartab.c (Q_same): New variable.
225         (Q_same_of): New variable.
226         (Fput_char_attribute): Convert char-specs in value of
227         `{->|<-}same' to characters and put reverse links.
228         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
229         for `{->|<-}same'.
230         (syms_of_chartab): Add new symbols `{->|<-}same'.
231
232 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * chartab.c (Q_component): New variable.
235         (Q_component_of): Likewise.
236         (Fput_char_attribute): Convert char-specs in value of
237         `{->|<-}ideographic-component-forms' to characters and put reverse
238         links.
239         (syms_of_chartab): Add new symbols
240         `{->|<-}ideographic-component-forms'.
241
242 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
243
244         * chartab.c (Q_identical): New variable.
245         (Q_identical_from): New variable.
246         (Fchar_feature): Regard `->identical' as a feature to find
247         ancestors.
248         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
249         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
250         for `{->|<-}identical'.
251         (syms_of_chartab): Add new symbols `{->|<-}identical'.
252
253 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
254
255         * char-ucs.h (encode_char_2): New inline function.
256         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
257
258 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
259
260         * chartab.c (Fput_char_attribute): Convert char-specs to
261         characters in value of `ideographic-structure'.
262         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
263         for `{<-|->}simplified(@...)'.
264         (Fdefine_char): bTry to use predefined character's id.
265
266 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * fns.c (simplify_char_spec): Try to convert builtin chars to
269         defined chars.
270
271 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * chartab.c (Fput_char_attribute): Convert char-specs in value of
274         `<-simplified[^*]*' to characters and put reverse links.
275
276 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
277
278         * chartab.c (Q_subsumptive): Renamed from Q_unified.
279         (Q_subsumptive_from): Renamed from Q_unified_from.
280         (Fchar_feature): Use `Q_subsumptive_from' instead of
281         `Q_unified_from'.
282         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
283         `Q_unified'.
284         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
285         `<-unified' to `<-subsumptive'.
286
287 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
288
289         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
290         inheritance itself; fix typo; stop recursive search if cyclic
291         inheritance is found.
292
293 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * chartab.c (Q_denotational): New variable.
296         (Q_denotational_from): New variable.
297         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
298         (put_char_attribute): New function.
299         (Fput_char_attribute): Use `put_char_attribute'; regard
300         `->denotational' and `<-denotational' as same as `->unified' and
301         `<-unified'.
302         (syms_of_chartab): Add new symbols `->denotational' and
303         `<-denotational'.
304
305 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
306
307         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
308         `Fget_char_attribute'.
309         (Fchar_variants): Likewise.
310         (get_char_table): Likewise.
311         (Fchar_feature): New function.
312         (put_char_composition): Use `Fchar_feature' instead of
313         `Fget_char_attribute'.
314         (Fput_char_attribute): Likewise; don't put the target character
315         into its `->unified' value.
316         (syms_of_chartab): Add new builtin function `char-feature'.
317
318 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
319
320         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
321         `Fget_char_attribute'.
322         (char_encode_utf8): Likewise.
323
324         * chartab.h: Add an EXFUN for `Fchar_feature'.
325
326 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
327
328         * chartab.c (Vnext_defined_char_id): New variable.
329         (Fput_char_attribute): Accept characters in `->unified'.
330         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
331         new characters which are not related with builtin char-id ranges.
332         (vars_of_chartab): Add new variable `next-defined-char-id'.
333
334 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * chartab.c (Q_unified): New variable.
337         (Q_unified_from): New variable.
338         (Fput_char_attribute): Add code for `->unified'.
339         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
340         XEmacs CHISE.
341
342 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
343
344         * mule-charset.c (decode_ccs_conversion): New function.
345         (decode_defined_char): Use `decode_ccs_conversion'.
346         (decode_builtin_char): Likewise.
347
348 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
349
350         * char-ucs.h: Change some charset-ids of private coded-charsets.
351
352 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
355         (char_encode_as_entity_reference): Likewise.
356         (decode_coding_big5): Modify for `decode_defined_char' and
357         `DECODE_CHAR'.
358         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
359         avoid compiler warning.
360         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
361
362         * mule-charset.c (decode_defined_char): Add new argument
363         `without_inheritance'.
364         (Fdecode_char): Add new optional argument `without_inheritance'.
365         (Fdecode_builtin_char): Modify for `Fdecode_char'.
366
367         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
368         (simplify_char_spec): Likewise.
369
370         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
371         setting.
372
373         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
374         (map_char_table): Likewise.
375         (Fdefine_char): Use `Fdecode_char' without inheritance.
376         (Ffind_char): Modify for `Fdecode_char'.
377
378         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
379
380         * char-ucs.h (decode_defined_char): Add new argument
381         `without_inheritance'.
382         (DECODE_CHAR): Likewise.
383         (MAKE_CHAR): Modify for `DECODE_CHAR'.
384
385 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
386
387         * chartab.c (Vchise_system_db_directory): New variable.
388         (vars_of_chartab): Add new variable `chise-system-db-directory'.
389
390 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
391
392         * chartab.c: EXFUN `Fmount_char_attribute_table'.
393         (print_chartab_range): Don't define when `UTF2000' is defined.
394         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
395         `CHISE_DS_open'.
396
397 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
398
399         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
400         and optional argument `rehash' is specified, call
401         `open_chise_data_source_maybe' before
402         `chise_ds_foreach_char_feature_name' is called.
403
404 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * chartab.c (char_attribute_list_reset_map_func): New function
407         when HAVE_LIBCHISE is defined.
408         (Fchar_attribute_list): Add new optional argument `rehash' when
409         HAVE_LIBCHISE is defined.
410         (open_chise_data_source_maybe): Use "chise-db" instead of
411         "char-db".
412         (char_attribute_system_db_file): Likewise.
413         (Fload_char_attribute_table): Use
414         `chise_feature_foreach_char_with_value' instead of
415         `chise_char_feature_value_iterate'.
416
417 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * chartab.c (Vchise_db_directory): New variable.
420         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
421
422 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
425         instead of HAVE_CHISE to specify using with libchise.
426
427         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
428
429         * chartab.h: Don't use HAVE_CHISE_CLIENT.
430
431         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
432         defined or HAVE_LIBCHISE_LIBCHISE is defined.
433         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
434         is defined.
435         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
436         HAVE_CHISE to specify using with libchise.
437         (syms_of_chartab): Don't define symbol `system-char-id' when
438         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
439
440 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
441
442         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
443         specify CHISE DB support.
444         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
445         of `char_attribute_system_db_file' to check feature DB file.
446
447         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
448         HAVE_CHISE_CLIENT to specify CHISE DB support.
449
450         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
451         specify CHISE DB support.
452         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
453         not defined.
454         (Freset_char_attribute_table): Use `chise_feature_setup_db'
455         instead of `char_attribute_system_db_file' to check feature DB
456         file.
457
458 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
459
460         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
461         `HAVE_CHISE_CLIENT'.
462
463 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
466         (Fsave_charset_mapping_table): Don't use
467         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
468
469         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
470         (HAVE_LIBCHISE): New macro.
471
472         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
473
474         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
475         (Fsave_char_attribute_table): Don't use
476         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
477
478 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
481         defined.
482         (save_uint16_byte_table): Likewise.
483         (save_byte_table): Likewise.
484         (char_table_get_db): Use `chise_ds_load_char_feature_value'
485         instead of `chise_char_load_feature_value'.
486         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
487
488 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
489
490         * chartab.h (struct Lisp_Char_Table): Delete member
491         `feature_table' if CHISE is defined.
492
493         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
494         (Fcopy_char_table): Likewise.
495         (char_table_open_db_maybe): Likewise.
496         (char_table_close_db_maybe): Likewise.
497         (char_table_get_db): Likewise.
498         (Fmount_char_attribute_table): Likewise.
499         (Fload_char_attribute_table): Likewise.
500
501 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
502
503         * mule-charset.c (load_char_decoding_entry_maybe): Use
504         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
505         `chise_ccs_decode'.
506
507 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
508
509         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
510         instead of `chise_open_data_source'.
511         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
512         `chise_ds_close'.
513
514 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
515
516         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
517         instead of `chise_ds_open_feature_table'.
518         (char_table_close_db_maybe): Don't use `chise_ft_close'.
519
520 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
521
522         * mule-charset.c (Fsave_charset_mapping_table): Use
523         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
524         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
525         `chise_ccs_sync' instead of `chise_ccst_close'.
526         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
527
528         * chartab.c (open_chise_data_source_maybe): Modify for
529         `chise_open_data_source'.
530         (char_table_open_db_maybe): Modify for
531         `chise_ds_open_feature_table'.
532
533 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
534
535         * mule-charset.c (load_char_decoding_entry_maybe): Use
536         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
537         `chise_ccst_close'.
538
539 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
540
541         * mule-charset.c (Fsave_charset_mapping_table): Use
542         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
543         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
544         `chise_dt_put_char' and `chise_dt_close'.
545         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
546         `chise_ccs_decode' and `chise_ccst_close' instead of
547         `chise_ds_open_decoding_table', `chise_dt_get_char' and
548         `chise_dt_close'.
549
550         * chartab.c (char_table_get_db): Use
551         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
552         (load_char_attribute_table_map_func): Modify for
553         `chise_char_feature_value_iterate'.
554         (Fload_char_attribute_table): Use
555         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
556
557 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
560
561 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
562
563         * chartab.c (put_char_table): Modify for inherited coded-charsets
564         in XEmacs CHISE.
565
566 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
567
568         * chartab.c (Fput_char_table_map_function): Fixed.
569         (word_boundary_p): Don't check charset in XEmacs CHISE.
570
571 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
572
573         * mule-charset.c (Fsave_charset_mapping_table): Use
574         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
575         instead of `chise_open_decoding_table'; refer
576         `default_chise_data_source'; use `chise_dt_close' instead of
577         `chise_close_decoding_table'.
578         (load_char_decoding_entry_maybe): Likewise.
579
580         * chartab.c (default_chise_data_source): New variable when `CHISE'
581         is defined.
582         (Fcopy_char_table): `ct->ds' is deleted.
583         (open_chise_data_source_maybe): New function.
584         (Fclose_char_data_source): New function.
585         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
586         use `chise_ds_open_feature_table' instead of
587         `chise_open_feature_table'.
588         (char_table_close_db_maybe): Use `chise_ft_close' instead of
589         `chise_close_feature_table'; `cit->ds' is deleted.
590         (syms_of_chartab): Add new builtin function
591         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
592
593         * chartab.h (default_chise_data_source): New extern variable.
594         (open_chise_data_source_maybe): New prototype.
595         (struct Lisp_Char_Table): Delete `ds'.
596
597 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
598
599         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
600         `CHISE' is defined.
601
602 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
603
604         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
605         not defined; add code for non-libchise setting.
606         (char_table_close_db_maybe): Likewise.
607         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
608         defined.
609         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
610         even if `CHISE' is not defined.
611         (Freset_char_attribute_table): Likewise.
612         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
613         `char_table_close_db_maybe' even if `CHISE' is not defined; use
614         `char_table_get_db'.
615         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
616         `char_table_close_db_maybe' even if `CHISE' is not defined.
617
618 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
619
620         * chartab.c (char_table_open_db_maybe): New function.
621         (char_table_close_db_maybe): New function.
622         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
623         (Freset_char_attribute_table): Likewise.
624         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
625         `char_table_close_db_maybe'.
626         (Fload_char_attribute_table): Likewise.
627
628 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
629
630         * chartab.c: Don't include <chise.h> because it is included in
631         chartab.h.
632         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
633         defined.
634         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
635         `CHISE' is defined.
636         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
637         `CHISE' is defined.
638         (Fclose_char_attribute_table): Close `ct->feature_table' and
639         `ct->ds' when `CHISE' is defined.
640         (Freset_char_attribute_table): Likewise.
641         (load_char_attribute_maybe): Use `cit->ds' and
642         `cit->feature_table' when `CHISE' is defined.
643         (Fload_char_attribute_table): Likewise.
644
645         * chartab.h: Include <chise.h> when `CHISE' is defined.
646         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
647         when `CHISE' is defined.
648
649 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
650
651         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
652         is defined.
653         (char_table_description): Likewise.
654         (Fmake_char_table): Likewise.
655         (Fcopy_char_table): Likewise.
656         (Fmount_char_attribute_table): Likewise.
657         (Fclose_char_attribute_table): Likewise.
658         (Freset_char_attribute_table): Likewise.
659         (load_char_attribute_maybe): Likewise.
660         (Fload_char_attribute_table): Likewise.
661
662         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
663         defined.
664
665 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
666
667         * chartab.c (load_char_attribute_table_map_func): New function
668         when CHISE is defined.
669         (Qload_char_attribute_table_map_function): Don't define when CHISE
670         is defined.
671         (Fload_char_attribute_table_map_function): Likewise.
672         (Fload_char_attribute_table): Use libchise when `CHISE' is
673         defined.
674         (syms_of_chartab): Don't define
675         `load-char-attribute-table-map-function' when CHISE is defined.
676
677 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
678
679         * chartab.c: Include <chise.h> when `CHISE' is defined.
680         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
681
682 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
683
684         * mule-charset.c (charset_code_point): Fix problem when searching
685         in mother CCS fails with `defined_only' mode.
686
687 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
688
689         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
690         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
691         (put_char_composition): Likewise.
692         (Fput_char_attribute): Likewise.
693         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
694
695 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
696
697         * chartab.c (Q_ucs): Deleted.
698         (Fput_char_attribute): Don't refer `->ucs'.
699         (Fdefine_char): Likewise.
700         (Ffind_char): Likewise.
701         (syms_of_chartab): Delete `->ucs'.
702
703 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
704
705         * mule-charset.c (Qmap_cns11643_2): Renamed from
706         `Qchinese_cns11643_2'.
707         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
708         `chinese-cns11643-2'.
709         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
710         `=cns11643-2'.
711
712 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
713
714         * mule-charset.c (Qmap_cns11643_1): Renamed from
715         `Qchinese_cns11643_1'.
716         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
717         `chinese-cns11643-1'.
718         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
719         `=cns11643-1'.
720
721 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
722
723         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
724         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
725         `chinese-gb12345'.
726         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
727         `=gb12345'.
728
729 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
730
731         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
732         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
733         `chinese-gb2312'.
734         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
735         `=gb2312'.
736
737 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
738
739         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
740         (syms_of_mule_charset): Add new symbol `=big5' instead of
741         `chinese-big5'.
742         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
743
744 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
745
746         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
747         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
748         `korean-ksc5601'.
749         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
750         `=ks-x1001'.
751
752 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
753
754         * mule-charset.c (Qmap_jis_x0212): Renamed from
755         `Qjapanese_jisx0212'.
756         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
757         `japanese-jisx0212'.
758         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
759         `=jis-x0212'.
760
761 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
762
763         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
764         `Qjapanese_jisx0208'.
765         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
766         of `japanese-jisx0208'.
767         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
768         `=jis-x0208-1983'.
769
770 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
773         `Qjapanese_jisx0208_1978'.
774         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
775         of `japanese-jisx0208-1978'.
776         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
777         `=jis-x0208-1978'.
778
779 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
780
781         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
782         only for XEmacs CHISE.
783
784 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
785
786         * char-ucs.h: Compact non-ISO-IR charset-ids.
787         (LEADING_BYTE_UCS): Changed to -177.
788         (LEADING_BYTE_CONTROL_1): Changed to -77.
789         (LEADING_BYTE_UCS_BMP): Changed to -176.
790         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
791
792 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
793
794         * mule-charset.c (Qiso_ir): New variable.
795         (Fmake_charset): Recognise new property `iso-ir'.
796         (syms_of_mule_charset): Add new symbol `iso-ir'.
797
798 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
799
800         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
801         n to -n; charset-id of non ISO-IR sets are changed to positive
802         numbers.
803
804 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
805
806         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
807         for &MCS-XXXXXXXX; values.
808
809 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
810
811         * mule.c (Vxemacs_chise_version): Renamed from
812         `Vutf_2000_version'.
813         (vars_of_mule): Add new variable `xemacs-chise-version'; define
814         `utf-2000-version' as an alias for `xemacs-chise-version'.
815
816 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
817
818         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
819         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
820         defined.
821
822         * config.h.in (CHISE): New macro.
823
824 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
825
826         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
827         of `ucs'.
828         (Qmap_ucs): New variable.
829         (syms_of_mule_charset): Add new symbol `=ucs'.
830         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
831
832         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
833         (simplify_char_spec): Likewise.
834
835         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
836
837         * char-ucs.h (Qmap_ucs): New extern variable.
838
839 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
840
841         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
842         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
843         don't define it when UTF2000 is not defined.
844         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
845         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
846         when UTF2000 is not defined.
847         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
848         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
849
850 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
851
852         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
853
854         * mule-charset.c (Vcharset_ucs_gb): Deleted.
855         (Qucs_gb): Deleted.
856         (syms_of_mule_charset): Delete `ucs-gb'.
857         (complex_vars_of_mule_charset): Likewise.
858
859 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
860
861         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
862
863         * mule-charset.c (Vcharset_ucs_cns): Deleted.
864         (Qucs_cns): Deleted.
865         (syms_of_mule_charset): Delete `ucs-cns'.
866         (complex_vars_of_mule_charset): Likewise.
867
868 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
869
870         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
871
872         * mule-charset.c (Vcharset_ucs_jis): Deleted.
873         (Qucs_jis): Deleted.
874         (syms_of_mule_charset): Delete `ucs-jis'.
875         (complex_vars_of_mule_charset): Likewise.
876
877 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
878
879         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
880
881         * mule-charset.c (Vcharset_ucs_ks): Deleted.
882         (Qucs_ks): Deleted.
883         (syms_of_mule_charset): Delete `ucs-ks'.
884         (complex_vars_of_mule_charset): Likewise.
885
886 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
887
888         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
889         (Qideograph_daikanwa_2): Deleted.
890         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
891         (complex_vars_of_mule_charset): Likewise.
892
893         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
894         (LEADING_BYTE_DAIKANWA_1): Deleted.
895         (LEADING_BYTE_DAIKANWA_2): Deleted.
896         (MIN_CHAR_DAIKANWA): Deleted.
897         (MAX_CHAR_DAIKANWA): Deleted.
898
899 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
900
901         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
902         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
903         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
904
905         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
906         (Vcharset_ideograph_daikanwa): Deleted.
907         (Qideograph_hanziku_{1..12}): Deleted.
908         (Qideograph_daikanwa): Deleted.
909         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
910         Vcharset_ideograph_daikanwa.
911         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
912         `ideograph-hanziku-{1..12}'.
913         (complex_vars_of_mule_charset): Likewise.
914
915 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
916
917         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
918
919         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
920         (Qideograph_gt_pj_{1..11}): Deleted.
921         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
922         (complex_vars_of_mule_charset): Likewise.
923
924 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * mule-charset.c (Vcharset_ucs_big5): Deleted.
927         (Vcharset_ideograph_gt): Deleted.
928         (Qucs_big5): Deleted.
929         (Qideograph_gt): Deleted.
930         (syms_of_mule_charset): Delete symbol `ucs-big5' and
931         `ideograph-gt'.
932         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
933         and `ideograph-gt'.
934
935         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
936         (LEADING_BYTE_GT): Deleted.
937         (MIN_CHAR_GT): Deleted.
938         (MAX_CHAR_GT): Deleted.
939
940 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
941
942         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
943
944 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
947         (save_uint16_byte_table): Likewise.
948         (save_byte_table): Likewise; convert values by it.
949         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
950         for `ideographic-structure'.
951         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
952         as the filter for `ideographic-structure'.
953
954 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
955
956         * chartab.c (put_char_composition): New function.
957         (Fput_char_attribute): Use `put_char_composition'; use
958         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
959
960         * fns.c (simplify_char_spec): New function.
961         (char_ref_simplify_spec): New function.
962         (Fchar_refs_simplify_char_specs): New function.
963         (syms_of_fns): Add new builtin function
964         `char-refs-simplify-char-specs'.
965
966 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
967
968         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
969         (Qideograph_cbeta): Deleted.
970         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
971         (complex_vars_of_mule_charset): Likewise.
972
973         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
974         (MIN_CHAR_CBETA): Comment out.
975         (MAX_CHAR_CBETA): Likewise.
976
977 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
978
979         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
980         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
981         CHISE client feature.
982
983 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
984
985         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
986
987 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
988
989         * mule-charset.c (charset_lookup_description_1): Use
990         `NUM_LEADING_BYTES' in UTF-2000.
991
992 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
993
994         * char-ucs.h (GC_CHARSETP): Deleted.
995
996 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
997
998         * char-ucs.h (MAX_CHAR_GT): Updated.
999
1000 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1001
1002         * text-coding.c: Sync with XEmacs 21.4.10.
1003
1004 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1005
1006         * mule-charset.c (Vcharset_china3_jef): Deleted.
1007         (Qchina3_jef): Deleted.
1008         (syms_of_mule_charset): Don't define `china3-jef'.
1009         (complex_vars_of_mule_charset): Likewise.
1010
1011         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1012         (MIN_CHAR_CHINA3_JEF): Comment out.
1013         (MAX_CHAR_CHINA3_JEF): Comment out.
1014
1015 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1016
1017         * mule-charset.c (Vcharset_ucs_gb): New variable.
1018         (Qucs_gb): New variable.
1019         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1020         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1021
1022         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1023
1024 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1025
1026         * mule-charset.c (charset_code_point): if a coded-charset has a
1027         final-byte, don't inherit the builtin range of the mother CCS.
1028
1029 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1030
1031         * mule-charset.c (charset_code_point): Fix problem about
1032         inheritance.
1033
1034 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1035
1036         * mule-charset.c (decode_builtin_char): Reorganized.
1037
1038 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1039
1040         * text-coding.c (char_encode_as_entity_reference): Modify for
1041         `charset_code_point'.
1042         (char_encode_shift_jis): Likewise.
1043         (char_encode_big5): Likewise.
1044         (char_encode_utf8): Likewise.
1045         (char_encode_iso2022): Likewise.
1046
1047         * mule-charset.c (charset_code_point): Add new argument
1048         `defined_only'.
1049         (Fencode_char): Add new optional argument `defined_only'.
1050
1051         * chartab.c (put_char_table): Modify for `charset_code_point'.
1052
1053         * char-ucs.h (charset_code_point): Add new argument
1054         `defined_only'.
1055         (encode_char_1): Modify for `charset_code_point'.
1056
1057 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1058
1059         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1060         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1061
1062 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1063
1064         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1065         (Qjis_x0208): Likewise.
1066         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1067         XCHARSET_FINAL(charset).
1068         (charset_code_point): Modify condition for final-byte based
1069         builtin-chars.
1070         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1071         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1072         in UTF-2000; specify `=jis-x0208' as the mother of
1073         `japanese-jisx0208-1978', `japanese-jisx0208' and
1074         `japanese-jisx0208-1990' in UTF-2000.
1075
1076 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1077
1078         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1079
1080 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1081
1082         * text-coding.c (decode_coding_utf16): Support UTF-16.
1083         (char_encode_utf16): Fixed.
1084
1085 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1086
1087         * text-coding.c (Qutf16): New variable in MULE.
1088         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1089         (Fcoding_system_type): Add `utf-16' in MULE.
1090         (struct detection_state): Add a structure for utf16 in MULE.
1091         (detect_coding_type): Setup st->utf16.mask in MULE.
1092         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1093         MULE.
1094         (reset_encoding_stream): Use `char_encode_utf16' and
1095         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1096         (detect_coding_utf16): New function [incomplete].
1097         (decode_coding_utf16): New function [support only UCS-2].
1098         (char_encode_utf16): New function.
1099         (char_finish_utf16): New function.
1100         (syms_of_file_coding): Add new symbol `utf-16'; setup
1101         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1102
1103         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1104         UTF-2000.
1105         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1106         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1107
1108 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1109
1110         * chartab.c (put_char_table): When a charset is specified as a
1111         range in UTF-2000, don't support builtin characters.
1112
1113 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1114
1115         * mule-charset.c (decode_defined_char): Don't refer external
1116         database if Qunbound or Qnil are found.
1117         (Fsave_charset_mapping_table): Don't define it if
1118         HAVE_CHISE_CLIENT is not defined.
1119         (Freset_charset_mapping_table): New function.
1120         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1121         found in external database.
1122         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1123         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1124         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1125
1126 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1127
1128         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1129         not.
1130
1131 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1132
1133         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1134         Q_lowercase, Q_uppercase in UTF-2000.
1135
1136         * chartab.c (get_char_table): Add special code for the standard
1137         case table to use character attribute `->downcase' and
1138         `->uppercase' for case operations in UTF-2000.
1139
1140         * casetab.c (Qflippedcase): New variable in UTF-2000.
1141         (Q_lowercase): Likewise.
1142         (Q_uppercase): Likewise.
1143         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1144         and `->uppercase' in UTF-2000.
1145         (complex_vars_of_casetab): Assign attribute name `downcase' to
1146         downcase and CANON table of Vstandard_case_table in UTF-2000;
1147         assign attribute name `flippedcase' to upcase and EQV table of
1148         Vstandard_case_table in UTF-2000.
1149
1150 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1151
1152         * text-coding.c (decode_add_er_char): Support isolated-chars.
1153         (char_encode_as_entity_reference): Likewise.
1154
1155 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1156
1157         * emacs.c (Vutf_2000_lisp_directory): New variable.
1158         (Vconfigure_utf_2000_lisp_directory): Likewise.
1159         (complex_vars_of_emacs): Add new variable
1160         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1161
1162 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1163
1164         * char-ucs.h (DECODE_CHAR): Delete special code for
1165         `chinese-big5-1' and `chinese-big5-2'.
1166
1167         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1168         (Qbig5_2): Likewise.
1169         (decode_defined_char): Support CONVERSION_BIG5_1 and
1170         CONVERSION_BIG5_2.
1171         (decode_builtin_char): Likewise.
1172         (charset_code_point): Likewise.
1173         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1174         'conversion in UTF-2000.
1175         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1176         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1177         `chinese-big5-2' as children of `chinese-big5'.
1178
1179         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1180         (CONVERSION_BIG5_2): New macro.
1181
1182 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1183
1184         * text-coding.c (char_encode_big5): Support entity-reference.
1185
1186 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1187
1188         * text-coding.c (char_encode_as_entity_reference): New function.
1189         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1190
1191 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1192
1193         * text-coding.c (decode_coding_big5): Support entity-reference
1194         decoding feature.
1195
1196 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1197
1198         * text-coding.c (allocate_coding_system): Initialize initial
1199         charsets for CODESYS_UTF8.
1200         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1201         charset-g2 for CODESYS_UTF8.
1202         (decode_coding_utf8): Use charset-g0.
1203         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1204         to force variants to map to UCS.
1205
1206 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1207
1208         * text-coding.c (Qutf_8_mcs): New variable.
1209         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1210         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1211         instead of `utf-8' in UTF-2000.
1212
1213 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1214
1215         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1216         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1217         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1218         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1219         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1220         CONVERSION_96x96x96x96 are introduced.
1221         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1222         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1223         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1224
1225         * char-ucs.h (CONVERSION_94): New macro.
1226         (CONVERSION_96): New macro.
1227         (CONVERSION_94x94): New macro.
1228         (CONVERSION_96x96): New macro.
1229         (CONVERSION_94x94x94): New macro.
1230         (CONVERSION_96x96x96): New macro.
1231         (CONVERSION_94x94x94x60): New macro.
1232         (CONVERSION_94x94x94x94): New macro.
1233         (CONVERSION_96x96x96x96): New macro.
1234
1235 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * chartab.c (Vcharacter_variant_table): Deleted.
1238         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1239         of `Vcharacter_variant_table'.
1240         (Fput_char_attribute): Likewise.
1241         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1242         (complex_vars_of_chartab): Likewise.
1243
1244 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1245
1246         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1247
1248         * fns.c (Qideographic_structure): New variable.
1249         (Qkeyword_char): New variable.
1250         (ids_format_unit): New function.
1251         (Fideographic_structure_to_ids): New function.
1252         (syms_of_fns): Add new symbols `ideographic-structure' and
1253         `:char'; add new builtin function `ideographic-structure-to-ids'.
1254
1255         * data.c (Fchar_ref_p): New function.
1256         (syms_of_data): Add new builtin function `char-ref-p'.
1257
1258         * chartab.h: Add an EXFUN for `Ffind_char'.
1259
1260 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1261
1262         * text-coding.c (Vcharacter_composition_table): Deleted.
1263         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1264         in every UTF-2000.
1265
1266         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1267         UTF-2000.
1268         (Vcharacter_composition_table): Deleted.
1269         (Fget_composite_char): Use the implementation for external-DB
1270         support in every UTF-2000.
1271         (Fput_char_attribute): Likewise.
1272         (char_attribute_system_db_file): Don't define if external-DB
1273         feature is not available.
1274         (Fsave_char_attribute_table): Likewise.
1275         (Fmount_char_attribute_table): Likewise.
1276         (Fclose_char_attribute_table): Likewise.
1277         (Freset_char_attribute_table): Likewise.
1278         (Fload_char_attribute_table): Likewise.
1279         (syms_of_chartab): Don't define `save-char-attribute-table',
1280         `mount-char-attribute-table', `reset-char-attribute-table',
1281         `close-char-attribute-table' and `load-char-attribute-table' if
1282         external-DB feature is not available.
1283         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1284
1285 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1286
1287         * text-coding.c (Qcomposition): Add extern if external-DB feature
1288         is supported.
1289         (Vcharacter_composition_table): Don't add extern if external-DB
1290         feature is supported.
1291         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1292         character composition rule if external-DB feature is supported.
1293
1294         * chartab.c (Vcharacter_composition_table): Don't define if
1295         external-DB feature is supported.
1296         (Qcomposition): New variable.
1297         (Fget_composite_char): New implementation for external-DB support.
1298         (Fput_char_attribute): Use `composition' property of each
1299         character instead of `Vcharacter_composition_table' to store
1300         character-composition rules if external-DB feature is supported.
1301         (syms_of_chartab): Add new symbol `composition'.
1302         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1303         external-DB feature is supported.
1304
1305 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1306
1307         * chartab.c (Vchar_db_stingy_mode): New variable.
1308         (load_char_attribute_maybe): Close database if
1309         Vchar_db_stingy_mode is not NIL.
1310         (Fload_char_attribute_table_map_function): Use
1311         `get_char_id_table_0' instead of `get_char_id_table'.
1312         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1313
1314         * chartab.h (get_char_id_table_0): New inline function.
1315         (get_char_id_table): Use `get_char_id_table_0'.
1316
1317 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1318
1319         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1320         and `COMPOSE_ADD_CHAR'.
1321         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1322
1323 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1324
1325         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1326         instead of `DECODE_ADD_UCS_CHAR'.
1327         (COMPOSE_ADD_CHAR): Likewise.
1328
1329 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1330
1331         * text-coding.c (decode_flush_er_chars): New inline function.
1332         (decode_add_er_char): New function.
1333         (decode_coding_utf8): Use `decode_flush_er_chars' and
1334         `decode_add_er_char'.
1335
1336 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1337
1338         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1339         done before `decode_output_utf8_partial_char'.
1340
1341         * mule-charset.c (complex_vars_of_mule_charset): Specify
1342         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1343         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1344
1345 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1346
1347         * mule-charset.c (decode_defined_char): New function; search
1348         mother.
1349         (decode_builtin_char): Don't search mother if
1350         XCHARSET_MAX_CODE(charset) == 0.
1351         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1352         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1353         (Fdecode_char): Use `decode_defined_char' instead of
1354         `DECODE_DEFINED_CHAR'.
1355         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1356         mother of `Vcharset_ucs_jis'.
1357
1358         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1359         instead of `DECODE_DEFINED_CHAR'.
1360
1361         * char-ucs.h (decode_defined_char): Renamed from
1362         `DECODE_DEFINED_CHAR'; changed to normal function.
1363         (DECODE_CHAR): Use `decode_defined_char' instead of
1364         `DECODE_DEFINED_CHAR'.
1365
1366         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1367
1368 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1369
1370         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1371
1372         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1373         variable.
1374         (Quse_entity_reference): New variable.
1375         (Qd): New variable.
1376         (Qx): New variable.
1377         (QX): New variable.
1378         (coding_system_description): Add description for
1379         `ccs_priority_list'.
1380         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1381         (allocate_coding_system): Initialize `ccs_priority_list' in
1382         UTF-2000.
1383         (Fmake_coding_system): Add description about
1384         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1385         (codesys).
1386         (Fcoding_system_property): Accept `disable-composition' and
1387         `use-entity-reference' in UTF-2000.
1388         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1389         in UTF-2000.
1390         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1391         (decode_coding_utf8): Decode entity-reference if
1392         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1393         (char_encode_utf8): Encode non-Unicode characters as
1394         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1395         (str->codesys).
1396         (syms_of_file_coding): Add new symbols `use-entity-reference',
1397         `d', `x', `X'.
1398         (vars_of_file_coding): Add new variable
1399         `coded-charset-entity-reference-alist'.
1400         (complex_vars_of_file_coding): Declare `disable-composition' and
1401         `use-entity-reference' to be coding-system-properties in UTF-2000.
1402
1403         * file-coding.h (struct Lisp_Coding_System): Add new member
1404         `use_entity_reference' and `ccs_priority_list'.
1405         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1406         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1407         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1408
1409 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1410
1411         * chartab.c (save_uint8_byte_table): Don't clear the table.
1412         (save_uint16_byte_table): Likewise.
1413         (save_byte_table): Likewise.
1414         (Fmount_char_attribute_table): New function.
1415         (syms_of_chartab): Add new builtin function
1416         `mount-char-attribute-table'.
1417
1418 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1419
1420         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1421         "w+" mode.
1422         (load_char_decoding_entry_maybe): Open database as read-only mode.
1423
1424         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1425         open database as "w+" mode.
1426         (load_char_attribute_maybe): Open database as read-only mode.
1427         (Fload_char_attribute_table): Likewise.
1428
1429 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1430
1431         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1432         (char_table_description): Delete member `db_file'.
1433         (Fmake_char_table): Don't refer `ct->db_file'.
1434         (Fcopy_char_table): Likewise.
1435         (Fsave_char_attribute_table): Likewise.
1436         (Fclose_char_attribute_table): Likewise.
1437         (Freset_char_attribute_table): Likewise.
1438         (load_char_attribute_maybe): Likewise.
1439         (Fload_char_attribute_table): Likewise.
1440
1441         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1442
1443 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1444
1445         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1446         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1447         `ct->db' is living.
1448         (load_char_attribute_maybe): Likewise.
1449         (Fload_char_attribute_table): Likewise.
1450
1451 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1452
1453         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1454         `ct->db_file' unconditionally.
1455
1456 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1457
1458         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1459         UTF-2000.
1460         (char_table_description): Add description for `db_file' and `db'
1461         in UTF-2000.
1462         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1463         UTF-2000.
1464         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1465         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1466         (Fclose_char_attribute_table): New function.
1467         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1468         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1469         and `cit->db'.
1470         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1471         (syms_of_chartab): Add new builtin function
1472         `Fclose_char_attribute_table'.
1473
1474 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1475
1476         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1477         `db' in UTF-2000.
1478         (load_char_attribute_maybe): Change interface.
1479         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1480
1481 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1482
1483         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1484
1485 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1486
1487         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1488         instead of `DECODE_CHAR' for mother; don't use special code for
1489         chinese-big5 to use code space of chinese-big5-1 and
1490         chinese-big5-2.
1491         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1492         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1493
1494         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1495         (MAX_CHAR_BIG5_CDP): Revival.
1496
1497 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1498
1499         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1500         the XLFD registry-encoding name of `chinese-big5'.
1501
1502 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1503
1504         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1505         (Qchinese_big5_cdp): Deleted.
1506         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1507         (complex_vars_of_mule_charset): Delete coded-charset
1508         `chinese-big5-cdp'.
1509
1510         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1511         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1512         `CHARSET_ID_OFFSET - n' for private CCS.
1513         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1514         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1515         of `MIN_LEADING_BYTE'.
1516         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1517         `(CHARSET_ID_OFFSET - 97)'.
1518         (MIN_CHAR_BIG5_CDP): Deleted.
1519         (MAX_CHAR_BIG5_CDP): Deleted.
1520
1521 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1522
1523         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1524
1525 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1526
1527         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1528         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1529         chartab.c].
1530
1531         * chartab.c (Vutf_2000_version): Moved to mule.c.
1532         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1533
1534 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1535
1536         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1537         when HAVE_CHISE_CLIENT is not defined.
1538
1539         * mule.c (vars_of_mule): Provide feature `chise' when
1540         HAVE_CHISE_CLIENT is defined.
1541
1542 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1543
1544         * config.h.in (UTF2000): Add comment.
1545         (HAVE_CHISE_CLIENT): New macro.
1546
1547 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1548
1549         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1550         CONSP.
1551         (Fput_char_attribute): Likewise.
1552         (char_attribute_system_db_file): Encode file-name of attribute.
1553         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
1554         the initial value.
1555
1556 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1557
1558         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
1559         (Fsave_charset_mapping_table): Use
1560         `char_attribute_system_db_file'.
1561         (load_char_decoding_entry_maybe): Likewise.
1562
1563         * chartab.h (Qsystem_char_id): New external variable.
1564         (char_attribute_system_db_file): New prototype.
1565
1566         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
1567         (char_attribute_system_db_file): New function.
1568         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
1569         (Freset_char_attribute_table): Likewise.
1570         (load_char_attribute_maybe): Likewise.
1571         (Fload_char_attribute_table): Likewise.
1572         (syms_of_chartab): Add new symbol `system-char-id'.
1573
1574 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1575
1576         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
1577         `XCHARSET_GRAPHIC(ccs)'.
1578
1579 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1580
1581         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
1582
1583 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1584
1585         * chartab.c (Q_ucs_variants): New variable.
1586         (syms_of_chartab): Add new symbol `->ucs-variants'.
1587         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
1588         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
1589         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
1590
1591         * mule-charset.c (load_char_decoding_entry_maybe): New function.
1592
1593         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
1594         `HAVE_DATABASE' is defined.
1595         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
1596         `HAVE_DATABASE' is defined.
1597
1598 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1599
1600         * chartab.c (Fsave_char_attribute_table): Don't clear internal
1601         attribute-table.
1602         (Freset_char_attribute_table): New function.
1603         (syms_of_chartab): Add new builtin function
1604         `reset-char-attribute-table'.
1605
1606 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1607
1608         * chartab.c (load_char_attribute_maybe): Don't make directories.
1609
1610 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1611
1612         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
1613
1614         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
1615         for decoding-table.
1616
1617 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1618
1619         * mule-charset.c (Fsave_charset_mapping_table): Use
1620         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
1621
1622         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
1623         instead of `XCHARSET_CHARS'.
1624
1625 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1626
1627         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
1628         (XCHARSET_BYTE_SIZE): Likewise.
1629
1630         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
1631         mule-charset.c].
1632         (XCHARSET_BYTE_SIZE): Likewise.
1633
1634 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1635
1636         * chartab.c (Fput_char_attribute): Use exec-directory instead of
1637         data-directory to store database.
1638         (Fsave_char_attribute_table): Likewise.
1639         (load_char_attribute_maybe): Likewise.
1640         (Fload_char_attribute_table): Likewise.
1641
1642 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1643
1644         * mule-charset.c (Fsave_charset_mapping_table): New function.
1645         (syms_of_mule_charset): Add new builtin function
1646         `save-charset-mapping-table'.
1647
1648 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1649
1650         * char-ucs.h (decoding_table_check_elements): Delete prototype.
1651         (get_ccs_octet_table): New inline function.
1652         (put_ccs_octet_table): Likewise.
1653         (decoding_table_put_char): Use `get_ccs_octet_table' and
1654         `put_ccs_octet_table'.
1655         (decoding_table_remove_char): Use `decoding_table_put_char'.
1656         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
1657
1658         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
1659         into encoding_table.
1660         (make_charset): Use Qunbound instead Qnil as initial value of
1661         decoding_table.
1662
1663 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1664
1665         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
1666         element is Qunloaded.
1667         (map_over_uint16_byte_table): Likewise.
1668         (map_over_byte_table): Likewise.
1669         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
1670         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
1671         database support, load encoding-table of the specified
1672         coded-charset if it is not loaded yet.
1673         (save_uint8_byte_table): New function of UTF-2000 with external
1674         database support.
1675         (save_uint16_byte_table): Likewise.
1676         (save_byte_table): Likewise.
1677         (Fput_char_attribute): Don't store value into external database
1678         even if the external database feature is supported in UTF-2000;
1679         set `attribute' as name of char-table if the external database
1680         feature is supported.
1681         (Fsave_char_attribute_table): New function in UTF-2000.
1682         (syms_of_chartab): Add new builtin function
1683         `save-char-attribute-table' in UTF-2000.
1684
1685 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1686
1687         * chartab.c (char_attribute_table_to_put): New variable in
1688         UTF-2000.
1689         (Qput_char_table_map_function): Likewise.
1690         (value_to_put): Likewise.
1691         (Fput_char_table_map_function): New function in UTF-2000.
1692         (put_char_table): Use `Fmap_char_attribute' for
1693         CHARTAB_RANGE_CHARSET in UTF-2000.
1694         (Fput_char_attribute): Store symbol instead of string in
1695         `XCHAR_TABLE_NAME (table)'.
1696         (load_char_attribute_maybe): Likewise.
1697         (syms_of_chartab): Add new symbol/function
1698         `put-char-table-map-function'.
1699
1700 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1701
1702         * database.h: Add new EXFUN for `Fmap_database'.
1703
1704         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
1705         (syms_of_database): Likewise.
1706
1707         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
1708         UTF-2000.
1709         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
1710         (XCHAR_TABLE_UNLOADED): Likewise.
1711
1712         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
1713         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
1714         HAVE_DATABASE is defined.
1715         (char_attribute_table_to_load): New variable of UTF-2000 with
1716         external database support.
1717         (Qload_char_attribute_table_map_function): Likewise.
1718         (Fload_char_attribute_table_map_function): New function of
1719         UTF-2000 with external database support.
1720         (Fload_char_attribute_table): New function of UTF-2000.
1721         (Fmap_char_attribute): Call Fload_char_attribute_table if
1722         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
1723         (syms_of_chartab): Add new symbol and function
1724         `load-char-attribute-table-map-function' in UTF-2000 with external
1725         database support; add new function `load-char-attribute-table' in
1726         UTF-2000.
1727
1728 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1729
1730         * chartab.h (load_char_attribute_maybe): New prototype for
1731         UTF-2000 with DATABASE support.
1732         (get_char_id_table): Use `load_char_attribute_maybe' if
1733         HAVE_DATABASE is defined.
1734
1735         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
1736         with DATABASE support.
1737
1738 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1739
1740         * chartab.c (Fput_char_attribute): Use S-expression as key of
1741         external database.
1742
1743         * chartab.h (get_char_id_table): Use S-expression as key of
1744         external database.
1745
1746 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1747
1748         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
1749         if an element is not loaded, load the corresponding attributes
1750         from an external database.
1751         (map_over_uint16_byte_table): Likewise.
1752         (map_over_byte_table): Likewise.
1753         (map_char_table): Modify for `map_over_uint8_byte_table',
1754         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
1755         element is not loaded, load the corresponding attributes from an
1756         external database.
1757         (Fput_char_attribute): Change initial values to Qunloaded.
1758
1759         * chartab.h (get_char_id_table): If a character attribute is not
1760         loaded and the attribute value is not found in an external
1761         database, store Qunbound as the attribute value.
1762
1763 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1764
1765         * chartab.c (BT_UINT8_unloaded): New macro.
1766         (UINT8_VALUE_P): Accept Qunloaded.
1767         (UINT8_ENCODE): Likewise.
1768         (UINT8_DECODE): Likewise.
1769         (BT_UINT16_unloaded): New macro.
1770         (UINT16_VALUE_P): Accept Qunloaded.
1771         (UINT16_ENCODE): Likewise.
1772         (UINT16_DECODE): Likewise.
1773         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
1774         BT_UINT16_unloaded.
1775         (mark_char_table): Mark `ct->name' in UTF-2000.
1776         (char_table_description): Add `name' in UTF-2000.
1777         (Fmake_char_table): Initialize `ct->name'.
1778         (Fcopy_char_table): Copy `ct->name'.
1779         (Fput_char_attribute): Store value into an external database if
1780         HAVE_DATABASE is defined.
1781
1782         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
1783         UTF-2000.
1784         (CHAR_TABLE_NAME): New macro in UTF-2000.
1785         (XCHAR_TABLE_NAME): New macro in UTF-2000.
1786         (get_char_id_table): Try to read an external database if Qunloaded
1787         is stored in a table.
1788
1789         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
1790         Qunloaded.
1791
1792 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1793
1794         * database.h: Add EXFUN definitions for Fopen_database,
1795         Fput_database, Fget_database and Fclose_database.
1796
1797         * data.c (Qunloaded): New variable in UTF-2000.
1798
1799         * lisp.h (Qunloaded): New variable in UTF-2000.
1800
1801 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1802
1803         * mule-charset.c (put_char_ccs_code_point): Modify for
1804         `decoding_table_remove_char' and `decoding_table_put_char'.
1805         (remove_char_ccs): Modify for `decoding_table_remove_char'.
1806
1807         * char-ucs.h (decoding_table_remove_char): Change arguments to
1808         hide decoding_table vector.
1809         (decoding_table_put_char): Likewise.
1810
1811 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1812
1813         * mule-charset.c (decoding_table_remove_char): Moved to
1814         char-ucs.h.
1815         (decoding_table_put_char): Likewise.
1816
1817         * char-ucs.h (decoding_table_check_elements): New prototype [moved
1818         from mule-charset.c].
1819         (decoding_table_remove_char): New inline function [moved from
1820         mule-charset.c].
1821         (decoding_table_put_char): Likewise.
1822
1823 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1824
1825         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
1826         extension.
1827
1828 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1829
1830         * mule-charset.c (decode_builtin_char): Support mother charsets.
1831
1832 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1833
1834         * mule-charset.c (Q94x94x60): New variable.
1835         (charset_code_point): Support conversion `94x94x60'.
1836         (Fmake_charset): Likewise.
1837         (syms_of_mule_charset): Add new symbol `94x94x60'.
1838
1839         * char-ucs.h (CONVERSION_94x94x60): New macro.
1840
1841 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1842
1843         * mule-charset.c (charset_code_point): Unify code about
1844         `code-offset'.
1845
1846 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1847
1848         * mule-charset.c (charset_code_point): Merge code about builtin
1849         characters into code about mother charsets; don't use
1850         `range_charset_code_point'.
1851         (range_charset_code_point): Deleted.
1852
1853 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1854
1855         * mule-charset.c (Qcode_offset): New variable.
1856         (Fmake_charset): Use `XUINT' to get value of `min-code' and
1857         `max-code'; accept new property `code-offset'.
1858         (syms_of_mule_charset): Add new symbol `code-offset'.
1859
1860 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1861
1862         * mule-charset.c (range_charset_code_point): Fixed.
1863
1864 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1865
1866         * mule-charset.c (decode_builtin_char): Change semantics of
1867         code-offset of coded-charset.
1868         (charset_code_point): Likewise.
1869         (range_charset_code_point): Likewise.
1870         (complex_vars_of_mule_charset): Modify for the change.
1871
1872 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1873
1874         * mule-charset.c (Fencode_char): Reverse arguments.
1875
1876         * mule-charset.c (charset_code_point): Fixed.
1877
1878 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1879
1880         * mule-charset.c (Vcharset_mojikyo): Deleted.
1881         (Vcharset_mojikyo_2022_1): Deleted.
1882         (Vcharset_mojikyo_pj_{1..21}): Deleted.
1883         (Qmin_code): New variable in UTF-2000.
1884         (Qmax_code): Likewise.
1885         (Qmother): Likewise.
1886         (Qconversion): Likewise.
1887         (Q94x60): Likewise.
1888         (Qmojikyo): Deleted.
1889         (Qmojikyo_2022_1): Deleted.
1890         (Qmojikyo_pj_{1..22}): Deleted.
1891         (mark_charset): Mark `cs->mother'.
1892         (charset_description): Add description for `mother'.
1893         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
1894         new arguments `mother' and `conversion'; use
1895         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
1896         (charset_code_point): Moved from char-ucs.h; support `mother'
1897         charset feature.
1898         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
1899         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
1900         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
1901         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
1902         allow 2 as the value of `graphic' in UTF-2000; add new properties
1903         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
1904         require `final' in UTF-2000; modify for `make_charset'.
1905         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
1906         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
1907         (Fcharset_property): Support `mother', `min-code' and `max-code'.
1908         (Fencode_char): New function.
1909         (syms_of_mule_charset): Add new builtin function `encode-char' in
1910         UTF-2000; add new symbols `min-code', `max-code', `mother',
1911         `conversion' and `94x60'; delete symbols `mojikyo',
1912         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
1913         (complex_vars_of_mule_charset): Modify for `make_charset' change;
1914         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
1915         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
1916
1917         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
1918         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
1919
1920         * char-ucs.h (Vcharset_mojikyo): Deleted.
1921         (Vcharset_mojikyo_2022_1): Deleted.
1922         (LEADING_BYTE_MOJIKYO): Deleted.
1923         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
1924         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
1925         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
1926         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
1927         add new member `mother'; add new member `conversion'.
1928         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
1929         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
1930         (CHARSET_MOTHER): New macro.
1931         (CHARSET_CONVERSION): New macro.
1932         (CONVERSION_IDENTICAL): New macro.
1933         (CONVERSION_94x60): New macro.
1934         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
1935         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
1936         (XCHARSET_MOTHER): New macro.
1937         (XCHARSET_CONVERSION): New macro.
1938         (MIN_CHAR_MOJIKYO): Deleted.
1939         (MAX_CHAR_MOJIKYO): Deleted.
1940         (DECODE_MOJIKYO_2022): Deleted.
1941         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
1942         (charset_code_point): Changed to non-inline function.
1943         (encode_char_1): Use `charset_code_point'.
1944         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
1945
1946 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1947
1948         * lread.c (read_compiled_function): Fix prototype.
1949         (read_vector): Likewise.
1950
1951 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1952
1953         * lrecord.h (struct lrecord_header): Delete `older'.
1954         (set_lheader_implementation): Delete code for `older'.
1955         (set_lheader_older_implementation): Deleted.
1956         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
1957         (OLDER_RECORD_P): Deleted.
1958         (OLDER_RECORD_HEADER_P): Deleted.
1959         (alloc_older_lcrecord): Deleted.
1960         (alloc_older_lcrecord_type): Deleted.
1961
1962         * alloc.c (all_older_lcrecords): Deleted.
1963         (alloc_older_lcrecord): Deleted.
1964         (disksave_object_finalization_1): Delete code for older objects.
1965         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
1966         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
1967
1968 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1969
1970         * mule-charset.c (decoding_table_put_char): Use `make_vector'
1971         instead of `make_older_vector'.
1972         (put_char_ccs_code_point): Likewise.
1973         (mark_charset): Mark `cs->decoding_table'.
1974         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
1975
1976         * lisp.h (make_older_vector): Deleted.
1977         (make_vector_newer): Deleted.
1978
1979         * config.h.in (HAVE_GGC): Deleted.
1980
1981         * alloc.c (make_older_vector): Deleted.
1982         (make_vector_newer_1): Deleted.
1983         (make_vector_newer): Deleted.
1984
1985 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1986
1987         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
1988         (Qideograph_daikanwa_2): New variable.
1989         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
1990         (complex_vars_of_mule_charset): Add new coded-charset
1991         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
1992         `LEADING_BYTE_DAIKANWA'.
1993
1994         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
1995         (LEADING_BYTE_DAIKANWA_1): New macro.
1996         (LEADING_BYTE_DAIKANWA_2): New macro.
1997         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
1998
1999 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2000
2001         * mule-charset.c (complex_vars_of_mule_charset): Change
2002         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2003         the second revised version.
2004
2005 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2006
2007         * mule-charset.c (Vcharset_ucs_smp): New variable.
2008         (Vcharset_ucs_sip): New variable.
2009         (Qucs_smp): New variable.
2010         (Qucs_sip): New variable.
2011         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2012         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2013         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2014         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2015         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2016         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2017
2018         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2019         (LEADING_BYTE_UCS_SIP): New macro.
2020         (MIN_CHAR_SMP): New macro.
2021         (MAX_CHAR_SMP): New macro.
2022         (MIN_CHAR_SIP): New macro.
2023         (MAX_CHAR_SIP): New macro.
2024
2025 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2026
2027         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2028         utf-2000.
2029
2030 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2031
2032         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2033         value; don't store value into `encoding_table' of `Lisp_Charset'.
2034         (mark_charset): `encoding_table' was deleted.
2035         (charset_description): Likewise.
2036         (make_charset): Likewise.
2037         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2038         `put_char_ccs_code_point'.
2039
2040         * chartab.h (Fput_char_attribute): New EXFUN.
2041
2042         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2043         is unified with normal symbol space.
2044         (Fget_char_attribute): Likewise.
2045         (Fput_char_attribute): Likewise; behavior of
2046         `put_char_ccs_code_point' is changed.
2047
2048         * char-ucs.h: Include "elhash.h".
2049         (Vchar_attribute_hash_table): New external variable.
2050         (struct Lisp_Charset): Delete `encoding_table'.
2051         (CHARSET_ENCODING_TABLE): New implementation; refer
2052         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2053         `Lisp_Charset'.
2054
2055 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2056
2057         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2058         (cs) == 0.
2059
2060 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2061
2062         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2063         `chinese-big5'.
2064
2065 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2066
2067         * chartab.c (uint8_byte_table_description): New constant.
2068         (uint8-byte-table): Use `uint8_byte_table_description'.
2069         (uint16_byte_table_description): New constant.
2070         (uint16-byte-table): Use `uint16_byte_table_description'.
2071
2072 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2073
2074         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2075         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2076
2077 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2078
2079         * mule-charset.c (Vcharset_ucs_ks): New variable.
2080         (Qucs_ks): New variable.
2081         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2082         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2083
2084         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2085
2086 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2087
2088         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2089         (Fdecode_char): Likewise.
2090
2091         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2092         chartab.h.
2093         (Fdefine_char): Modify for Fdecode_char.
2094         (Ffind_char): Likewise.
2095
2096         * mule-charset.c (Fdecode_char): Add new optional argument
2097         `defined-only'.
2098         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2099
2100 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2101
2102         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2103         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2104         (allocate_coding_system): Initialize initial-charsets of
2105         CODESYS_BIG5 in XEmacs UTF-2000.
2106         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2107         CODESYS_BIG5 in XEmacs UTF-2000.
2108         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2109         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2110
2111         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2112         variables.
2113         (Qideograph_hanziku_{1 .. 12}): Likewise.
2114         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2115         .. 12}'.
2116         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2117         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2118         `ideograph-hanziku-{1 .. 12}'.
2119
2120         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2121         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2122         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2123         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2124         (DECODE_DEFINED_CHAR): New inline function.
2125         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2126
2127 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2128
2129         * mule-charset.c (Vcharset_china3_jef): Renamed from
2130         `Vcharset_japanese_jef_china3'.
2131         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2132         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2133         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2134         (syms_of_mule_charset): Rename `china3-jef' from
2135         `japanese-jef-china3'.
2136         (complex_vars_of_mule_charset): Likewise; rename
2137         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2138
2139         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2140         `LEADING_BYTE_JEF_CHINA3'.
2141         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2142         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2143
2144 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2145
2146         * mule-charset.c (encode_builtin_char_1): Comment out special code
2147         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2148
2149         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2150         (MAX_CHAR_MOJIKYO_0): Comment out.
2151         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2152         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2153         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2154         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2155
2156 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2157
2158         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2159         (Qideograph_cbeta): New variable.
2160         (encode_builtin_char_1): Comment out special code for
2161         coded-charset `mojikyo' and `japanese-jef-china3'.
2162         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2163         (complex_vars_of_mule_charset): Add new coded-charset
2164         `ideograph-cbeta'.
2165
2166         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2167         (MIN_CHAR_CBETA): New macro.
2168         (MAX_CHAR_CBETA): New macro.
2169
2170 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2171
2172         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2173         (LEADING_BYTE_JEF_CHINA3): New macro.
2174         (MIN_CHAR_JEF_CHINA3): New macro.
2175         (MAX_CHAR_JEF_CHINA3): Likewise.
2176         (DECODE_CHAR): Fixed.
2177
2178 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2179
2180         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2181         (Qjapanese_jef_china3): New variable.
2182         (encode_builtin_char_1): Support `japanese-jef-china3'.
2183         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2184         (complex_vars_of_mule_charset): Add new coded-charset
2185         `japanese-jef-china3'.
2186
2187 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2188
2189         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2190         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2191         94^4, 96^3, 96^4, 128^n and 256^n set.
2192         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2193         (map_char_table): Likewise.
2194
2195 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2196
2197         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2198         UTF-2000.
2199
2200 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2201
2202         * chartab.h (get_char_id_table): New inline function.
2203
2204         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2205         function.
2206
2207 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2208
2209         * chartab.h (decode_char_table_range): New prototype in XEmacs
2210         UTF-2000.
2211         (put_char_id_table): New inline function in XEmacs UTF-2000.
2212
2213         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2214         function.
2215         (decode_char_table_range): Delete static declaration in XEmacs
2216         UTF-2000.
2217
2218 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2219
2220         * chartab.c (put_char_id_table): Use `put_char_table'.
2221
2222 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2223
2224         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2225         (map_over_uint16_byte_table): Likewise.
2226         (map_over_byte_table): Likewise.
2227         (map_char_table): Modify for `map_over_uint8_byte_table',
2228         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2229         UTF-2000.
2230
2231 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2232
2233         * chartab.c (struct map_char_table_for_charset_arg): New
2234         structure.
2235         (map_char_table_for_charset_fun): New function.
2236         (map_char_table): Use `map_char_table' for encoding_table of
2237         `range->charset'.
2238
2239 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2240
2241         * chartab.c (map_char_table): Check a character is found in
2242         range->charset instead of non default value is defined in
2243         char-table when range is CHARTAB_RANGE_ROW.
2244
2245 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2246
2247         * chartab.c (map_char_id_table): Deleted.
2248         (Fmap_char_attribute): Use `map_char_table' instead of
2249         `map_char_id_table'.
2250
2251 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2252
2253         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2254         UTF-2000.
2255         (update_syntax_table): Deleted in XEmacs UTF-2000.
2256
2257         * syntax.c (find_defun_start): Use `syntax_table' instead of
2258         `mirror_syntax_table' in XEmacs UTF-2000.
2259         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2260         UTF-2000.
2261         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2262         XEmacs UTF-2000.
2263         (Fmatching_paren): Likewise.
2264         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2265         in XEmacs UTF-2000.
2266         (find_start_of_comment): Likewise.
2267         (find_end_of_comment): Likewise.
2268         (Fforward_comment): Likewise.
2269         (scan_lists): Likewise.
2270         (char_quoted): Likewise.
2271         (Fbackward_prefix_chars): Likewise.
2272         (scan_sexps_forward): Likewise.
2273         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2274         (update_syntax_table): Likewise.
2275
2276         * search.c (skip_chars): Use `syntax_table' instead of
2277         `mirror_syntax_table' in XEmacs UTF-2000.
2278         (wordify): Likewise.
2279         (Freplace_match): Likewise.
2280
2281         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2282         `mirror_syntax_table' in XEmacs UTF-2000.
2283         (WORDCHAR_P_UNSAFE): Likewise.
2284         (re_match_2_internal): Likewise.
2285
2286         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2287         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2288
2289         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2290         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2291
2292         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2293         XEmacs UTF-2000.
2294
2295         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2296         UTF-2000.
2297         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2298         (char_table_description): Delete `mirror_table' in XEmacs
2299         UTF-2000.
2300         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2301         UTF-2000.
2302         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2303         (Fcopy_char_table): Likewise.
2304         (put_char_table): Don't call `update_syntax_table' in XEmacs
2305         UTF-2000.
2306
2307         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2308         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2309         (casify_region_internal): Likewise.
2310
2311         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2312
2313         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2314         `mirror_syntax_table' in XEmacs UTF-2000.
2315
2316         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2317         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2318         (Fexpand_abbrev): Likewise.
2319
2320 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2321
2322         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2323
2324 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2325
2326         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2327         (map_over_uint16_byte_table): Likewise.
2328         (map_over_byte_table): Likewise.
2329         (get_char_id_table): Refer `cit->default_value'.
2330         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2331         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2332         of character-id ranges.
2333         (mark_char_table): Mark `ct->default_value'.
2334         (char_table_description): Add `default_value'.
2335         (fill_char_table): Use `default_value'.
2336         (decode_char_table_range): Decode `nil' as
2337         `CHARTAB_RANGE_DEFAULT'.
2338         (get_char_id_table): Refer `cit->default_value'.
2339         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2340         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2341         temporary hack; check value of char-table is bound or not.
2342         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2343
2344         * chartab.h (struct Lisp_Char_Table): Add new member
2345         `default_value' in XEmacs UTF-2000.
2346         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2347         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2348         UTF-2000.
2349
2350 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2351
2352         * chartab.h (Lisp_Char_ID_Table): Deleted.
2353
2354         * chartab.c (char_table_description): Fix typo.
2355         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2356         `Lisp_Char_ID_Table'.
2357
2358 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2359
2360         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2361         `CHAR_ID_TABLE_P'.
2362
2363         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2364         `CHAR_ID_TABLE_P'.
2365
2366         * chartab.h (XCHAR_ID_TABLE): Deleted.
2367         (XSETCHAR_ID_TABLE): Deleted.
2368         (CHAR_ID_TABLE_P): Deleted.
2369
2370         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2371         `CHAR_ID_TABLE_P'.
2372         (Fget_composite_char): Likewise.
2373         (put_char_table): Likewise.
2374         (add_char_attribute_alist_mapper): Fixed.
2375         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2376         `CHAR_ID_TABLE_P'.
2377         (Fget_char_attribute): Likewise.
2378         (Fget_char_attribute): Likewise.
2379         (Fmap_char_attribute): Likewise.
2380
2381         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2382         `CHAR_ID_TABLE_P'.
2383         (encode_char_1): Likewise.
2384
2385 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2386
2387         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2388         `XCHAR_ID_TABLE'.
2389
2390         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2391         instead of `XCHAR_ID_TABLE'.
2392         (remove_char_ccs): Likewise.
2393
2394         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2395         `XCHAR_ID_TABLE'.
2396         (Fget_composite_char): Likewise.
2397         (Fchar_variants): Likewise.
2398         (put_char_table): Likewise.
2399         (add_char_attribute_alist_mapper): Likewise.
2400         (Fchar_attribute_alist): Likewise.
2401         (Fget_char_attribute): Likewise.
2402         (Fput_char_attribute): Likewise.
2403         (Fmap_char_attribute): Likewise.
2404         (Fmap_char_attribute): Likewise.
2405
2406         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2407         `XCHAR_ID_TABLE'.
2408         (encode_char_1): Likewise.
2409
2410 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2411
2412         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2413         `Lisp_Char_ID_Table'.
2414         (mark_char_id_table): Deleted.
2415         (print_char_id_table): Likewise.
2416         (char_id_table_equal): Likewise.
2417         (char_id_table_hash): Likewise.
2418         (char_id_table_description): Likewise.
2419         (char_id_table): Likewise.
2420         (make_char_id_table): Use `Fmake_char_table' and
2421         `fill_char_table'.
2422         (get_char_id_table): Use `Lisp_Char_Table' instead of
2423         `Lisp_Char_ID_Table'.
2424         (put_char_id_table): Likewise.
2425         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2426         `XCHAR_ID_TABLE'.
2427         (Fremove_char_attribute): Likewise.
2428         (syms_of_chartab): Don't define type `char-id-table'.
2429
2430         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2431         (char_id_table): Likewise.
2432         (GC_CHAR_ID_TABLE_P): Likewise.
2433         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2434         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2435         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2436         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2437         (get_char_id_table): Use `Lisp_Char_Table' instead of
2438         `Lisp_Char_ID_Table'.
2439         (put_char_id_table_0): Likewise.
2440         (put_char_id_table): Likewise.
2441
2442 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2443
2444         * chartab.h: Lisp_Byte_Table related codes are moved from
2445         chartab.h.
2446
2447         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2448
2449 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2450
2451         * chartab.h: Don't include "chartab.h".
2452         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2453         (Lisp_Char_ID_Table): Likewise.
2454         (char_id_table): Likewise.
2455         (XCHAR_ID_TABLE): Likewise.
2456         (XSETCHAR_ID_TABLE): Likewise.
2457         (CHAR_ID_TABLE_P): Likewise.
2458         (GC_CHAR_ID_TABLE_P): Likewise.
2459         (get_char_id_table): Likewise.
2460
2461         * char-ucs.h: Include "chartab.h".
2462         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2463         (Lisp_Char_ID_Table): Likewise.
2464         (char_id_table): Likewise.
2465         (XCHAR_ID_TABLE): Likewise.
2466         (XSETCHAR_ID_TABLE): Likewise.
2467         (CHAR_ID_TABLE_P): Likewise.
2468         (GC_CHAR_ID_TABLE_P): Likewise.
2469         (get_char_id_table): Likewise.
2470
2471 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2472
2473         * chartab.c (copy_uint8_byte_table): New function.
2474         (copy_uint16_byte_table): New function.
2475         (copy_byte_table): New function.
2476         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2477         characters to call.
2478         (map_over_uint16_byte_table): Likewise.
2479         (map_over_byte_table): Likewise.
2480         (get_byte_table): Move prototype to chartab.h.
2481         (put_byte_table): Likewise.
2482         (put_char_id_table_0): Moved to chartab.h.
2483         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2484         (char_table_entry_equal): Likewise.
2485         (char_table_entry_hash): Likewise.
2486         (char_table_entry_description): Likewise.
2487         (char_table_entry): Likewise.
2488         (make_char_table_entry): Likewise.
2489         (copy_char_table_entry): Likewise.
2490         (get_non_ascii_char_table_value): Likewise.
2491         (map_over_charset_ascii): Likewise.
2492         (map_over_charset_control_1): Likewise.
2493         (map_over_charset_row): Likewise.
2494         (map_over_other_charset): Likewise.
2495         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2496         (print_char_table): Likewise.
2497         (char_table_equal): Likewise.
2498         (char_table_hash): Likewise.
2499         (char_table_description): Likewise.
2500         (fill_char_table): Likewise.
2501         (Fcopy_char_table): Likewise.
2502         (get_char_table): Likewise.
2503         (Fget_range_char_table): Likewise.
2504         (put_char_table): Likewise.
2505         (map_char_table): Likewise.
2506         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2507         UTF-2000.
2508
2509 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2510
2511         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2512         `Vauto_fill_chars' in XEmacs UTF-2000.
2513
2514         * chartab.h (get_byte_table): New prototype [moved from
2515         chartab.c].
2516         (put_byte_table): Likewise [moved from chartab.c].
2517         (put_char_id_table_0): New inline function [moved from chartab.c].
2518         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2519         (Lisp_Char_Table_Entry): Likewise.
2520         (char_table_entry): Likewise.
2521         (XCHAR_TABLE_ENTRY): Likewise.
2522         (XSETCHAR_TABLE_ENTRY): Likewise.
2523         (CHAR_TABLE_ENTRYP): Likewise.
2524         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2525         (NUM_ASCII_CHARS): Likewise.
2526         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2527         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2528
2529 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2530
2531         * chartab.c (get_char_id_table): Change interface.
2532         (put_char_id_table_0): New function.
2533         (put_char_id_table): Change interface; new implementation.
2534         (Fget_composite_char): Modify for interface change of
2535         `get_char_id_table'.
2536         (Fchar_variants): Likewise.
2537         (add_char_attribute_alist_mapper): Likewise.
2538         (Fchar_attribute_alist): Likewise.
2539         (Fget_char_attribute): Likewise.
2540         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2541         as same as character as the first argument like `put-char-table';
2542         modify for interface change of `put_char_id_table'.
2543         (Fremove_char_attribute): Modify for interface change of
2544         `put_char_id_table'.
2545
2546 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2547
2548         * text-coding.c: Sync up with XEmacs 21.2.41.
2549         (COMPOSE_ADD_CHAR): Modify for interface change of
2550         `get_char_id_table'.
2551
2552         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2553         change of `put_char_id_table'.
2554         (remove_char_ccs): Likewise.
2555
2556         * chartab.h (put_char_id_table): Change interface.
2557
2558         * char-ucs.h (get_char_id_table): Change interface.
2559         (charset_code_point): Modify for interface change of
2560         `get_char_id_table'.
2561         (encode_char_1): Likewise.
2562
2563 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2564
2565         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
2566         argument `ccs'.
2567         (map_over_uint16_byte_table): Likewise.
2568         (map_over_byte_table): Likewise.
2569         (map_char_id_table): Add new argument `range' like
2570         `map_char_table'.
2571         (Fmap_char_attribute): Add new argument `range' like
2572         `Fmap_char_table'.
2573
2574 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2575
2576         * chartab.c (map_over_uint8_byte_table): Change interface of
2577         mapping function to use struct chartab_range instead of Emchar.
2578         (map_over_uint16_byte_table): Likewise.
2579         (map_over_byte_table): Likewise.
2580         (map_char_id_table): Likewise.
2581         (struct slow_map_char_id_table_arg): Deleted.
2582         (slow_map_char_id_table_fun): Deleted.
2583         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
2584         function `slow_map_char_table_fun' instead of struct
2585         `slow_map_char_id_table_arg' and function
2586         `slow_map_char_id_table_fun'.
2587
2588 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2589
2590         * mule-charset.c: Move char-it-table related codes to chartab.c.
2591         (Vutf_2000_version): Moved to chartab.c.
2592         (Fdefine_char): Likewise.
2593         (Ffind_char): Likewise.
2594         (syms_of_mule_charset): Move types `uint8-byte-table',
2595         `uint16-byte-table', `byte-table' and `char-id-table' to
2596         chartab.c; move functions `char_attribute_list,
2597         `find_char_attribute_table, `char_attribute_alist,
2598         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
2599         `map_char_attribute, `define_char, `find_char, `char_variants and
2600         `get_composite_char to chartab.c; move symbols `=>ucs',
2601         `->decomposition', `compat', `isolated', `initial', `medial',
2602         `final', `vertical', `noBreak', `fraction', `super', `sub',
2603         `circle', `square', `wide', `narrow', `small' and `font' to
2604         chartab.c.
2605         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
2606         setting codes for `Vcharacter_composition_table' and
2607         `Vcharacter_variant_table' to chartab.c.
2608         (complex_vars_of_mule_charset): Move setting code for
2609         `Vchar_attribute_hash_table' to chartab.c.
2610
2611         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
2612         (make_char_id_table): New prototype.
2613         (put_char_id_table): Likewise.
2614         (Fget_char_attribute): Likewise.
2615
2616         * chartab.c: Move char-id-table related code from mule-charset.c.
2617         (Vutf_2000_version): Moved from mule-charset.c.
2618
2619         * char-ucs.h (Qucs): New external variable.
2620         (put_char_ccs_code_point): New prototype.
2621         (remove_char_ccs): Likewise.
2622
2623 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2624
2625         * mule-charset.c (Vcharset_ucs_jis): New variable.
2626         (Qucs_jis): Likewise.
2627         (syms_of_mule_charset): Add new symbol `ucs-jis'.
2628         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
2629
2630         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
2631
2632 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2633
2634         * mule-charset.c (map_over_uint8_byte_table): New function.
2635         (map_over_uint16_byte_table): Likewise.
2636         (map_over_byte_table): Likewise.
2637         (map_char_id_table): Likewise.
2638         (slow_map_char_id_table_fun): Likewise.
2639         (Fmap_char_attribute): Likewise.
2640         (syms_of_mule_charset): Add new function `map-char-attribute'.
2641
2642 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2643
2644         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
2645         (syms_of_mule_charset): Add new function `find-char'.
2646
2647 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2648
2649         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
2650         XEmacs UTF-2000.
2651         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
2652         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
2653         XEmacs UTF-2000.
2654         (complex_vars_of_mule_charset): Add new coded-charset
2655         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
2656         `ideograph-gt-pj-*'.
2657
2658         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
2659
2660 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2661
2662         * mule-charset.c (encode_builtin_char_1): Purge codes about
2663         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
2664         {MIN|MAX}_CHAR_HEBREW.
2665         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
2666         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
2667
2668         * char-ucs.h (MIN_CHAR_GREEK): Purged.
2669         (MAX_CHAR_GREEK): Purged.
2670         (MIN_CHAR_CYRILLIC): Purged.
2671         (MAX_CHAR_CYRILLIC): Purged.
2672         (MIN_CHAR_HEBREW): Commented out.
2673         (MAX_CHAR_HEBREW): Likewise.
2674
2675 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2676
2677         * mule-charset.c (Qto_ucs): New variable.
2678         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
2679         (Fdefine_char): Likewise.
2680         (syms_of_mule_charset): Add new symbol `=>ucs'.
2681
2682 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2683
2684         * mule-charset.c (Fdecode_char): Fixed.
2685
2686 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2687
2688         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
2689         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
2690         "tcvn5712-1".
2691
2692 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2693
2694         * mule-charset.c (Vcharset_ucs_big5): New variable.
2695         (Qucs_big5): Likewise.
2696         (syms_of_mule_charset): Add new symbol `ucs-big5'.
2697         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
2698
2699         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
2700
2701 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2702
2703         * mule-charset.c (decode_builtin_char): Check Big5 code range
2704         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
2705
2706 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2707
2708         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
2709         (Qchinese_gb12345): Likewise.
2710         (Fdecode_builtin_char): Fixed.
2711         (syms_of_mule_charset): Add `chinese-gb12345'.
2712         (complex_vars_of_mule_charset): Add coded-charset
2713         `chinese-gb12345'.
2714
2715         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
2716         (LEADING_BYTE_CHINESE_GB12345): New macro.
2717
2718 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2719
2720         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
2721         and `latin-viscii-upper' for `latin-viscii'.
2722
2723 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2724
2725         * mule-charset.c (Fdecode_builtin_char): Comment out
2726         regularization code for ISO-IR GR representation.
2727
2728 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2729
2730         * mule-charset.c (decode_builtin_char): New function; renamed from
2731         `make_builtin_char'; return -1 instead of signal.
2732         (Fdecode_builtin_char): Use `decode_builtin_char'.
2733
2734         * char-ucs.h (decode_builtin_char): New prototype; renamed from
2735         `make_builtin_char'.
2736         (DECODE_CHAR): Use `decode_builtin_char' instead of
2737         `make_builtin_char'; use mapping table of `chinese-big5' for
2738         `chinese-big5-{1,2}'.
2739
2740 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * text-coding.c (char_encode_big5): New function.
2743         (char_finish_big5): Likewise.
2744         (reset_encoding_stream): Use `char_encode_big5' and
2745         `char_finish_big5' for CODESYS_BIG5.
2746         (mule_encode): Don't use `encode_coding_big5'.
2747         (encode_coding_big5): Deleted.
2748
2749 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2750
2751         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
2752         0x81- in XEmacs UTF-2000.
2753         (detect_coding_big5): Likewise.
2754
2755 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * mule-charset.c (Fdefine_char): Don't use a CCS property to
2758         generate character-id if the CCS property does not have
2759         corresponding predefined character.
2760         (make_builtin_char): Return -1 if corresponding predefined
2761         character is not found.
2762         (Fdecode_char): Return nil if corresponding character is not
2763         found.
2764         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
2765         don't map to builtin ucs space.
2766
2767 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2768
2769         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
2770         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
2771
2772 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2773
2774         * mule-charset.c (Vcharset_ideograph_gt): New variable.
2775         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
2776         (Qideograph_gt): Likewise.
2777         (Qideograph_gt_pj_{1..11}): Likewise.
2778         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
2779         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
2780         `ideograph-gt-pj-11'.
2781         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
2782         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
2783         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
2784
2785         * char-ucs.h (LEADING_BYTE_GT): New macro.
2786         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
2787         (MIN_CHAR_GT): Likewise.
2788         (MAX_CHAR_GT): Likewise.
2789
2790 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2791
2792         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
2793         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
2794
2795         * doprnt.c (unsigned_int_converters): Add `c'.
2796         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
2797
2798         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
2799         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
2800         `MIN_CHAR_MOJIKYO'.
2801         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
2802         (MAX_CHAR_MOJIKYO_0): New macro.
2803         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
2804
2805 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2806
2807         * mule-charset.c (Fdefine_char): Delete cemented out code.
2808         (encode_builtin_char_1): Modify for new allocation of builtin
2809         Mojikyo characters.
2810
2811         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
2812
2813 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * mule-charset.c (Vcharset_ucs_cns): New variable.
2816         (Qucs_cns): New variable.
2817         (syms_of_mule_charset): Add new symbol `ucs-cns'.
2818         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
2819
2820 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2821
2822         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
2823
2824 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2825
2826         * search.c (search_buffer): Make `charset_base_code' as
2827         character-id >> 6 to eliminate the corresponding last byte in
2828         UTF-8 representation [I'm not sure it is right thing].
2829         (boyer_moore): Likewise.
2830
2831 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
2832
2833         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
2834         representation in MULE.
2835
2836 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2837
2838         * text-coding.c (Fmake_coding_system): Use
2839         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
2840         `EXTERNAL_PROPERTY_LIST_LOOP'.
2841
2842 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2843
2844         * text-coding.c (decode_output_utf8_partial_char): New function.
2845         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
2846
2847 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2848
2849         * text-coding.c (decode_coding_utf8): Output original byte
2850         sequence if it is broken; change order of conditions.
2851
2852         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
2853         of conditions.
2854
2855         * mb-multibyte.h (BYTE_ASCII_P):
2856         Use bit ops for char-signedness safety.
2857         (BYTE_C0_P): Use bit ops for char-signedness safety.
2858         (BYTE_C1_P): Use bit ops for char-signedness safety.
2859
2860         * character.h: (XCHAR_OR_CHAR_INT):
2861         Always use inline function.
2862         Remove redundant type checking assert() - XINT will abort quite
2863         nicely.
2864
2865 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2866
2867         * text-coding.c: (Fencode_shift_jis_char):
2868         (Fencode_big5_char):
2869         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
2870         Replace 0 with '\0' when working with bytes.
2871         Replace initial "(" with "\(" in docstrings.
2872
2873         (Fmake_coding_system):
2874         When type is ccl and value is vector, register it with a proper
2875         symbol.  And checks whether the given ccl program is valid.
2876         (mule_decode): When calling ccl_driver, if src indicates
2877         NULL pointer, set an empty string instead.
2878         (mule_encode): Likewise.
2879
2880         (detect_eol_type):
2881         (detect_coding_sjis):
2882         (decode_coding_sjis):
2883         (detect_coding_big5):
2884         (decode_coding_big5):
2885         (detect_coding_ucs4):
2886         (decode_coding_ucs4):
2887         (detect_coding_utf8):
2888         (decode_coding_utf8):
2889         (detect_coding_iso2022):
2890         (decode_coding_iso2022):
2891         (decode_coding_no_conversion):
2892         (mule_decode):
2893         Make all detecting and decoding functions take an Extbyte * arg.
2894         (text_encode_generic):
2895         (encode_coding_big5):
2896         (encode_coding_no_conversion):
2897         (mule_encode):
2898         Make all encoding functions take a Bufbyte * arg.
2899         Use size_t instead of unsigned int for memory sizes.
2900         Only cast to unsigned char whenever dereferencing Extbyte *.
2901
2902         (struct lrecord_description fcd_description_1): Use countof.
2903         (complex_vars_of_file_coding):
2904         Use countof instead of sizeof.
2905         Use CHECK_NATNUM instead of CHECK_INT.
2906
2907 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2908
2909         * mule-charset.c (Fget_char_attribute): Add new optional argument
2910         `default-value'.
2911         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
2912         (remove_char_ccs): Likewise.
2913
2914 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2915
2916         * text-coding.c (char_encode_shift_jis): New implementation in
2917         UTF-2000.
2918         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
2919         ...)'.
2920
2921         * mule-charset.c (Vcharset_chinese_big5): New variable in
2922         UTF-2000.
2923         (Qchinese_big5): New variable in UTF-2000.
2924         (BIG5_SAME_ROW): New macro in UTF-2000.
2925         (make_builtin_char): Use builtin characters of
2926         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
2927         characters of `Vcharset_chinese_big5'.
2928         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
2929         (complex_vars_of_mule_charset): Add new coded-charset
2930         `chinese-big5' in UTF-2000.
2931
2932         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
2933         (Vcharset_chinese_big5): New external variable declaration.
2934         (Vcharset_japanese_jisx0208_1990): Likewise.
2935
2936 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2937
2938         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
2939         function.
2940         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
2941
2942 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2943
2944         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
2945         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
2946         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
2947         `mojikyo-pj-*'.
2948
2949 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2950
2951         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
2952
2953 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2954
2955         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
2956         to 0.17.
2957
2958 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2959
2960         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
2961         for `CHARSET_BY_ATTRIBUTES'.
2962         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2963         `CHARSET_BY_ATTRIBUTES'.
2964
2965         * text-coding.c (struct decoding_stream): Rename member `CH' to
2966         `CPOS'.
2967         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
2968         (decode_coding_sjis): Likewise.
2969         (decode_coding_big5): Likewise.
2970         (decode_coding_ucs4): Likewise.
2971         (decode_coding_utf8): Likewise.
2972         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
2973         `CHARSET_BY_ATTRIBUTES'.
2974         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
2975         `str->counter'; decode 3, 4 bytes sets.
2976         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
2977         sets.
2978         (decode_coding_no_conversion): Use `str->cpos' instead of
2979         `str->ch'.
2980
2981         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
2982         (Qmojikyo_2022_1): New variable.
2983         (make_charset): Don't use `CHARSET_TYPE_*'.
2984         (range_charset_code_point): Support coded-charset
2985         `mojikyo-2022-1'.
2986         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
2987         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
2988         `CHARSET_BY_ATTRIBUTES'.
2989         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
2990         `CHARSET_BY_ATTRIBUTES'.
2991         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
2992         (complex_vars_of_mule_charset): Add new coded-charset
2993         `mojikyo-2022-1'.
2994
2995         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
2996         interface; changed to inline function.
2997
2998         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
2999         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3000         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3001         (CHARSET_TYPE_94): Deleted.
3002         (CHARSET_TYPE_94X94): Deleted.
3003         (CHARSET_TYPE_96): Deleted.
3004         (CHARSET_TYPE_96X96): Deleted.
3005         (CHARSET_TYPE_128): Deleted.
3006         (CHARSET_TYPE_128X128): Deleted.
3007         (CHARSET_TYPE_256): Deleted.
3008         (CHARSET_TYPE_256X256): Deleted.
3009         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3010         to inline function.
3011         (DECODE_MOJIKYO_2022): New inline function.
3012         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3013         `Vcharset_mojikyo_2022_1'.
3014
3015 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3016
3017         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3018         instead of `EQ'.
3019         (put_byte_table): Likewise.
3020         (char_id_table_equal): Use `get_byte_table' [new implementation].
3021
3022 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3023
3024         * mule-charset.c: Include <limits.h> in UTF-2000.
3025         (BT_UINT8_MIN): New macro in UTF-2000.
3026         (BT_UINT8_MAX): New macro in UTF-2000.
3027         (BT_UINT8_t): New macro in UTF-2000.
3028         (BT_UINT8_nil): New macro in UTF-2000.
3029         (BT_UINT8_unbound): New macro in UTF-2000.
3030         (INT_UINT8_P): New inline function in UTF-2000.
3031         (UINT8_VALUE_P): New inline function in UTF-2000.
3032         (UINT8_ENCODE): New inline function in UTF-2000.
3033         (UINT8_DECODE): New inline function in UTF-2000.
3034         (mark_uint8_byte_table): New function in UTF-2000.
3035         (print_uint8_byte_table): New function in UTF-2000.
3036         (uint8_byte_table_equal): New function in UTF-2000.
3037         (uint8_byte_table_hash): New function in UTF-2000.
3038         (make_uint8_byte_table): New function in UTF-2000.
3039         (uint8_byte_table_same_value_p): New function in UTF-2000.
3040         (BT_UINT16_MIN): New macro in UTF-2000.
3041         (BT_UINT16_MAX): New macro in UTF-2000.
3042         (BT_UINT16_t): New macro in UTF-2000.
3043         (BT_UINT16_nil): New macro in UTF-2000.
3044         (BT_UINT16_unbound): New macro in UTF-2000.
3045         (INT_UINT16_P): New inline function in UTF-2000.
3046         (UINT16_VALUE_P): New inline function in UTF-2000.
3047         (UINT16_ENCODE): New inline function in UTF-2000.
3048         (UINT16_DECODE): New inline function in UTF-2000.
3049         (UINT8_TO_UINT16): New inline function in UTF-2000.
3050         (mark_uint16_byte_table): New function in UTF-2000.
3051         (print_uint16_byte_table): New function in UTF-2000.
3052         (uint16_byte_table_equal): New function in UTF-2000.
3053         (uint16_byte_table_hash): New function in UTF-2000.
3054         (make_uint16_byte_table): New function in UTF-2000.
3055         (uint16_byte_table_same_value_p): New function in UTF-2000.
3056         (print_byte_table): New function in UTF-2000.
3057         (byte-table): Use `print_byte_table' as printer.
3058         (make_byte_table): Delete second argument `older'.
3059         (byte_table_same_value_p): New function in UTF-2000.
3060         (copy_byte_table): Deleted.
3061         (get_byte_table): New function in UTF-2000.
3062         (put_byte_table): New function in UTF-2000.
3063         (print_char_id_table): New function in UTF-2000.
3064         (char-id-table): Use `print_char_id_table' as printer.
3065         (make_char_id_table): Delete second argument `older'.
3066         (get_char_id_table): Use `get_byte_table [new implementation].
3067         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3068         implementation].
3069         (Ffind_char_attribute_table): New function in UTF-2000.
3070         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3071         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3072         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3073         (syms_of_mule_charset): Add new function
3074         `find-char-attribute-table' in UTF-2000.
3075
3076         * lrecord.h (enum lrecord_type): Add
3077         `lrecord_type_uint16_byte_table' and
3078         `lrecord_type_uint8_byte_table'.
3079
3080         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3081         (Lisp_Uint8_Byte_Table): New type.
3082         (XUINT8_BYTE_TABLE): New macro.
3083         (XSETUINT8_BYTE_TABLE): New macro.
3084         (UINT8_BYTE_TABLE_P): New macro.
3085         (GC_UINT8_BYTE_TABLE_P): New macro.
3086         (struct Lisp_Uint16_Byte_Table): New structure.
3087         (Lisp_Uint16_Byte_Table): New type.
3088         (XUINT16_BYTE_TABLE): New macro.
3089         (XSETUINT16_BYTE_TABLE): New macro.
3090         (UINT16_BYTE_TABLE_P): New macro.
3091         (GC_UINT16_BYTE_TABLE_P): New macro.
3092
3093 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3094
3095         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3096         (Vcharacter_ideographic_strokes_table): Deleted.
3097         (Vcharacter_total_strokes_table): Deleted.
3098         (Vcharacter_morohashi_daikanwa_table): Deleted.
3099         (Vcharacter_decomposition_table): Deleted.
3100         (Qname): Deleted because it is duplicated.
3101         (Qideographic_radical): Deleted.
3102         (Qideographic_strokes): Deleted.
3103         (Qtotal_strokes): Deleted.
3104         (Qmorohashi_daikanwa): Deleted.
3105         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3106         `ideographic-radical', `ideographic-strokes', `total-strokes',
3107         `morohashi-daikanwa' and `->decomposition'.
3108         (Fget_char_attribute): Likewise.
3109         (Fput_char_attribute): Likewise; use `make-vector' instead of
3110         `make_older_vector' for `->decomposition' value.
3111         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3112         `ideograph-daikanwa'.
3113         (syms_of_mule_charset): Delete builtin symbols `name',
3114         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3115         `morohashi-daikanwa'.
3116         (vars_of_mule_charset): Don't setup
3117         `Vcharacter_ideographic_radical_table',
3118         `Vcharacter_ideographic_strokes_table',
3119         `Vcharacter_total_strokes_table',
3120         `Vcharacter_morohashi_daikanwa_table' and
3121         `Vcharacter_decomposition_table'.
3122
3123 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3124
3125         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3126         `make_older_vector', `make_vector_newer_1' and
3127         `make_vector_newer'.
3128
3129         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3130         `make_older_vector' and `make_vector_newer'.
3131
3132         * config.h.in (HAVE_GGC): New macro.
3133
3134 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3135
3136         * mule-charset.c (struct char_attribute_list_closure): New
3137         structure in UTF-2000.
3138         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3139         (Fchar_attribute_list): Likewise.
3140         (Fset_charset_mapping_table): Use `make_vector_newer'.
3141         (Fdecode_builtin_char): New function in UTF-2000.
3142         (syms_of_mule_charset): Add new function `char-attribute-list' and
3143         `decode-builtin-char' in UTF-2000.
3144
3145         * lisp.h (make_vector_newer): New prototype.
3146
3147         * alloc.c (make_vector_newer_1): New function.
3148         (make_vector_newer): New function.
3149
3150 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3151
3152         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3153         50100)'.
3154
3155 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3156
3157         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3158         (Vcharacter_attribute_table): Deleted.
3159         (Vcharacter_name_table): Deleted.
3160         (put_char_attribute): Deleted.
3161         (remove_char_attribute): Deleted.
3162         (struct char_attribute_alist_closure): New structure.
3163         (add_char_attribute_alist_mapper): New function.
3164         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3165         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3166         (Fget_char_attribute): Likewise.
3167         (Fput_char_attribute): Likewise.
3168         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3169         of `remove_char_attribute'.
3170         (Fdefine_char): Return character.
3171         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3172         and `Vcharacter_name_table'.
3173         (complex_vars_of_mule_charset): Likewise
3174         `Vchar_attribute_hash_table'.
3175
3176 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3177
3178         * character.h (CHARC_CHARSET): New macro.
3179         (CHARC_CHARSET_ID): New macro.
3180         (CHARC_CODE_POINT): New macro.
3181         (CHARC_COLUMNS): New macro.
3182         (CHARC_TO_CHAR): New inline function.
3183         (CHARC_EQ): New inline function.
3184         (CHARC_ASCII_EQ): New inline function.
3185         (CHARC_IS_SPACE): New inline function.
3186         (ASCII_TO_CHARC): New inline function.
3187
3188         * char-ucs.h (encode_char_2): Deleted.
3189         (ENCODE_CHAR): Use `encode_char_1' again.
3190         (breakup_char_1): Likewise.
3191         (CHAR_TO_CHARC): New inline function.
3192
3193         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3194
3195 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3196
3197         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3198         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3199         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3200         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3201         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3202         `CHARC_IS_SPACE'.
3203         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3204
3205         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3206         `CHARC_CODE_POINT'.
3207         (x_output_display_block): Use `CHARC_CHARSET' and
3208         `CHARC_ASCII_EQ'.
3209
3210         * redisplay-tty.c (tty_output_display_block): Use
3211         `CHARC_ASCII_EQ'.
3212         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3213
3214         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3215
3216         * insdel.c (find_charsets_in_charc_string): Use
3217         `CHARC_CHARSET_ID'.
3218         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3219         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3220         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3221         (convert_charc_string_into_malloced_string): Likewise.
3222
3223 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3224
3225         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3226         instead of <Emchar_dynarr *> for buf; use
3227         `convert_bufbyte_string_into_charc_dynarr' instead of
3228         `convert_bufbyte_string_into_emchar_dynarr'; use
3229         `find_charsets_in_charc_string' instead of
3230         `find_charsets_in_emchar_string'.
3231
3232         * redisplay.h:
3233         - Include "character.h".
3234         (struct rune): New member `cglyph'; delete member `chr'.
3235
3236         * redisplay.c (redisplay_text_width_charc_string): New function;
3237         delete `redisplay_text_width_emchar_string'.
3238         (rtw_charc_dynarr): New variable; renamed from
3239         `rtw_emchar_dynarr'.
3240         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3241         `rtw_emchar_dynarr'; use
3242         `convert_bufbyte_string_into_charc_dynarr' instead of
3243         `convert_bufbyte_string_into_emchar_dynarr'; use
3244         `redisplay_text_width_charc_string' instead of
3245         `redisplay_text_width_emchar_string'.
3246         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3247         instead of `rtw_emchar_dynarr'; use
3248         `convert_bufbyte_string_into_charc_dynarr' instead of
3249         `convert_bufbyte_string_into_emchar_dynarr'.
3250         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3251         `redisplay_text_width_charc_string' instead of
3252         `redisplay_text_width_emchar_string'.
3253         (create_text_block): Modify for <struct rune> change.
3254         (generate_formatted_string_db): Likewise.
3255         (create_string_text_block): Likewise.
3256         (pixel_to_glyph_translation): Likewise.
3257
3258         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3259         instead of <const Emchar *>.
3260         (x_text_width): Likewise.
3261         (x_output_display_block): Use <Charc_dynarr *> instead
3262         <Emchar_dynarr *>; modify for <structure rune> change.
3263         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3264         *>.
3265
3266         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3267         <const Emchar *>; use `charc_string_displayed_columns' instead of
3268         `emchar_string_displayed_columns'.
3269         (tty_output_display_block): Use <Charc_dynarr *> instead of
3270         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3271         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3272         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3273         `tty_output_emchar_dynarr_dynarr'.
3274         (tty_output_charc_dynarr): New function; delete
3275         `tty_output_charc_dynarr'.
3276
3277         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3278         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3279         <Emchar_dynarr *> for buf; use
3280         `convert_bufbyte_string_into_charc_dynarr' instead of
3281         `convert_bufbyte_string_into_emchar_dynarr'.
3282
3283         * frame.c (title_string_charc_dynarr): New variable; renamed from
3284         `title_string_emchar_dynarr'.
3285         (generate_title_string): Use `title_string_charc_dynarr' instead
3286         of `title_string_emchar_dynarr'; use
3287         `convert_charc_string_into_malloced_string' instead of
3288         `convert_emchar_string_into_malloced_string'.
3289         (init_frame): Use `title_string_charc_dynarr' instead of
3290         `title_string_emchar_dynarr'.
3291
3292         * console.h:
3293         - Include "character.h".
3294         (struct console_methods): Use <const Charc *> instead of <const
3295         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3296         <Emchar_dynarr *> in output_string_method.
3297
3298         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3299         <Emchar_dynarr *>.
3300
3301         * console-stream.c (stream_text_width): Use <const Charc *>
3302         instead of <const Emchar *>.
3303
3304         * character.h (Charc_dynarr): New type.
3305
3306         * char-ucs.h (structure Charc): New structure; define new type
3307         `Charc'.
3308
3309         * char-lb.h (DECODE_CHAR): New inline function.
3310         (encode_char_1): New inline function.
3311         (ENCODE_CHAR): New macro.
3312         (structure Charc): New structure; define new type `Charc'.
3313
3314         * char-1byte.h (Vcharset_control_1): New macro.
3315         (Vcharset_latin_iso8859_1): New macro.
3316         (DECODE_CHAR): New inline function.
3317         (encode_char_1): New inline function.
3318         (ENCODE_CHAR): New macro.
3319         (structure Charc): New structure; define new type `Charc'.
3320
3321         * insdel.c (find_charsets_in_charc_string): New function; delete
3322         `find_charsets_in_emchar_string'.
3323         (charc_string_displayed_columns): New function; delete
3324         `emchar_string_displayed_columns'.
3325         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3326         `convert_bufbyte_string_into_emchar_dynarr'.
3327         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3328         `convert_charc_string_into_bufbyte_dynarr'.
3329         (convert_charc_string_into_malloced_string): New function; delete
3330         `convert_charc_string_into_malloced_string'.
3331
3332         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3333         `find_charsets_in_emchar_string'.
3334         (charc_string_displayed_columns): New prototype; delete
3335         `emchar_string_displayed_columns'.
3336         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3337         `convert_charc_string_into_bufbyte_dynarr'.
3338         (convert_charc_string_into_malloced_string): New prototype; delete
3339         `convert_charc_string_into_malloced_string'.
3340
3341 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3342
3343         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3344
3345 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3346
3347         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3348
3349         * char-ucs.h: Use <short> for <Charset_ID>.
3350
3351         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3352         <Charset_ID>.
3353
3354 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3355
3356         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3357         to 0.16.
3358
3359 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3360
3361         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3362         variable.
3363         (Qmorohashi_daikanwa): New variable.
3364         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3365         for `morohashi-daikanwa' attribute.
3366         (Fget_char_attribute): Likewise.
3367         (Fput_char_attribute): Likewise.
3368         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3369         has the same value of `ideograph-daikanwa'.
3370         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3371         (vars_of_mule_charset): Setup
3372         `Vcharacter_morohashi_daikanwa_table'.
3373
3374 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3375
3376         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3377         attributes.
3378         (add_charset_to_list_mapper): Add `key' instead of
3379         `XCHARSET_NAME (value)' to return aliases.
3380
3381 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3382
3383         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3384         variable.
3385         (Vcharacter_ideographic_strokes_table): New variable.
3386         (Qideographic_radical): New variable.
3387         (Qideographic_strokes): New variable.
3388         (Fchar_attribute_alist): Use
3389         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3390         attribute; use `Vcharacter_ideographic_strokes_table' for
3391         `ideographic-strokes' attribute.
3392         (Fget_char_attribute): Likewise.
3393         (Fput_char_attribute): Likewise.
3394         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3395         `ideographic-strokes'.
3396         (vars_of_mule_charset): Setup
3397         `Vcharacter_ideographic_radical_table' and
3398         `Vcharacter_ideographic_strokes_table'.
3399
3400 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3401
3402         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3403         (Qtotal_strokes): New variable.
3404         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3405         `total-strokes' attribute.
3406         (Fget_char_attribute): Likewise.
3407         (Fput_char_attribute): Likewise.
3408         (syms_of_mule_charset): Add new symbol `total-strokes'.
3409         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3410
3411 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3412
3413         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3414         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3415         are found.
3416         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3417         `->decomposition' attribute.
3418         (Fput_char_attribute): Likewise.
3419         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3420
3421 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3422
3423         * mule-charset.c (decoding_table_check_elements): New function.
3424         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3425
3426 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3427
3428         * mule-charset.c (Fset_charset_mapping_table): Use
3429         `put_char_ccs_code_point'.
3430
3431 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3432
3433         * mule-charset.c (decoding_table_put_char): New inline function.
3434         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3435
3436 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3437
3438         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3439         (XCHARSET_BYTE_SIZE): New macro.
3440         (decoding_table_remove_char): New inline function.
3441         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3442         `decoding_table_remove_char'.
3443         (remove_char_ccs): Use `decoding_table_remove_char'.
3444         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3445
3446 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3447
3448         * mule-charset.c (Vcharacter_name_table): New variable.
3449         (Qname): New variable.
3450         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3451         attribute.
3452         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3453         `Vcharacter_name_table' for `name' attribute.
3454         (Fremove_char_attribute): Use function `remove_char_ccs'.
3455         (put_char_ccs_code_point): New function.
3456         (remove_char_ccs): New function.
3457         (syms_of_mule_charset): Add new symbol `name'.
3458         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3459
3460 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3461
3462         * mule-charset.c (make_byte_table): Add new argument `older'.
3463         (make_char_id_table): Likewise.
3464         (copy_char_id_table): Comment out because it is not used.
3465         (put_char_id_table): Modify for `make_byte_table'.
3466         (Fput_char_attribute): Make encoding_table as older object;
3467         inherit older bit of `Vcharacter_composition_table'.
3468         (mark_charset): Don't mark `cs->encoding_table'.
3469         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3470         normal object; make `Vcharacter_composition_table' as an older
3471         object; delete staticpro for `Vcharacter_composition_table'; make
3472         `Vcharacter_variant_table' as a normal object.
3473
3474         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3475         (mark_object): Don't check older object in UTF-2000.
3476
3477         * lrecord.h (struct lrecord_header): Add new member `older' in
3478         UTF-2000.
3479         (set_lheader_implementation): Setup `SLI_header->older' in
3480         UTF-2000.
3481         (set_lheader_older_implementation): New macro in UTF-2000.
3482         (OLDER_RECORD_P): New macro in UTF-2000.
3483         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3484         (alloc_older_lcrecord): New prototype in UTF-2000.
3485         (alloc_older_lcrecord_type): New macro in UTF-2000.
3486
3487 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3488
3489         * mule-charset.c (byte_table_description): Use
3490         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3491         (char_id_table_description): Delete bogus `, 1'.
3492         (Fget_char_attribute): Refer encoding_table of each coded-charset
3493         to get value of coded-charset attribute of a character.
3494         (Fput_char_attribute): Use `make_older_vector' instead of
3495         `make_vector'; use encoding_table of each coded-charset to store
3496         value of coded-charset attribute of a character.
3497         (Fremove_char_attribute): Use encoding_table of each coded-charset
3498         to store value of coded-charset attribute of a character.
3499         (mark_charset): Mark `cs->encoding_table'; don't mark
3500         `cs->decoding_table'.
3501         (charset_description): Add description of new member
3502         `encoding_table'.
3503         (make_charset): Initialize `encoding_table'.
3504
3505         * char-ucs.h (struct Lisp_Charset): Add new member
3506         `encoding_table'.
3507         (CHARSET_ENCODING_TABLE): New macro.
3508         (XCHARSET_ENCODING_TABLE): New macro.
3509         (charset_code_point): New implementation.
3510         (encode_char_1): Likewise.
3511
3512         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3513         (disksave_object_finalization_1): Call finalizers of
3514         `all_older_lcrecords' in UTF-2000.
3515         (make_older_vector): New function in UTF-2000.
3516         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3517         UTF-2000.
3518
3519         * lisp.h (make_older_vector): New prototype in UTF-2000.
3520
3521 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3522
3523         * lrecord.h (enum lrecord_type): Rename
3524         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3525
3526         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3527         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3528         `get_char_code_table'.
3529
3530         * mule-charset.c (mark_char_id_table): Renamed from
3531         `mark_char_code_table'.
3532         (char_id_table_equal): Renamed from `char_code_table_equal'.
3533         (char_id_table_hash): Renamed from `char_code_table_hash'.
3534         (make_char_id_table): Renamed from `make_char_code_table'.
3535         (copy_char_id_table): Renamed from `copy_char_code_table'.
3536         (get_char_id_table): Renamed from `get_char_code_table'.
3537         (put_char_id_table): Renamed from `put_char_code_table'.
3538         (to_char_id): Renamed from `to_char_code'.
3539
3540         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3541         `Lisp_Char_Code_Table'.
3542         (char_id_table): Renamed from `char_code_table'.
3543         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3544         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3545         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3546         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3547         (get_char_id_table): Renamed from `get_char_code_table'.
3548
3549 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3550
3551         * lrecord.h (enum lrecord_type): Rename
3552         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3553
3554         * mule-charset.c (mark_byte_table): Renamed from
3555         `mark_char_byte_table'.
3556         (byte_table_equal): Renamed from `char_byte_table_equal'.
3557         (byte_table_hash): Renamed from `byte_table_hash'.
3558         (make_byte_table): Renamed from `make_byte_table'.
3559         (copy_byte_table): Renamed from `copy_char_byte_table'.
3560
3561         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
3562         `Lisp_Char_Byte_Table'.
3563         (byte_table): Renamed from `char_byte_table'.
3564         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
3565         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
3566         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
3567         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
3568
3569 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3570
3571         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
3572         (dfc_convert_to_internal_format): Likewise.
3573         
3574         * text-coding.c (Fcoding_system_canonical_name_p): New function.
3575         * text-coding.c (Fcoding_system_alias_p): New function.
3576         * text-coding.c (Fcoding_system_aliasee): New function.
3577         * text-coding.c (append_suffix_to_symbol): New function.
3578         * text-coding.c (dangling_coding_system_alias_p): New function.
3579         * text-coding.c (Ffind_coding_system):
3580         * text-coding.c (Fcopy_coding_system):
3581         * text-coding.c (encode_coding_no_conversion):
3582         * text-coding.c (syms_of_file_coding):
3583         * text-coding.c (vars_of_file_coding):
3584         Rewrite coding system alias code.
3585         Allow nested aliases, like symbolic links.
3586         Allow redefinition of coding system aliases.
3587         Prevent existence of dangling coding system aliases.
3588         Eliminate convert_to_external_format.
3589         Eliminate convert_to_internal_format.
3590         
3591         * text-coding.c: Change enum eol_type to eol_type_t.
3592
3593 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3594
3595         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
3596         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3597
3598         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
3599         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
3600
3601 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3602
3603         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
3604         `ideograph-daikanwa'.
3605
3606         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
3607         (Vcharset_ucs_bmp): Likewise.
3608         (Vcharset_mojikyo): Add new extern variable definition.
3609         (Vcharset_latin_iso8859_2): Deleted because it is not used.
3610         (Vcharset_latin_iso8859_3): Likewise.
3611         (Vcharset_latin_iso8859_4): Likewise.
3612         (Vcharset_latin_iso8859_9): Likewise.
3613         (Vcharset_latin_viscii_lower): Likewise.
3614         (Vcharset_latin_viscii_upper): Likewise.
3615         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
3616         `mojikyo' code-point is used to decode.
3617         (encode_char_2): New function [to convert `mojikyo' code-point to
3618         Mojikyo font encoding].
3619         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
3620         (breakup_char_1): Likewise.
3621         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
3622
3623 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3624
3625         * text-coding.c (Fmake_coding_system): Add document about
3626         `disable-composition' property.
3627
3628 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3629
3630         * text-coding.c (Qdisable_composition): New variable; delete
3631         `Qcomposite'.
3632         (Fmake_coding_system): Add new property `disable-composite';
3633         delete property `composite'.
3634         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
3635         instead of `!CODING_SYSTEM_COMPOSITE'.
3636         (syms_of_file_coding): Add new symbol `disable-composition';
3637         delete symbol `composite'.
3638
3639         * file-coding.h (struct Lisp_Coding_System): Add
3640         `disable_composition'; delete `enable_composition'.
3641         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3642         `CODING_SYSTEM_COMPOSITE'.
3643         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
3644         `XCODING_SYSTEM_COMPOSITE'.
3645
3646 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3647
3648         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3649         to 0.15.
3650
3651 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3652
3653         * text-coding.c (Qcomposite): New variable.
3654         (Fmake_coding_system): Add new property `composite'.
3655         (struct decoding_stream): Add `combined_char_count',
3656         `combined_chars' and `combining_table' in UTF-2000.
3657         (COMPOSE_FLUSH_CHARS): New macro.
3658         (COMPOSE_ADD_CHAR): New macro.
3659         (reset_decoding_stream): Reset `str->combined_char_count' and
3660         `str->combining_table' in UTF-2000.
3661         (decode_coding_iso2022): Modify for character-decomposition.
3662         (syms_of_file_coding): Add new symbol `composite'.
3663
3664 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3665
3666         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
3667         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
3668         of `Vcharacter_composition_table' if `->decomposition' property
3669         has only 1 element.
3670         (Qlatin_tcvn5712): New variable.
3671         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
3672         (complex_vars_of_mule_charset): Add new coded-charset
3673         `latin-tcvn5712'.
3674
3675         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
3676
3677 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3678
3679         * file-coding.h (struct Lisp_Coding_System): Add
3680         `enable_composition'.
3681         (CODING_SYSTEM_COMPOSITE): New macro.
3682         (XCODING_SYSTEM_COMPOSITE): New macro.
3683
3684 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
3685
3686         * mule-canna.c (c2mu): Fix problem with UTF-2000.
3687
3688 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
3689
3690         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
3691         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
3692
3693 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
3694
3695         * mule-charset.c (Vcharset_mojikyo): New variable.
3696         (Fdefine_char): Don't use coded-charset which does not have
3697         non-builtin character range to allocate character-id.
3698         (Qmojikyo): New variable.
3699         (syms_of_mule_charset): Add new symbol `mojikyo'.
3700         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
3701
3702         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
3703         (LEADING_BYTE_MOJIKYO): New macro.
3704         (MIN_CHAR_MOJIKYO): New macro.
3705         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
3706         (MAX_CHAR_MOJIKYO): New macro.
3707
3708 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
3709
3710         * mule-charset.c (remove_char_attribute): Fixed.
3711
3712 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
3713
3714         * mule-charset.c (remove_char_attribute): New function.
3715         (Fremove_char_attribute): New function.
3716         (encode_builtin_char_1): Comment out builtin-support for
3717         greek-iso8859-7 and cyrillic-iso8859-5.
3718         (Fdecode_char): Check `code' is an integer.
3719         (syms_of_mule_charset): Add `remove-char-attribute'.
3720         (MIN_CHAR_GREEK): Deleted.
3721         (MAX_CHAR_GREEK): Likewise.
3722         (MIN_CHAR_CYRILLIC): Likewise.
3723         (MAX_CHAR_CYRILLIC): Likewise.
3724         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
3725         MAX_CHAR_GREEK for `greek-iso8859-7'.
3726
3727         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
3728         (MAX_CHAR_GREEK): Likewise.
3729         (MIN_CHAR_CYRILLIC): Likewise.
3730         (MAX_CHAR_CYRILLIC): Likewise.
3731
3732 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
3733
3734         * mule-charset.c (Fdefine_char): Fix problem when new code-point
3735         format is used without `ucs' property.
3736         (Fdecode_char): Fix problem with GR representation.
3737         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
3738         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
3739
3740 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
3741
3742         * mule-charset.c (make_builtin_char): New function.
3743         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
3744         (Fset_charset_mapping_table): Modify for new representation of
3745         code-point.
3746         (Fdecode_char): New function.
3747         (syms_of_mule_charset): Add new builtin function `decode-char' in
3748         UTF-2000.
3749
3750         * char-ucs.h (make_builtin_char): New prototype.
3751         (DECODE_CHAR): New inline function.
3752         (MAKE_CHAR): Use `DECODE_CHAR'.
3753
3754 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
3755
3756         * text-coding.c (parse_charset_conversion_specs): Use
3757         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
3758         `XCHARSET_TYPE'.
3759         (iso2022_designate): Likewise.
3760
3761         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
3762         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
3763
3764         * mule-charset.c (Vcharset_ucs): New variable.
3765         (print_charset): Change design; use `CHARSET_CHARS' and
3766         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
3767         (make_charset): Change signature to specify `chars' and
3768         `dimension' instead of `type'.
3769         (range_charset_code_point): Modify for 256^n-set.
3770         (encode_builtin_char_1): Encode as `ucs' in default.
3771         (Fmake_charset): Modify for `make_charset'.
3772         (Fmake_reverse_direction_charset): Likewise.
3773         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
3774         UTF-2000.
3775         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
3776         for `make_charset'.
3777
3778         * char-ucs.h (Vcharset_ucs): New variable.
3779         (LEADING_BYTE_UCS): New macro.
3780         (struct Lisp_Charset): Delete `type'; change type of `dimension'
3781         and `chars' to `unsigned short' from `unsigned int'.
3782         (CHARSET_TYPE): Deleted.
3783         (XCHARSET_TYPE): Deleted.
3784
3785 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
3786
3787         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
3788
3789         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
3790         (ENCODE_CHAR): New macro.
3791
3792 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3793
3794         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3795         to 0.14 (Kawachi-Katakami).
3796
3797 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
3798
3799         * text-coding.c (char_encode_shift_jis): Modify for
3800         `charset_code_point'.
3801         (char_encode_iso2022): Likewise.
3802
3803         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
3804         (integer) instead of list of <Lisp_Object>s (integers) as the
3805         format of code-point of a coded-charset.
3806         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3807         (encode_builtin_char_1): New function; delete
3808         `split_builtin_char'.
3809         (charset_code_point): Return <int> instead of <Lisp_Object>.
3810         (Fsplit_char): Don't use `SPLIT_CHAR'.
3811
3812         * char-ucs.h (encode_builtin_char_1): New prototype; delete
3813         prototype for `split_builtin_char'.
3814         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
3815         (charset_code_point): Likewise.
3816         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
3817         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
3818
3819 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
3820
3821         * mule-charset.c (complex_vars_of_mule_charset): Don't define
3822         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
3823
3824 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3825
3826         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
3827
3828         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
3829         (MAX_CHAR_OBS_94x94): Deleted.
3830
3831 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
3832
3833         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
3834
3835         * char-ucs.h (MAX_CHAR_BMP): New macro.
3836
3837 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
3838
3839         * text-coding.c: Sync with r21-2-24.
3840
3841 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
3842
3843         * file-coding.c: Modify for UTF-2000.
3844
3845 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3846
3847         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3848         to 0.13 (Takaida).
3849
3850 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
3851
3852         * mule-charset.c (split_builtin_char): Delete builtin support for
3853         `katakana-jisx0201'.
3854         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
3855         BMP area in builtin representation.
3856
3857         * char-ucs.h (MAKE_CHAR): Delete builtin support for
3858         `Vcharset_katakana_jisx0201'.
3859
3860 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
3861
3862         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
3863         (Qisolated): New variable.
3864         (Qinitial): New variable.
3865         (Qmedial): New variable.
3866         (Qfinal): New variable.
3867         (Qvertical): New variable.
3868         (Qsmall): New variable.
3869         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
3870         `Qvertical' and `Qsmall'.
3871         (Qmojikyo_pj_[1 .. 21]): New variable.
3872         (syms_of_mule_charset): Add new symbols `isolated', `initial',
3873         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
3874         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
3875         .. 21]'.
3876
3877 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
3878
3879         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
3880         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
3881         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
3882
3883 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
3884
3885         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
3886         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
3887         BMP.
3888         (Qjapanese_jisx0208_1990): New variable.
3889         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
3890         (complex_vars_of_mule_charset): Add new coded-charset
3891         `japanese-jisx0208-1990'.
3892
3893         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
3894         (MIN_CHAR_JIS_X0208_1990): New macro.
3895         (MAX_CHAR_JIS_X0208_1990): New macro.
3896
3897 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3898
3899         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
3900         coded-charset is not found.
3901
3902 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3903
3904         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
3905         (Fdefine_char): Use `Fmake_char'.
3906
3907 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3908
3909         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
3910         (Vcharset_hiragana_jisx0208): Deleted.
3911         (Vcharset_katakana_jisx0208): Deleted.
3912         (Qideograph_daikanwa): New variable.
3913         (Qhiragana_jisx0208): Deleted.
3914         (Qkatakana_jisx0208): Deleted.
3915         (split_builtin_char): Split `ideograph-daikanwa'.
3916         (Fsplit_char): New implementation for UTF-2000.
3917         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
3918         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
3919         (complex_vars_of_mule_charset): Add new coded-charset
3920         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
3921         `katakana-jisx0208'.
3922
3923         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
3924         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
3925         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
3926         (MIN_CHAR_DAIKANWA): New macro.
3927         (MAX_CHAR_DAIKANWA): New macro.
3928
3929 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3930
3931         * data.c (Fstring_to_number): Don't recognize floating point if
3932         base is not 10.
3933
3934 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3935
3936         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
3937
3938 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3939
3940         * mule-charset.c (Qsquare): New variable.
3941         (to_char_code): Add `Qsquare'.
3942         (syms_of_mule_charset): Add new symbol `square'.
3943
3944 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3945
3946         * mule-charset.c (Qcircle): New variable.
3947         (to_char_code): Add `Qcircle'.
3948         (syms_of_mule_charset): Add new symbol `circle'.
3949
3950 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3951
3952         * mule-charset.c (Qfont): New variable.
3953         (to_char_code): Add `Qfont'.
3954         (syms_of_mule_charset): Add new symbol `font'.
3955
3956 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3957
3958         * mule-charset.c (Qsub): New variable.
3959         (to_char_code): Add `Qsub'.
3960         (syms_of_mule_charset): Add new symbol `sub'.
3961
3962 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3963
3964         * mule-charset.c (Fput_char_attribute): Convert each element of
3965         VALUE to GL position if ATTRIBUTE is a GR-set,
3966
3967 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3968
3969         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
3970         coded-charset is a GR-set.
3971
3972 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3973
3974         * mule-charset.c (Fput_char_attribute): Check each element of
3975         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
3976
3977 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3978
3979         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
3980         UTF-2000.
3981         (Qethiopic_ucs): New variable in UTF-2000.
3982         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
3983         (complex_vars_of_mule_charset): Add new coded-charset
3984         `ethiopic-ucs' in UTF-2000.
3985
3986         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
3987         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3988         9)'.
3989         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
3990         10)'.
3991         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
3992
3993 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
3994
3995         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
3996         `ascii'.
3997
3998 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
3999
4000         * mule-charset.c (Vcharacter_variant_table): New variable.
4001         (Q_ucs): New variable.
4002         (Fchar_variants): New function.
4003         (Fput_char_attribute): Register `->ucs' value to
4004         `Vcharacter_variant_table'.
4005         (syms_of_mule_charset): Add new function `char-variants' and new
4006         symbol `->ucs'.
4007         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4008
4009 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4010
4011         * mule-charset.c (get_char_code_table): Allow negative character
4012         code.
4013         (put_char_code_table): Likewise.
4014         (Vcharacter_composition_table): New variable.
4015         (Q_decomposition): New variable.
4016         (Qwide): New variable.
4017         (Qnarrow): New variable.
4018         (Qcompat): New variable.
4019         (QnoBreak): New variable.
4020         (Qsuper): New variable.
4021         (Qfraction): New variable.
4022         (to_char_code): New function.
4023         (Fget_composite_char): New function.
4024         (Fput_char_attribute): Register `->decomposition' value to
4025         `Vcharacter_composition_table'.
4026         (syms_of_mule_charset): Add new function `get-composite-char', new
4027         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4028         `super' and `fraction'.
4029         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4030
4031 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4032
4033         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4034         character; copy the return value.
4035
4036 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4037
4038         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4039
4040         * mule-charset.c (range_charset_code_point): Must use make_int.
4041         (split_builtin_char): New function.
4042
4043 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4044
4045         * mule-charset.c (char_byte_table): Change name from
4046         "char-code-table" to "char-byte-table".
4047         (mark_char_code_table): New function.
4048         (char_code_table_equal): New function.
4049         (char_code_table_hash): New function.
4050         (char_code_table_description): New constant.
4051         (char_code_table): New type.
4052         (make_char_code_table): New function.
4053         (copy_char_code_table): New function.
4054         (get_char_code_table): Modify for `char_code_table' type.
4055         (put_char_code_table): Likewise.
4056         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4057         (Kashiwara).
4058
4059         * char-ucs.h (char_code_table): New type.
4060         (XCHAR_CODE_TABLE): New macro.
4061         (XSETCHAR_CODE_TABLE): New macro.
4062         (CHAR_CODE_TABLE_P): New macro.
4063         (GC_CHAR_CODE_TABLE_P): New macro.
4064         (struct Lisp_Char_Code_Table): New structure.
4065
4066 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4067
4068         * mule-charset.c (Fmake_charset): Setup byte_offset for
4069         {94|96}^n-set.
4070
4071 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4072
4073         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4074         character.
4075
4076 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4077
4078         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4079         is found.
4080
4081 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4082
4083         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4084         charset, it is regarded as a charset.
4085         (put_char_attribute): New function in UTF-2000.
4086         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4087         charset, mapping-table of the charset is modified.
4088         (Fdefine_char): New function in UTF-2000.
4089         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4090         `Fput_char_attribute'.
4091         (syms_of_mule_charset): Add new function `define-char' and new
4092         symbol `ucs' in UTF-2000.
4093         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4094
4095 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4096
4097         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4098         non-UTF-2000 configuration.
4099
4100 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4101
4102         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4103         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4104
4105         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4106         deleted.
4107         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4108         (Fset_charset_mapping_table): Likewise.
4109
4110         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4111         (CHARSET_ENCODING_TABLE): Delete.
4112         (XCHARSET_ENCODING_TABLE): Delete.
4113         (charset_code_point): New interface.
4114
4115 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4116
4117         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4118         instead of `charset_get_byte1' and `charset_get_byte2'.
4119
4120         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4121         (charset_get_byte2): Deleted.
4122
4123 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4124
4125         * char-ucs.h (SPLIT_CHAR): New inline function.
4126         (breakup_char_1): Use `SPLIT_CHAR'.
4127
4128         * mule-charset.c (range_charset_code_point): New function.
4129         (charset_code_point): New function.
4130
4131         * char-ucs.h (range_charset_code_point): New interface.
4132         (breakup_char_1): Use `range_charset_code_point'.
4133
4134 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4135
4136         * mule-charset.c (Fmake_charset): Delete unused local variable
4137         `code_offset'.
4138
4139         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4140         (breakup_char_1): Find a charset and code-point in
4141         `Vcharacter_attribute_table'.
4142
4143 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4144
4145         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4146         to 0.10 (Yao).
4147
4148 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4149
4150         * mule-charset.c (Vcharacter_attribute_table): New variable.
4151         (Fchar_attribute_alist): New function.
4152         (Fget_char_attribute): New function.
4153         (Fput_char_attribute): New function.
4154         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4155         too.
4156         (syms_of_mule_charset): Add new function `char-attribute-alist',
4157         `get-char-attribute' and `put-char-attribute'.
4158         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4159
4160 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4161
4162         * mule-charset.c (Fmake_charset): Just use
4163         `get_unallocated_leading_byte'.
4164
4165         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4166         sets; don't use final-byte based number for private sets.
4167
4168 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4169
4170         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4171         integer.
4172
4173 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4174
4175         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4176         to 0.9.
4177
4178 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4179
4180         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4181         of `CHAR_LEADING_BYTE' in UTF-2000.
4182
4183         * insdel.c (find_charsets_in_bufbyte_string): Use
4184         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4185         (find_charsets_in_emchar_string): Likewise.
4186
4187         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4188         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4189
4190         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4191         (CHAR_CHARSET_ID): New macro.
4192
4193 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4194
4195         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4196         charset-id - MIN_LEADING_BYTE.
4197         (put_char_table): Likewise.
4198
4199 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4200
4201         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4202         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4203         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4204         (CHARSET_ID_OFFSET): New macro.
4205         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4206         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4207         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4208         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4209         4).
4210         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4211         5).
4212         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4213         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4214         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4215         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4216         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4217
4218 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4219
4220         * mule-charset.c (next_allocated_leading_byte): New variable in
4221         UTF-2000.
4222         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4223         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4224         (get_unallocated_leading_byte): Simply use
4225         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4226         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4227         UTF-2000.
4228
4229         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4230         (MAX_LEADING_BYTE_PRIVATE): New macro.
4231         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4232         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4233
4234 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4235
4236         * mule-charset.c (Fmake_charset): Allocate final-byte based
4237         charset-id for 94-set, 96-set and 94x94-set.
4238
4239 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4240
4241         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4242         ambiguous `else'.
4243         (Fmake_charset): Likewise.
4244         (complex_vars_of_mule_charset): Modify the font registry of
4245         `ucs-bmp' not to match `Ethiopic-Unicode'.
4246
4247 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4248
4249         * mule-charset.c (complex_vars_of_mule_charset): Add font
4250         registory of `ucs-bmp'.
4251
4252 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4253
4254         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4255         coded-charsets in `default-coded-charset-priority-list' when
4256         breaking up a character.
4257
4258         * mule-charset.c (Vcharset_latin_viscii): New variable.
4259         (Qlatin_viscii): New variable.
4260         (make_charset): Don't use `decoding_table'.
4261         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4262         byte_offset.
4263         (Fset_charset_mapping_table): New implementation.
4264         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4265         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4266         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4267         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4268         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4269         charset `latin_viscii'.
4270
4271         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4272         (CHARSET_TYPE_94X94): Change to 1 from 2.
4273         (CHARSET_TYPE_96): Change to 2 from 1.
4274         (CHARSET_TYPE_128): New macro.
4275         (CHARSET_TYPE_128X128): Change to 5 from 4.
4276         (CHARSET_TYPE_256): New macro.
4277         (CHARSET_TYPE_256X256): Change to 7 from 5.
4278         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4279
4280 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4281
4282         * text-coding.c (char_encode_shift_jis): Refer
4283         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4284         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4285
4286         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4287         (char_byte_table_equal): New function in UTF-2000.
4288         (char_byte_table_hash): New function in UTF-2000.
4289         (char_byte_table_description): New constant in UTF-2000.
4290         (char_byte_table): New type in UTF-2000.
4291         (make_char_byte_table): New function in UTF-2000.
4292         (copy_char_byte_table): New function in UTF-2000.
4293         (make_char_code_table): New macro in UTF-2000.
4294         (get_char_code_table): New function in UTF-2000.
4295         (put_char_code_table): New function in UTF-2000.
4296         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4297         (charset_description): Add setting in UTF-2000.
4298         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4299         `CHARSET_TO_BYTE1_TABLE(cs)'.
4300         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4301         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4302         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4303         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4304         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4305         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4306         `CHARSET_TO_BYTE2_TABLE(cs)'.
4307
4308         * char-ucs.h (char_byte_table): New type.
4309         (XCHAR_BYTE_TABLE): New macro.
4310         (XSETCHAR_BYTE_TABLE): New macro.
4311         (CHAR_BYTE_TABLE_P): New macro.
4312         (GC_CHAR_BYTE_TABLE_P): New macro.
4313         (struct Lisp_Char_Byte_Table): New structure.
4314         (get_char_code_table): New interface.
4315         (Emchar_to_byte_table): Deleted.
4316         (get_byte_from_character_table): Deleted.
4317         (struct Lisp_Charset): Add `encoding_table'; delete
4318         `to_byte1_table' and `to_byte2_table'.
4319         (CHARSET_ENCODING_TABLE): New macro.
4320         (CHARSET_TO_BYTE1_TABLE): Deleted.
4321         (CHARSET_TO_BYTE2_TABLE): Deleted.
4322         (XCHARSET_ENCODING_TABLE): New macro.
4323         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4324         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4325
4326 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4327
4328         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4329         `vietnamese-viscii-*'.
4330
4331 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4332
4333         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4334         (Qvietnamese_viscii_upper): New variable.
4335         (Fdefine_charset_alias): New function.
4336         (syms_of_mule_charset): Add new function `define-charset-alias'.
4337         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4338         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4339         `latin-viscii-*'.
4340
4341 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4342
4343         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4344         (MAX_CHAR_OBS_94x94): New macro.
4345         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4346         for 94x94 sets.
4347
4348         * mule-charset.c (put_byte_from_character_table): Change unit size
4349         from 128 to 256.
4350         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4351         not defined.
4352         (Fmake_reverse_direction_charset): Modify dummy argument of
4353         `make_charset' for non-UTF-2000 environment.
4354
4355 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4356
4357         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4358
4359         * mule-charset.c (destroy_byte_from_character_table): New macro.
4360         (latin_jisx0201_to_ucs): Deleted.
4361         (latin_iso8859_2_to_ucs): Deleted.
4362         (latin_iso8859_3_to_ucs): Deleted.
4363         (latin_iso8859_4_to_ucs): Deleted.
4364         (latin_iso8859_9_to_ucs): Deleted.
4365         (latin_viscii_lower_to_ucs): Deleted.
4366         (latin_viscii_upper_to_ucs): Deleted.
4367         (mark_charset): Mark `cs->decoding_table'.
4368         (Fcharset_mapping_table): Fix DOC-string.
4369         (Fset_charset_mapping_table): New function.
4370         (syms_of_mule_charset): Add nwe function
4371         `set-charset-mapping-table'.
4372         (complex_vars_of_mule_charset): Don't setup and use
4373         `latin_*_to_ucs'.
4374
4375 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4376
4377         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4378         charset.
4379
4380 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4381
4382         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4383         (Vcharset_katakana_jisx0208): New variable.
4384         (Qhiragana_jisx0208): New variable.
4385         (Qkatakana_jisx0208): New variable.
4386         (make_charset): Add new argument `byte_offset'.
4387         (charset_get_byte1): Modify for new coded-charset definition; use
4388         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4389         `XCHARSET_BYTE_OFFSET'.
4390         (Fmake_charset): Modify for `make_charset'.
4391         (Fmake_reverse_direction_charset): Likewise.
4392         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4393         `katakana-jisx0208'.
4394         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4395         `.'  in font registry of charset `katakana-jisx0201',
4396         `latin-jisx0201', `vietnamese-viscii-lower' and
4397         `vietnamese-viscii-upper'; modify DOC-string of charset
4398         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4399         registry of charset `japanese-jisx0208' not to use font for JIS
4400         X0208:1990; add new charset `hiragana-jisx0208' and
4401         `katakana-jisx0208'.
4402
4403         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4404         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4405         (struct Lisp_Charset): Add `byte_offset'.
4406         (CHARSET_BYTE_OFFSET): New macro.
4407         (XCHARSET_UCS_MIN): New macro.
4408         (XCHARSET_UCS_MAX): New macro.
4409         (XCHARSET_CODE_OFFSET): New macro.
4410         (XCHARSET_BYTE_OFFSET): New macro.
4411         (MIN_CHAR_HIRAGANA): New macro.
4412         (MAX_CHAR_HIRAGANA): New macro.
4413         (MIN_CHAR_KATAKANA): New macro.
4414         (MAX_CHAR_KATAKANA): New macro.
4415         (MAKE_CHAR): Modify for new coded-charset definition; use
4416         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4417         `XCHARSET_BYTE_OFFSET'.
4418
4419 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4420
4421         * mule-charset.c (CHAR96): Deleted.
4422         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4423         <Lisp_Object>.
4424         (latin_iso8859_2_to_ucs): Likewise.
4425         (latin_iso8859_3_to_ucs): Likewise.
4426         (latin_iso8859_4_to_ucs): Likewise.
4427         (latin_iso8859_9_to_ucs): Likewise.
4428         (latin_viscii_lower_to_ucs): Likewise.
4429         (latin_viscii_upper_to_ucs): Likewise.
4430         (latin_tcvn5712_to_ucs): Commented out.
4431         (make_charset): Change type of argument `decoding_table' from
4432         <Emchar*> to <Lisp_Object> [vector of characters].
4433         (Fmake_charset): Modify for `make_charset'.
4434         (Fmake_reverse_direction_charset): Likewise.
4435         (Fcharset_mapping_table): New function in UTF-2000.
4436         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4437         UTF-2000.
4438         (complex_vars_of_mule_charset): Modify for type change of
4439         `*_to_ucs'; modify for `make_charset'.
4440
4441         * char-ucs.h (struct Lisp_Charset): Change type of
4442         `decoding_table' from <Emchar*> to <Lisp_Object>.
4443         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4444
4445 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4446
4447         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4448         error with non-UTF-2000-Mule.
4449
4450 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4451
4452         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4453         in lisp again].
4454         (Vcharset_chinese_cns11643_4): Likewise.
4455         (Vcharset_chinese_cns11643_5): Likewise.
4456         (Vcharset_chinese_cns11643_6): Likewise.
4457         (Vcharset_chinese_cns11643_7): Likewise.
4458         (Qchinese_cns11643_3): Likewise.
4459         (Qchinese_cns11643_4): Likewise.
4460         (Qchinese_cns11643_5): Likewise.
4461         (Qchinese_cns11643_6): Likewise.
4462         (Qchinese_cns11643_7): Likewise.
4463         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4464         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4465         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4466         (complex_vars_of_mule_charset): Likewise.
4467
4468 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4469
4470         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4471         96-set.
4472         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4473         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4474
4475 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4476
4477         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4478         0xFF60.
4479         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4480         (breakup_char_1): Likewise.
4481
4482         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4483         one of them includes the specified character.
4484
4485 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4486
4487         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4488
4489 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4490
4491         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4492
4493 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4494
4495         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4496         definition for non-UTF-2000 Mule.
4497         (latin_iso8859_3_to_ucs): Likewise.
4498         (latin_iso8859_4_to_ucs): Likewise.
4499         (latin_iso8859_9_to_ucs): Likewise.
4500         (latin_jisx0201_to_ucs): Likewise.
4501         (MIN_CHAR_THAI): Likewise.
4502         (MAX_CHAR_THAI): Likewise.
4503         (MIN_CHAR_GREEK): Likewise.
4504         (MAX_CHAR_GREEK): Likewise.
4505         (MIN_CHAR_HEBREW): Likewise.
4506         (MAX_CHAR_HEBREW): Likewise.
4507         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4508         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4509         (MIN_CHAR_CYRILLIC): Likewise.
4510         (MAX_CHAR_CYRILLIC): Likewise.
4511
4512 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4513
4514         * char-ucs.h (breakup_char_1): Use
4515         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4516         thai-tis620 and katakana-jisx0201 area.
4517
4518 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4519
4520         * char-ucs.h (breakup_char_1): Use
4521         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4522         area.
4523
4524         * text-coding.c (reset_encoding_stream): Fixed.
4525         (char_encode_ucs4): Delete `& 255'.
4526
4527         * char-ucs.h (breakup_char_1): Use
4528         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4529
4530 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4531
4532         * file-coding.c (Fmake_coding_system): Don't set up
4533         `codesys->fixed.size'.
4534         (encode_coding_no_conversion): Don't refer
4535         `str->codesys->fixed.size'.
4536
4537 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4538
4539         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4540         (latin_a_char_to_byte1): Deleted.
4541         (latin_a_char_to_byte2): Deleted.
4542
4543 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4544
4545         * mule-charset.c (make_charset): Add new argument `ucs_min',
4546         `ucs_max' and `code_offset'.
4547         (charset_get_byte1): New implementation [delete specific charset
4548         depended implementations].
4549         (Fmake_charset): Modify for `make_charset'.
4550         (Fmake_reverse_direction_charset): Likewise.
4551         (complex_vars_of_mule_charset): Likewise.
4552
4553         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
4554         `code_offset'.
4555         (CHARSET_UCS_MIN): New macro.
4556         (CHARSET_UCS_MAX): New macro.
4557         (CHARSET_CODE_OFFSET): New macro.
4558         (MAKE_CHAR): Delete charset depended definitions [except
4559         katakana-jisx0201].
4560
4561 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4562
4563         * char-ucs.h (breakup_char_1): Use
4564         `Vdefault_coded_charset_priority_list' for C0-Controls,
4565         Basic-Latin, C1-Controls and Latin-1-Supplement area.
4566
4567 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4568
4569         * char-ucs.h (charset_get_byte1): New function.
4570         (XCHARSET_GET_BYTE1): Deleted.
4571         (charset_get_byte2): New function.
4572         (XCHARSET_GET_BYTE2): Deleted.
4573         (Vdefault_coded_charset_priority_list): New external variable.
4574         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
4575         `Vdefault_preferred_coded_charset_list'.
4576
4577         * mule-charset.c (charset_get_byte1): New function.
4578         (charset_get_byte2): New function.
4579         (Vdefault_coded_charset_priority_list): New variable.
4580         (vars_of_mule_charset): Add new variable
4581         `default-coded-charset-priority-list'.
4582
4583 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4584
4585         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
4586         (XCHARSET_GET_BYTE2): New inline function.
4587         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
4588         `XCHARSET_GET_BYTE2'.
4589
4590 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4591
4592         * mule-charset.c (make_charset): Initialize
4593         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
4594         NULL if table is not defined.
4595
4596 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4597
4598         * text-coding.c (char_encode_shift_jis): Use
4599         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
4600         `ucs_to_latin_jisx0201'.
4601
4602         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
4603         (ucs_to_latin_iso8859_2): Deleted.
4604         (ucs_to_latin_iso8859_3): Deleted.
4605         (ucs_to_latin_iso8859_4): Deleted.
4606         (ucs_to_latin_iso8859_9): Deleted.
4607         (ucs_to_latin_viscii_lower): Deleted.
4608         (ucs_to_latin_viscii_upper): Deleted.
4609         (ucs_to_latin_tcvn5712): Deleted.
4610         (make_charset): Add new argument `decoding_table'; set up
4611         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
4612         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
4613         `decoding_table' is defined in UTF-2000.
4614         (Fmake_charset): Modify for `make_charset'.
4615         (Fmake_reverse_direction_charset): Likewise.
4616         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
4617         and `GENERATE_96_SET'.
4618
4619         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
4620         (ucs_to_latin_jisx0201): Deleted.
4621         (latin_iso8859_2_to_ucs): Deleted.
4622         (ucs_to_latin_iso8859_2): Deleted.
4623         (latin_iso8859_3_to_ucs): Deleted.
4624         (ucs_to_latin_iso8859_3): Deleted.
4625         (latin_iso8859_4_to_ucs): Deleted.
4626         (ucs_to_latin_iso8859_4): Deleted.
4627         (latin_iso8859_9_to_ucs): Deleted.
4628         (ucs_to_latin_iso8859_9): Deleted.
4629         (latin_viscii_lower_to_ucs): Deleted.
4630         (ucs_to_latin_viscii_lower): Deleted.
4631         (latin_viscii_upper_to_ucs): Deleted.
4632         (ucs_to_latin_viscii_upper): Deleted.
4633         (struct Lisp_Charset): Renamed `encoding_table' to
4634         `to_byte1_table'; add `to_byte2_table'.
4635         (CHARSET_DECODING_TABLE): New macro.
4636         (CHARSET_TO_BYTE1_TABLE): New macro.
4637         (CHARSET_TO_BYTE2_TABLE): New macro.
4638         (XCHARSET_DECODING_TABLE): New macro.
4639         (XCHARSET_TO_BYTE1_TABLE): New macro.
4640         (XCHARSET_TO_BYTE2_TABLE): New macro.
4641         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
4642         tables.
4643         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
4644         don't use `ucs_to_*' tables.
4645
4646 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4647
4648         * text-coding.c (Fmake_coding_system): Don't set up
4649         `codesys->fixed.size'.
4650         (encode_coding_no_conversion): Use `if' instead of `switch'.
4651
4652         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
4653
4654 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4655
4656         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
4657         (Fmake_charset): Modify for `make_charset'.
4658         (Fmake_reverse_direction_charset): Likewise.
4659         (complex_vars_of_mule_charset): Likewise.
4660
4661 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4662
4663         * text-coding.c (char_encode_shift_jis): Use table
4664         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
4665
4666 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4667
4668         * text-coding.c (text_encode_generic): Use `if' instead of
4669         `switch'.
4670         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
4671         decode JIS-Latin.
4672
4673 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4674
4675         * text-coding.c (encode_coding_sjis): Deleted.
4676         (char_encode_shift_jis): New function.
4677         (char_finish_shift_jis): New function.
4678         (reset_encoding_stream): Set up `encode_char' and `finish' for
4679         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
4680         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
4681         (char_encode_utf8): Treat `eol_type'.
4682
4683 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4684
4685         * file-coding.c (decode_coding_iso2022): Use
4686         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
4687
4688 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4689
4690         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4691         to 0.7 (Hirano).
4692
4693 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4694
4695         * char-lb.h (CHAR_COLUMNS): New macro.
4696
4697 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4698
4699         * text-coding.c (char_encode_ucs4): New function.
4700         (char_finish_ucs4): New function.
4701         (encode_coding_ucs4): Deleted.
4702         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
4703         (text_encode_generic): Delete local variable `charset' and `half'.
4704         (ucs_to_mule_table): Deleted.
4705         (mule_to_ucs_table): Deleted.
4706         (Fset_ucs_char): Deleted.
4707         (ucs_to_char): Deleted.
4708         (Fucs_char): Deleted.
4709         (Fset_char_ucs): Deleted.
4710         (Fchar_ucs): Deleted.
4711         (decode_ucs4): Deleted.
4712         (mule_char_to_ucs4): Deleted.
4713         (encode_ucs4): Deleted.
4714         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
4715         (decode_coding_utf8): Likewise.
4716         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
4717         (char_encode_iso2022): Fixed.
4718         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
4719         `Fset_char_ucs' and `Fchar_ucs'.
4720         (complex_vars_of_file_coding): Don't initialize
4721         `ucs_to_mule_table'.
4722
4723         * objects-tty.c (tty_initialize_font_instance): Don't use
4724         `XCHARSET_COLUMNS'.
4725
4726         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
4727         UTF-2000.
4728
4729         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
4730         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4731
4732         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
4733         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4734         (emchar_string_displayed_columns): Likewise.
4735
4736         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
4737         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
4738         (string_column_at_point): Likewise.
4739         (Fmove_to_column): Likewise.
4740
4741         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
4742         `encoding_table' and `decoding_table'.
4743         (CHARSET_REP_BYTES): Deleted.
4744         (XCHARSET_REP_BYTES): Deleted.
4745         (XCHARSET_COLUMNS): Deleted.
4746         (CHAR_COLUMNS): New macro.
4747         (lookup_composite_char): Deleted unconditionally.
4748         (composite_char_string): Likewise.
4749
4750 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4751
4752         * char-ucs.h (Emchar_to_byte_table): New type.
4753         (get_byte_from_character_table): New function interface.
4754         (Vcharset_latin_jisx0201): New variable.
4755         (latin_jisx0201_to_ucs): New variable.
4756         (ucs_to_latin_jisx0201): New variable.
4757         (Vcharset_latin_iso8859_2): New variable.
4758         (latin_iso8859_2_to_ucs): New variable.
4759         (ucs_to_latin_iso8859_2): New variable.
4760         (Vcharset_latin_iso8859_3): New variable.
4761         (latin_iso8859_3_to_ucs): New variable.
4762         (ucs_to_latin_iso8859_3): New variable.
4763         (Vcharset_latin_iso8859_4): New variable.
4764         (latin_iso8859_4_to_ucs): New variable.
4765         (ucs_to_latin_iso8859_4): New variable.
4766         (Vcharset_latin_iso8859_9): New variable.
4767         (latin_iso8859_9_to_ucs): New variable.
4768         (ucs_to_latin_iso8859_9): New variable.
4769         (Vcharset_latin_viscii_lower): New variable.
4770         (latin_viscii_lower_to_ucs): New variable.
4771         (ucs_to_latin_viscii_lower): New variable.
4772         (Vcharset_latin_viscii_upper): New variable.
4773         (latin_viscii_upper_to_ucs): New variable.
4774         (ucs_to_latin_viscii_upper): New variable.
4775         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
4776         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
4777         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
4778         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
4779         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
4780         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
4781         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
4782         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
4783         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
4784         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
4785
4786         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
4787         (Vcharset_latin_viscii_upper): New variable.
4788         (make_byte_from_character_table): New function.
4789         (put_byte_from_character_table): New function.
4790         (get_byte_from_character_table): New function.
4791         (CHAR96): New macro.
4792         (ucs_to_latin_jisx0201): New variable.
4793         (latin_jisx0201_to_ucs): New variable.
4794         (ucs_to_latin_iso8859_2): New variable.
4795         (latin_iso8859_2_to_ucs): New variable.
4796         (ucs_to_latin_iso8859_3): New variable.
4797         (latin_iso8859_3_to_ucs): New variable.
4798         (ucs_to_latin_iso8859_4): New variable.
4799         (latin_iso8859_4_to_ucs): New variable.
4800         (ucs_to_latin_iso8859_9): New variable.
4801         (latin_iso8859_9_to_ucs): New variable.
4802         (ucs_to_latin_viscii_lower): New variable.
4803         (latin_viscii_lower_to_ucs): New variable.
4804         (ucs_to_latin_viscii_upper): New variable.
4805         (latin_viscii_upper_to_ucs): New variable.
4806         (ucs_to_latin_tcvn5712): New variable.
4807         (latin_tcvn5712_to_ucs): New variable.
4808         (Qlatin_viscii_lower): New variable.
4809         (Qlatin_viscii_upper): New variable.
4810         (syms_of_mule_charset): Set up new symbol
4811         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
4812         (complex_vars_of_mule_charset): Set up new charset
4813         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
4814         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
4815         `ucs_to_<CHARSET>' tables.
4816
4817 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4818
4819         * text-coding.c: New file.
4820
4821 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4822
4823         * mule-charset.c (Fmake_char): Fix problem of 256-set.
4824
4825         * char-ucs.h (Vcharset_ucs_bmp): New variable.
4826         (MAKE_CHAR): Modify for `ucs-bmp'.
4827         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
4828         non-MULE characters of BMP.
4829
4830 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
4831
4832         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4833         to 0.6.
4834
4835 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4836
4837         * lstream.h:
4838         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
4839         - Include character.h for `CHAR_ASCII_P'.
4840
4841         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
4842
4843         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
4844         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
4845
4846         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
4847         (BYTE_C0_P): Likewise.
4848         (BYTE_C1_P): Likewise.
4849         (Lstream_get_emchar_1): Likewise.
4850         (Lstream_fput_emchar): Likewise.
4851         (Lstream_funget_emchar): Likewise.
4852         (copy_internal_to_external): Likewise.
4853         (copy_external_to_internal): Likewise.
4854
4855         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
4856         (BYTE_C0_P): Likewise.
4857         (BYTE_C1_P): Likewise.
4858         (Lstream_get_emchar_1): Likewise.
4859         (Lstream_fput_emchar): Likewise.
4860         (Lstream_funget_emchar): Likewise.
4861         (copy_internal_to_external): Likewise.
4862         (copy_external_to_internal): Likewise.
4863
4864         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
4865         (REP_BYTES_BY_FIRST_BYTE): Likewise.
4866
4867         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
4868         (BYTE_ASCII_P): Moved to mb-1byte.h.
4869
4870 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4871
4872         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
4873
4874         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
4875         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
4876         (VALID_CHARPTR_P): Moved to mb-*byte.h.
4877         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4878         (VALIDATE_CHARPTR_FORWARD): Likewise.
4879         (simple_charptr_emchar): Moved to mb-multibyte.h.
4880         (simple_set_charptr_emchar): Likewise.
4881         (simple_charptr_copy_char): Likewise.
4882         (non_ascii_charptr_emchar): Likewise.
4883         (non_ascii_set_charptr_emchar): Likewise.
4884         (non_ascii_charptr_copy_char): Likewise.
4885         (charptr_emchar): Moved to mb-*byte.h.
4886         (set_charptr_emchar): Likewise.
4887         (charptr_copy_char): Likewise.
4888
4889         * mb-1byte.h, mb-multibyte.h: New files.
4890
4891 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4892
4893         * mb-utf-8.h (MULTIBYTE): New macro.
4894         (MAX_EMCHAR_LEN): Moved from buffer.h.
4895         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
4896
4897         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
4898
4899         * mb-lb.h, multibyte.h: New files.
4900
4901         * char-1byte.h (Charset_ID): Moved from buffer.h.
4902         (MIN_LEADING_BYTE): Likewise.
4903         (LEADING_BYTE_ASCII): Likewise.
4904         (NUM_LEADING_BYTES): Likewise.
4905         (CHARSETP): Likewise.
4906         (CHARSET_BY_LEADING_BYTE): Likewise.
4907         (XCHARSET_LEADING_BYTE): Likewise.
4908         (XCHARSET_GRAPHIC): Likewise.
4909         (XCHARSET_COLUMNS): Likewise.
4910         (XCHARSET_DIMENSION): Likewise.
4911         (CHAR_CHARSET): Likewise.
4912         (CHAR_LEADING_BYTE): Likewise.
4913         (BREAKUP_CHAR): Likewise.
4914         (Vcharset_ascii): Likewise.
4915
4916         * buffer.h: Include multibyte.h unconditionally.
4917         (VALID_CHARPTR_P): Moved to multibyte.h.
4918         (ASSERT_VALID_CHARPTR): Likewise.
4919         (REAL_INC_CHARPTR): Likewise.
4920         (REAL_INC_CHARBYTIND): Likewise.
4921         (REAL_DEC_CHARPTR): Likewise.
4922         (INC_CHARPTR): Likewise.
4923         (INC_CHARBYTIND): Likewise.
4924         (DEC_CHARPTR): Likewise.
4925         (VALIDATE_CHARPTR_BACKWARD): Likewise.
4926         (VALIDATE_CHARPTR_FORWARD): Likewise.
4927         (charptr_n_addr): Likewise.
4928         (MAX_EMCHAR_LEN): Moved to mb-*.h.
4929         (simple_charptr_emchar): Moved to multibyte.h.
4930         (simple_set_charptr_emchar): Likewise.
4931         (simple_charptr_copy_char): Likewise.
4932         (non_ascii_charptr_emchar): Likewise.
4933         (non_ascii_set_charptr_emchar): Likewise.
4934         (non_ascii_charptr_copy_char): Likewise.
4935         (charptr_emchar): Likewise.
4936         (set_charptr_emchar): Likewise.
4937         (charptr_copy_char): Likewise.
4938         (charptr_emchar_n): Likewise.
4939         (Charset_ID): Moved to char-1byte.h.
4940         (Vcharset_ascii): Likewise.
4941         (CHAR_CHARSET): Likewise.
4942         (CHAR_LEADING_BYTE): Likewise.
4943         (LEADING_BYTE_ASCII): Likewise.
4944         (NUM_LEADING_BYTES): Likewise.
4945         (MIN_LEADING_BYTE): Likewise.
4946         (CHARSETP): Likewise.
4947         (CHARSET_BY_LEADING_BYTE): Likewise.
4948         (XCHARSET_LEADING_BYTE): Likewise.
4949         (XCHARSET_GRAPHIC): Likewise.
4950         (XCHARSET_COLUMNS): Likewise.
4951         (XCHARSET_DIMENSION): Likewise.
4952         (BREAKUP_CHAR): Likewise.
4953
4954 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4955
4956         * character.h: Add document about interface for characters.
4957
4958         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
4959         (MAKE_CHAR): Delete comment about
4960         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
4961         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
4962         (BREAKUP_CHAR): Modify name of arguments.
4963         (CHAR_CHARSET): Modify name of argument.
4964
4965         * buffer.h: Delete document about Emchar accessors.
4966
4967 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4968
4969         * character.h (CHAR_INTP): Moved from buffer.h
4970         (CHAR_OR_CHAR_INTP): Likewise.
4971         (XCHAR_OR_CHAR_INT): Likewise.
4972         (CHECK_CHAR_COERCE_INT): Likewise.
4973
4974         * buffer.h (CHAR_INTP): Moved to character.h
4975         (CHAR_OR_CHAR_INTP): Likewise.
4976         (XCHAR_OR_CHAR_INT): Likewise.
4977         (CHECK_CHAR_COERCE_INT): Likewise.
4978
4979 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4980
4981         * character.h:
4982         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
4983         - Include char-1byte.h, char-lb.h or char-ucs.h.
4984
4985         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
4986
4987         * buffer.h: Include character unconditionally.
4988         (valid_char_p): Moved to char-*.h.
4989         (non_ascii_valid_char_p): Moved to char-lb.h.
4990
4991         * char-1byte.h, char-lb.h, char-ucs.h: New files.
4992
4993 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4994
4995         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
4996         in UTF-2000 because it is not ported yet and not to use
4997         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
4998         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
4999         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5000
5001         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5002         (CHAR_ASCII_P): Moved from character.h.
5003
5004         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5005         (CHAR_ASCII_P): Likewise.
5006         (CHAR_FIELD1_MASK): Deleted.
5007         (CHAR_FIELD2_MASK): Deleted.
5008         (CHAR_FIELD3_MASK): Deleted.
5009         (MAX_CHAR_BASIC_LATIN): New macro.
5010         (CHAR_FIELD1): Deleted.
5011         (CHAR_FIELD2_INTERNAL): Deleted.
5012         (CHAR_FIELD3_INTERNAL): Deleted.
5013         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5014         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5015         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5016         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5017         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5018         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5019         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5020         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5021         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5022         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5023         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5024         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5025         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5026         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5027         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5028         (MIN_CHAR_COMPOSITION): Deleted.
5029         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5030         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5031
5032 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5033
5034         * buffer.h: Include mb-utf-8.h in UTF-2000.
5035
5036         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5037
5038         * mb-utf-8.h: New file.
5039
5040 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5041
5042         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5043         instead of `int'.
5044
5045         * mule-charset.h, buffer.h (Charset_ID): New type.
5046
5047 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5048
5049         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5050         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5051         instead of `MULE_CHAR_PRIVATE_OFFSET',
5052         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5053         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5054         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5055
5056         * character.h (Vcharset_japanese_jisx0212): New variable
5057         definition.
5058
5059 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5060
5061         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5062         (charset_by_attributes): Delete array about direction.
5063         (latin_a_char_to_charset): New variable in UTF-2000.
5064         (latin_a_char_to_byte1): New variable in UTF-2000.
5065         (latin_a_char_to_byte2): New variable in UTF-2000.
5066         (Qucs_bmp): New variable.
5067         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5068         `Bufbyte'.
5069         (next_allocated_2_byte_leading_byte): Likewise.
5070         (non_ascii_set_charptr_emchar): Likewise.
5071         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5072         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5073         `charset_by_attributes'.
5074         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5075         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5076         and `CHARSET_BY_LEADING_BYTE'.
5077         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5078         `utf-2000-version' to `vars_of_mule_charset'.
5079         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5080         define `leading-code-private-11' in UTF-2000; move setting of
5081         `utf-2000-version' from `syms_of_mule_charset'.
5082         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5083         UTF-2000.
5084
5085         * character.h (Charset_ID): New type.
5086         (LEADING_BYTE_UCS_BMP): New macro.
5087         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5088         (CHARSET_ID_OFFSET_94): New macro.
5089         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5090         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5091         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5092         final-byte.
5093         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5094         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5095         (CHARSET_ID_OFFSET_96): New macro.
5096         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5097         CHARSET_ID_OFFSET_96 and final-byte.
5098         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5099         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5100         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5101         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5102         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5103         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5104         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5105         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5106         (LEADING_BYTE_THAI_TIS620): Likewise.
5107         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5108         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5109         (CHARSET_ID_OFFSET_94x94): New macro.
5110         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5111         CHARSET_ID_OFFSET_94x94 and final-byte.
5112         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5113         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5114         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5115         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5116         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5117         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5118         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5119         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5120         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5121         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5122         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5123         (CHARSET_TYPE_128X128): New macro.
5124         (CHARSET_TYPE_256X256): New macro.
5125         (XCHARSET_PRIVATE_P): Delete unconditionally.
5126         (charset_by_attributes): Delete array about direction.
5127         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5128         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5129         (MIN_CHAR_94): New macro.
5130         (MAX_CHAR_94): New macro.
5131         (MIN_CHAR_96): New macro.
5132         (MAX_CHAR_96): New macro.
5133         (MIN_CHAR_94x94): New macro.
5134         (MAX_CHAR_94x94): New macro.
5135         (MIN_CHAR_96x96): New macro.
5136         (MAX_CHAR_96x96): New macro.
5137         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5138         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5139         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5140         - 32)'.
5141         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5142         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5143         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5144         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5145         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5146         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5147         `XCHARSET_LEADING_BYTE' to make code-point.
5148         (latin_a_char_to_charset): New variable.
5149         (latin_a_char_to_byte1): New variable.
5150         (latin_a_char_to_byte2): New variable.
5151         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5152         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5153         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5154
5155         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5156         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5157         (find_charsets_in_emchar_string): Likewise.
5158         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5159
5160         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5161         `int'.
5162         (decode_coding_iso2022): Likewise.
5163
5164         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5165         of `unsigned char'.
5166
5167         * redisplay.c (redisplay_text_width_emchar_string): Use
5168         `Charset_ID' instead of `unsigned char'.
5169         (redisplay_frame_text_width_string): Likewise.
5170
5171         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5172         `unsigned char'.
5173
5174         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5175         instead of `unsigned char'.
5176         (face_cachel_charset_font_metric_info): Likewise.
5177
5178         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5179         (get_non_ascii_char_table_value): Likewise.
5180         (get_char_table): Likewise.
5181         (put_char_table): Likewise.
5182         (map_over_other_charset): Likewise.
5183         (map_char_table): Likewise.
5184
5185         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5186         instead of `unsigned char'.
5187
5188 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5189
5190         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5191         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5192
5193         * mule-charset.c (leading_code_private_11): Don't define in
5194         UTF-2000.
5195
5196         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5197         in UTF-2000 because it is not ported yet and not to use
5198         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5199
5200 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5201
5202         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5203
5204 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5205
5206         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5207         in UTF-2000.
5208
5209         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5210         of unsigned char to store leading-byte.
5211
5212         * chartab.c (get_non_ascii_char_table_value): Don't use
5213         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5214
5215         * file-coding.c (encode_coding_big5): Delete bogus implementation
5216         in UTF2000.
5217
5218         * character.h (LEADING_BYTE_*): Delete definition for
5219         non-UTF-2000.
5220         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5221         (LEADING_BYTE_PREFIX_P): Deleted.
5222         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5223         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5224         (BUFBYTE_LEADING_BYTE_P): Deleted.
5225         (CHARSET_PRIVATE_P): Deleted unconditionally.
5226         (rep_bytes_by_first_byte): Deleted unconditionally.
5227         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5228         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5229         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5230         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5231         (CHAR_FIELD2): Deleted.
5232         (CHAR_FIELD3): Deleted.
5233         (MAKE_CHAR): Delete definition for non-UTF-2000.
5234         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5235         (breakup_char_1): New implementation.
5236         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5237         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5238
5239 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5240
5241         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5242         condition.
5243
5244 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5245
5246         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5247         (CHARSET_PRIVATE_P): Likewise.
5248         (XCHARSET_PRIVATE_P): Likewise.
5249         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5250
5251         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5252         UTF2000.
5253         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5254
5255 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5256
5257         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5258         (NUM_LEADING_BYTES): Changed from 128 to 256.
5259         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5260         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5261         UTF2000.
5262         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5263
5264         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5265         UTF2000.
5266         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5267         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5268         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5269         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5270         (Qchinese_cns11643_3): New variable in UTF2000.
5271         (Qchinese_cns11643_4): New variable in UTF2000.
5272         (Qchinese_cns11643_5): New variable in UTF2000.
5273         (Qchinese_cns11643_6): New variable in UTF2000.
5274         (Qchinese_cns11643_7): New variable in UTF2000.
5275         (syms_of_mule_charset): Define `chinese-cns11643-3',
5276         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5277         and `chinese-cns11643-7' in UTF2000.
5278         (vars_of_mule_charset): Initialize
5279         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5280         + 1 in UTF2000.
5281         (complex_vars_of_mule_charset): Setup charset
5282         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5283         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5284
5285 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5286
5287         * mule-charset.c: Move setting for `leading-code-private-11' from
5288         `syms_of_mule_charset' to `vars_of_mule_charset'.
5289
5290 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5291
5292         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5293         and `NUM_LEADING_BYTES' in assert.
5294
5295 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5296
5297         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5298         instead of 128.
5299         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5300         `NUM_LEADING_BYTES' instead of 128.
5301
5302 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5303
5304         * mule-charset.h (charset_by_leading_byte): Use
5305         `NUM_LEADING_BYTES' instead of 128.
5306         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5307
5308         * mule-charset.c (charset_by_leading_byte): Use
5309         `NUM_LEADING_BYTES' instead of 128.
5310         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5311
5312         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5313         128.
5314
5315 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5316
5317         * mule-charset.c (syms_of_mule_charset): Update to
5318         0.4 (Shin-Imamiya).
5319
5320 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5321
5322         * file-coding.c (encode_coding_sjis): New implementation for
5323         UTF2000.  (decode_coding_sjis): Ditto.
5324
5325 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5326
5327         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5328         Don't define in UTF2000.
5329
5330         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5331         defined.
5332
5333         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5334         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5335         MULE.
5336
5337 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5338
5339         * config.h.in (CHAR_IS_UCS4): New macro.
5340
5341         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5342         conventional MULE representation.
5343         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5344
5345         * mule-charset.h: Reverted to original.
5346
5347         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5348         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5349         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5350
5351         * character.h: New file.
5352
5353         * file-coding.c (Fmake_coding_system): Set 1 to
5354         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5355         defined.
5356         (encode_coding_no_conversion): New implementation for UTF2000.
5357
5358         * file-coding.h (struct Lisp_Coding_System): Add new member
5359         `fixed.size'.
5360
5361 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5362
5363         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5364         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5365         (encode_coding_iso2022): New implementation for UTF2000.
5366
5367 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5368
5369         * mule-canna.c (c2mu): New implementation for UTF2000.
5370         (m2c): Likewise.
5371
5372 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5373
5374         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5375
5376 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5377
5378         * file-coding.c (reset_encoding_stream): Set 0 to
5379         `str->iso2022.current_char_boundary' in UTF2000.
5380         (encode_utf8): Don't define in UTF2000.
5381         (encode_coding_utf8): New implementation for UTF-8 representation
5382         of UTF2000.
5383         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5384
5385 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5386
5387         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5388
5389         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5390         UTF2000.
5391         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5392
5393         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5394
5395         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5396         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5397         as UTF-8 in UTF2000.
5398         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5399         (non_ascii_valid_char_p): Don't define in UTF2000.
5400         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5401         (Lstream_get_emchar_1): Likewise.
5402         (utf-2000-version): New variable in UTF2000.
5403
5404         * lread.c (read_escape): Add new reader `u'.
5405
5406         * insdel.c (three_to_one_table): Don't define in UTF2000.
5407         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5408         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5409         UTF2000.
5410         (bytind_to_bufpos_func): Likewise.
5411         (buffer_mule_signal_inserted_region): Likewise.
5412         (vars_of_insdel): Don't initialize `three_to_one_table'.
5413         (init_buffer_text): Use `buf->text->mule_size' instead of
5414         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5415         UTF2000.
5416
5417         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5418         UTF-8 representation in UTF2000.
5419         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5420         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5421         (decode_coding_iso2022): Don't define local variable `lb' in
5422         UTF2000; don't use LEADING_BYTE in UTF2000; use
5423         `DECODE_ADD_UCS_CHAR' in UTF2000.
5424         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5425
5426         * config.h.in (UTF2000): New macro.
5427
5428         * buffer.h (struct buffer_text): Add new member `mule_size' and
5429         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5430         (valid_char_p): Return always 1 in UTF2000.
5431         (MAX_EMCHAR_LEN): 6 in UTF2000.
5432         (three_to_one_table): Don't define in UTF2000.
5433         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5434         UTF2000.
5435         (real_bytind_to_bufpos): Likewise.
5436
5437         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5438
5439 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5440
5441         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5442         representation change.
5443         (Vutf_2000_version): New variable.
5444         (leading_code_private_11): New variable.
5445         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5446         `leading-code-private-11'.
5447
5448         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5449         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5450         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5451         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5452         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5453         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5454         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5455         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5456         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5457         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5458         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5459         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5460         (MIN_CHAR_GREEK): New macro.
5461         (MAX_CHAR_GREEK): New macro.
5462         (MIN_CHAR_CYRILLIC): New macro.
5463         (MAX_CHAR_CYRILLIC): New macro.
5464         (MIN_CHAR_HEBREW): New macro.
5465         (MAX_CHAR_HEBREW): New macro.
5466         (MIN_CHAR_THAI): New macro.
5467         (MAX_CHAR_THAI): New macro.
5468         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5469         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5470         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5471         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5472         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5473         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5474         (CHAR_FIELD2): New inline function.
5475         (CHAR_FIELD3): New inline function.
5476         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5477         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5478         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5479         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5480         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5481         (MIN_CHAR_COMPOSITION): Likewise.
5482         (CHAR_LEADING_BYTE): Modified for character representation change.
5483         (MAKE_CHAR): Likewise.
5484
5485         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5486         (Vcharset_greek_iso8859_7): Likewise.
5487         (Vcharset_cyrillic_iso8859_5): Likewise.
5488         (Vcharset_hebrew_iso8859_8): Likewise.
5489         (Vcharset_thai_tis620): Likewise.
5490         (Vcharset_katakana_jisx0201): Likewise.
5491
5492 2004-02-02  Vin Shelton <acs@xemacs.org>
5493
5494         * XEmacs 21.4.15 is released
5495
5496 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
5497
5498         * device-x.c (x_error_handler): Don't call stderr_out
5499
5500 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
5501
5502         * buffer.c (other-buffer): Clarify documentation of order of
5503         arguments for FSF Emacs.
5504
5505 2003-10-11  Olivier Galibert  <galibert@pobox.com>
5506
5507         * window.c (Fdelete_window): Dirty the mirror structure _before_
5508         marking the window deleted.
5509
5510 2003-09-15  Jerry James  <james@xemacs.org>
5511
5512         * event-msw.c (debug_mswin_messages): Conditionally compile
5513         messages missing from the Cygwin headers.
5514
5515 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
5516
5517         * data.c (eq_with_ebola_notice): Fix typo in comment.
5518         (Ftrue_list_p): Improve docstring.
5519
5520 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
5521
5522         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
5523
5524 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
5525
5526         * search.c (trivial_regexp_p): Regexps containing "\{" are
5527         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
5528         Stefan Monnier for suggesting a diagnosis.
5529
5530 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
5531
5532         * elhash.c (make-hash-table): Clarify use of :test #'equal.
5533
5534 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
5535
5536         * search.c (Fsearch_forward):
5537         (Fsearch_backward):
5538         Document negative count.
5539
5540 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
5541
5542         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
5543
5544 2003-09-13  Martin Buchholz  <martin@xemacs.org>
5545
5546         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
5547
5548 2003-09-15  Vin Shelton  <acs@xemacs.org>
5549
5550         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
5551         21.5.
5552
5553 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
5554
5555         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
5556         (re_search_2): Match the first byte of Bufbyte, not Emchar.
5557         (re_match_2_internal): Use TRANSLATE instead of
5558         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
5559         non-ASCII char case conversion.
5560
5561 2003-09-08  Mike Sperber  <mike@xemacs.org>
5562
5563         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
5564         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
5565
5566 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
5567
5568        * .gdbinit (pobj): fix printing of symbol name.
5569
5570 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
5571
5572         * frame-x.c (x_layout_widgets): When resizing is about to cause
5573         frame size slip, mark it for redisplay.
5574
5575 2003-08-18  Jerry James  <james@xemacs.org>
5576
5577         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
5578
5579 2003-09-03  Vin Shelton <acs@xemacs.org>
5580
5581         * XEmacs 21.4.14 is released
5582
5583 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
5584
5585         * config.h.in (REGEX_MALLOC): Make it configure'able.
5586
5587 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
5588
5589         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
5590         linking.
5591         * sysdll.c (dll_init):
5592         * sysdll.c (dll_open):
5593         * sysdll.c (dll_close):
5594         * sysdll.c (dll_function):
5595         * sysdll.c (dll_variable):
5596         * sysdll.c (dll_error):
5597         Add support for loading bundles using Darwin/MacOSX
5598         native API.
5599
5600 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
5601
5602         * process.c (start-process-internal): Document coding systems.
5603
5604 2003-07-30  Jerry James  <james@xemacs.org>
5605
5606         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
5607
5608 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
5609
5610         * event-msw.c (mswindows_enqueue_mouse_button_event):
5611         * event-msw.c (mswindows_wnd_proc):
5612           enqueue button event when scrollwheel event isn't handled by 
5613           mswindows_handle_mousewheel_event, such as when the scrollbars
5614           are not showing.
5615
5616 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
5617
5618         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
5619
5620 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
5621
5622         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
5623
5624 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
5625
5626         * regex.c (re_match_2_internal): Fix matching degenerate word
5627         boundaries.
5628
5629 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
5630
5631         * XEmacs 21.4.13 is released
5632
5633 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
5634
5635         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
5636         * lisp.h (<inttypes.h>):
5637         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
5638         the definition.
5639
5640 2003-03-15  Martin Buchholz  <martin@xemacs.org>
5641
5642         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
5643         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
5644         Result: "temacs can only be run in -batch mode."
5645         Fix: Check xemacs executable candidate for directory-ness.
5646
5647 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
5648
5649         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
5650           they conflict with <sys/types.h>.
5651
5652 2003-02-14  Martin Buchholz  <martin@xemacs.org>
5653
5654         * database.c: Berkeley DB wants __STDC__ to be defined.
5655
5656 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5657
5658         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
5659
5660 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5661
5662         * process-unix.c (unix_send_process): Fix C++ compile error.
5663
5664 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
5665
5666         * Added .dylib as an acceptable shared library file extension
5667         * to support MacOSX.
5668
5669 2003-02-01  Martin Buchholz  <martin@xemacs.org>
5670
5671         * EmacsFrameP.h (EmacsFramePart):
5672         Kludge to allow compiling with Motif1, but linking with Motif2.
5673
5674 2003-01-28  Martin Buchholz  <martin@xemacs.org>
5675
5676         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
5677
5678
5679 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
5680
5681         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
5682
5683 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
5684
5685         * sysdll.c: Included lisp.h to define needed alloca_array.
5686
5687 2003-02-13  Martin Buchholz  <martin@xemacs.org>
5688
5689         Make XEmacs redisplay 10 times faster.
5690         If, that is, you're using a slow X connection and MoveOpaque.
5691         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
5692         Use compress_motion = TRUE.
5693         * EmacsFrame.c (emacsFrameClassRec): 
5694         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
5695         * EmacsManager.c (emacsManagerClassRec):
5696         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
5697
5698 2003-01-30  Vin Shelton  <acs@xemacs.org>
5699
5700         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
5701
5702 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
5703
5704         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
5705         Patch by Martin Buchholz.
5706
5707 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
5708
5709         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
5710         Thanks to icc for warning and Martin Buchholz for reporting.
5711
5712 2003-01-29  Vin Shelton <acs@xemacs.org>
5713
5714         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
5715
5716         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
5717         remember to multiply by the element size.
5718
5719 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
5720
5721         * XEmacs 21.4.12 "Portable Code" is released.
5722
5723 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
5724
5725         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
5726         * s/cygwin.sc: new linker file.
5727
5728 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
5729
5730         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
5731
5732         * redisplay-x.c (x_output_string): Use X11-specified types.
5733         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
5734         * emacs.c (__free_hook): Use typeof with Intel compiler.
5735         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
5736
5737 2003-01-08  Andy Piper  <andy@xemacs.org>
5738
5739         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
5740         reserve size during unexec().
5741
5742 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
5743
5744         * process-unix.c (unix_create_process): Don't let outchannel block.
5745
5746 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
5747
5748         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
5749         Needed for IsBadReadPtr().
5750
5751 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
5752
5753         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
5754
5755 2002-12-14  Ben Wing  <ben@xemacs.org>
5756
5757         * callint.c: Declaration error.
5758         * dumper.c (pdump):
5759         * dumper.c (pdump_load): Warning fix.
5760         * process.c: GCPRO error.
5761         * glyphs.c (unmap_subwindow):
5762         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
5763         * event-stream.c (maybe_kbd_translate): Wrong argument to
5764         character_to_event().
5765
5766         * alloc.c (garbage_collect_1):
5767         * emacs.c:
5768         * emacs.c (debug_can_access_memory):
5769         * emacs.c (fatal_error_signal):
5770         * emacs.c (mswindows_handle_hardware_exceptions):
5771         * emacs.c (main_1):
5772         * emacs.c (main):
5773         * emacs.c (assert_failed):
5774         * emacs.c (syms_of_emacs):
5775         * lisp.h:
5776         * print.c:
5777         * print.c (std_handle_out_va):
5778         * print.c (write_string_to_stdio_stream):
5779         * print.c (write_fmt_string):
5780         * print.c (printing_badness):
5781         * print.c (printing_major_badness):
5782         * print.c (print_internal):
5783         * print.c (debug_print_no_newline):
5784         * print.c (debug_backtrace):
5785         Be more defensive in handling bad values when printing.  Add code
5786         from trunk involving inhibit_non_essential_printing_operations.
5787         When going down or in debug_print(), don't do external conversion
5788         and such and try really, really hard when printing to avoid core
5789         dumping.  Add force-debugging-signal, debug_break().
5790
5791 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
5792
5793         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
5794         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
5795
5796 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
5797
5798         * database.c: Fix open_database. Berkeley DB API has changed in
5799         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
5800
5801 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
5802
5803         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
5804
5805 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
5806
5807         * event-Xt.c (Xt_timeout):
5808         (Xt_timeout_callback):
5809         (emacs_Xt_add_timeout):
5810         (emacs_Xt_remove_timeout):
5811         (Xt_timeout_to_emacs_event):
5812         Turn completed_timeouts from a stack into a queue.  Fixes
5813         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
5814
5815 2002-11-07  Wolfram Gloger  <wg@malloc.de>
5816
5817         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
5818         * emacs.c (main): Assert that mmap'd allocation is disabled.
5819
5820 2002-10-14  Andy Piper  <andy@xemacs.org>
5821
5822         * glyphs-widget.c (layout_query_geometry): add in fiddle
5823         factor. Include border text in width layout calculation.
5824         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
5825
5826 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
5827
5828         * XEmacs 21.4.10 "Military Intelligence" is released.
5829
5830 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
5831
5832         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
5833         using the NAS private array SoundFileInfo that no longer exists in
5834         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
5835         and earlier.  This is broken for some versions between 1.5a and
5836         1.5f.
5837
5838 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
5839
5840         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
5841
5842         * emacs.c (shut_down_emacs): Improve crash message.
5843
5844 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
5845
5846         * file-coding.c (determine_real_coding_system): Check for coding
5847         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
5848         shebangs and Python PEP 263.
5849
5850 2002-10-08  Andy Piper  <andy@xemacs.org>
5851
5852         * glyphs-widget.c (layout_query_geometry): only resize dynamically
5853         if static sizes haven't been set.
5854
5855 2002-08-30  Mike Alexander  <mta@arbortext.com>
5856
5857         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
5858         to close a socket.
5859
5860 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
5861
5862         * callproc.c (child_setup): 21.4 doesn't have retry_close.
5863
5864 2002-09-20  Mike Sperber <mike@xemacs.org>
5865
5866         (This partially gets back my patch from 2002-07-20 without the
5867         bug.)
5868         * callproc.c (child_setup): Remove Ben's comment noting confusion
5869         over the file descriptors >= 3: close_process_descs() doesn't
5870         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
5871         * process-unix.c (unix_create_process): Call
5872         begin_dont_check_for_quit to inhibit unwanted interaction (and
5873         thus breaking of X event synchronicity) in the child.
5874
5875 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
5876
5877         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
5878         widget.
5879
5880 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
5881
5882         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
5883         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
5884         the xemacs process did not exit, but looped infinitely here.  This
5885         fixes that problem.
5886
5887 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
5888
5889         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
5890         (find_context): Improve comments.
5891
5892         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
5893         (re_match_2): An XCHAR_TABLE operation was missing.
5894
5895         Many of the following changes were inspired by Andy Piper's (now
5896         obsolete) patch to make syntax-table text property lookup optional.
5897
5898         [Documentation]
5899
5900         * syntax.h (top level): Document semantics of syntax flags.
5901         * syntax.c (comstr_start, Fforward_comment): Improve comments.
5902         * syntax.c, syntax.h (top level): Document syntax cache better in
5903         comments.
5904
5905         [Instrument syntax caching (temporary change)]
5906
5907         * syntax.h (enum syntax_cache_statistics_functions, struct
5908         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
5909         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
5910         * syntax.c (scan_words, Fforward_comment, scan_lists,
5911         Fbackward_prefix_characters):
5912         * font-lock.c (find_context):
5913         Use them to instrument syntax caching. 
5914         * syntax.c (struct syntax_cache_statistics, scs_statistics,
5915         syntax_cache_statistics_function_names): New type and variables.
5916         * syntax.c (update_syntax_cache): Update and report statistics.
5917
5918         [Major syntax cache optimizations]
5919
5920         syntax.c (lookup_syntax_properties): Default off.
5921
5922         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
5923         * syntax.c (update_syntax_cache):
5924         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
5925
5926         [Minor syntax cache optimizations and code clarifications]
5927
5928         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
5929         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
5930         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
5931         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
5932         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
5933         (Code clarification.)
5934
5935         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
5936         scan_lists): Compute code from syncode, use Boolean macros instead
5937         of redundant masking operations.  (Code clarification; any decent
5938         compiler can do this optimization.)
5939
5940         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
5941         for clarity.
5942
5943         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
5944         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
5945         use F*_single_property_change instead of F*_extent_change.
5946         Currently F*_single_property_change is _much_ less efficient.
5947
5948         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
5949         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
5950         syntax_cache.object properly, don't leave Qt or Qnil.
5951         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
5952         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
5953         tests for Qt or Qnil.
5954
5955 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
5956
5957         * redisplay.c (point_in_line_start_cache): 
5958         * extents.c (print_extent_1):
5959         Fix warnings.
5960
5961         * extents.c (Fset_extent_property): Document `syntax-table' property.
5962
5963         * extents.h (Fnext_single_property_change): EXFUN it.
5964
5965 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5966
5967         * search.c (clear_unused_search_regs): New static function.
5968         (search_buffer): 
5969         (simple_search): 
5970         (boyer_moore):
5971         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
5972         Minor clarifications in comments.
5973
5974         * regex.c (re_match_2_internal): Ensure no stale submatches.
5975
5976 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
5977
5978         * event-Xt.c (enqueue_focus_event): Add missing prototype.
5979
5980 2002-08-29  Jerry James  <james@xemacs.org>
5981
5982         * lisp.h: structrures -> structures.
5983
5984 2002-06-03  Andy Piper  <andy@xemacs.org>
5985
5986         * frame.c (frame_conversion_internal): add conversion appropriate
5987         for setting frame dimensions in pixels.
5988
5989         * console.h (struct console_methods): add device-specific widget
5990         layout functions.
5991
5992         * emacs.c (main_1): initialize glyph vars.
5993
5994         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
5995         (handle_focus_event_2): new function. Allow focus to
5996         be set to a particular window and widget.
5997         (enqueue_focus_event): new function. Create a
5998         synthetic focus event.
5999         (emacs_Xt_handle_magic_event): call
6000         handle_focus_event_2.
6001
6002         * frame.c (Fset_frame_pixel_height): new function. Allow
6003         pixel-based sizing. Does the right thing on character-oriented
6004         displays.
6005         (Fset_frame_pixel_width): ditto.
6006         (Fset_frame_pixel_size): ditto.
6007         (syms_of_frame): declare.
6008
6009         * general-slots.h: add :vertically-justify and
6010         :horizontally-justify.
6011
6012         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
6013         (mswindows_widget_border_width): new function.
6014         (mswindows_combo_box_instantiate): set border widths.
6015         (console_type_create_glyphs_mswindows): declare.
6016
6017         * glyphs-widget.c:
6018         (check_valid_justification): allow vertical and horizontal
6019         justification.
6020         (widget_border_width): new function. Call device methods.
6021         (widget_instance_border_width): ditto.
6022         (logical_unit_height): new function. Determine the height of a
6023         logical-unit. Logical units are intended to provide grid-like
6024         layout for subcontrols in a layout. If the layout is
6025         :vertically-justify top then subcontrols will be positioned on
6026         logical-unit boundaries, thus allowing adjacent subcontrols to
6027         line up.
6028         (widget_logical_unit_height): ditto for widgets.
6029         (redisplay_widget): misc cleanup.
6030         (widget_spacing): new function. Call device specific
6031         methods. Intended to be the default gap between adjacent widgets.
6032         (widget_query_geometry): use new spacing functions to determine
6033         appropriate geometry.
6034         (initialize_widget_image_instance): initialize horizontal and
6035         vertical justification.
6036         (widget_instantiate): use logica-units where appropriate for
6037         sizing large widgets.
6038         (button_query_geometry): use widget_instance_border_width.
6039         (tree_view_query_geometry): ditto.
6040         (tab_control_query_geometry): ditto.
6041         (edit_field_query_geometry): new function.
6042         (layout_update): pick up :justify, :horizontally-justify and
6043         :vertically-justify none of which worked previously. :justify is
6044         used as a fallback for both horizontal and vertical justification.
6045         (layout_query_geometry): use logical units to size appropriately.
6046         (layout_layout): ditto.
6047         (Fwidget_logical_to_character_width): new function. Allow users to
6048         convert from logical units to characters so that frame sizes can
6049         be set appropriately.
6050         (Fwidget_logical_to_character_height): ditto.
6051         (syms_of_glyphs_widget): declare.
6052         (image_instantiator_edit_fields): add edit_field_query_geometry.
6053         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
6054         :horizontally-justify.
6055         (specifier_vars_of_glyphs_widget): new function. Declare
6056         Vwidget_border_width which is not yet used.
6057
6058         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
6059         (x_widget_border_width): new function.
6060         (x_widget_instantiate): create a sensible name for widgets.
6061         (console_type_create_glyphs_x): declare x_widget_border_width.
6062
6063         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
6064         (struct Lisp_Image_Instance): add :vertically-justify and
6065         :horizontally-justify.
6066         (LAYOUT_JUSTIFY_TOP): new.
6067         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
6068         (ROUND_UP): new macro. Round argument up to next integral
6069         interval.
6070
6071         * redisplay-output.c (redisplay_output_layout): misc formatting.
6072
6073         * symsinit.h: declare specifier_vars_of_glyphs_widget.
6074
6075 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
6076
6077         * XEmacs 21.4.9 "Informed Management" is released.
6078
6079 2002-08-19  Andy Piper  <andy@xemacs.org>
6080
6081         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
6082         win32 format.
6083
6084         * realpath.c (xrealpath): normalize drive spec also so that dir
6085         sep chars are not mixed on cygwin.
6086
6087 2002-08-06  Jerry James  <james@xemacs.org>
6088
6089         * window.c (Fsplit_window): Count only half of the divider width
6090         against the left window when splitting horizontally. 
6091
6092 2002-06-24  Andy Piper  <andy@xemacs.org>
6093
6094         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
6095         toolbar was cleared.
6096
6097         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
6098         function. Split out from mswindows_output_frame_toolbars.
6099         (mswindows_output_frame_toolbars): move clear pieces to
6100         mswindows_output_frame_toolbars.
6101
6102         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
6103         out from gtk_output_frame_toolbars.
6104         (gtk_output_frame_toolbars): move clear pieces to
6105         gtk_clear_frame_toolbars.
6106
6107         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
6108         the frame is cleared. How this ever worked before is a mystery.
6109         (x_output_frame_toolbars): Only output toolbars.
6110         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
6111
6112         * gutter.c (update_gutter_geometry):
6113         Mark frame layout changed.
6114         (update_frame_gutter_geometry, update_frame_gutters):
6115         Respect frame_layout_changed.
6116
6117         * console.h (struct console_methods): add
6118         clear_frame_toolbars_method.
6119
6120         * redisplay.c (redisplay_frame): call
6121         update_frame_toolbars_geometry and re-order update_frame_toolbars.
6122
6123         * toolbar.h: declare update_frame_toolbars_geometry.
6124
6125         * toolbar.c (update_frame_toolbars_geometry): new function. Split
6126         out from update_frame_toolbars.  Call clear_frame_toolbars.
6127         (update_frame_toolbars): only output, do not change geometry.
6128
6129         * redisplay.c: add frame_layout_changed.
6130
6131         * redisplay.h: add frame_layout_changed.
6132         (CLASS_RESET_CHANGED_FLAGS): set it.
6133         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
6134         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
6135         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
6136
6137         * device.h (struct device): add frame_layout_changed.
6138         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
6139
6140         * frame.h (struct frame): add frame_layout_changed.
6141         (MARK_FRAME_LAYOUT_CHANGED): new.
6142
6143 2002-06-30  Mike Alexander  <mta@arbortext.com>
6144
6145         * event-msw.c (mswindows_need_event): Don't wait for a new message
6146         if the queue is not empty.  Suggested by Paul Moore.
6147
6148 2002-06-12  Andy Piper  <andy@xemacs.org>
6149
6150         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
6151         for printing on accurately.
6152
6153 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
6154
6155         * event-msw.c (mswindows_wnd_proc): Add a handler for the
6156         WM_ACTIVATE message. Make sure that the frame is visible if the
6157         window is visible. This seemss to fix the problem where XEmacs
6158         appears to freeze after switching desktops with certain virtual
6159         window managers.
6160         (debug_output_mswin_message): Added code to output message
6161         parameters for WM_WINDOWPOSCHANGED, 
6162         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
6163
6164 2002-05-25  Andy Piper  <andy@xemacs.org>
6165
6166         * select-x.c (vars_of_select_x): Fix docstring of
6167         x-selection-strict-motif-ownership
6168
6169 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6170
6171         * keymap.c (get_keymap):
6172         Add comment about do_autoload GCPROs own args.
6173
6174 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6175
6176         * bytecode.c (execute_optimized_program): check_opcode ifdef
6177         ERROR_CHECK_BYTE_CODE.
6178
6179 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6180
6181         Thanks to Ben Wing and Michael Sperber.
6182
6183         * eval.c (Fcommand_execute):
6184         (Feval):
6185         (Ffuncall):
6186         (Fmacroexpand_internal):
6187         (function_argcount):
6188         callint.c (Fcall_interactively):
6189         Add comment about do_autoload GCPROs own args.
6190
6191         * (do_autoload): GCPRO both args as well as local Lisp_Object.
6192
6193         * eval.c (Ffuncall): Extra braces to placate GCC.
6194
6195 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
6196
6197         * backtrace.h (grow_specpdl):
6198         (SPECPDL_RESERVE):
6199         * EmacsFrame.c (EmacsFrameSetValues):
6200         * eval.c (grow_specpdl):
6201         * ExternalShell.c (hack_event_masks_1):
6202         * glyphs-x.c (convert_EImage_to_XImage): 
6203         (x_finalize_image_instance):
6204         * ralloc.c (page_size):
6205         (r_alloc_sbrk):
6206         * xgccache.c (gc_cache_hash):
6207         Fix unsigned comparison warnings.
6208
6209 2002-07-29  Jerry James  <james@xemacs.org>
6210
6211         * lread.c (locate_file): Any nonnegative return value indicates
6212         success if MODE is nonnegative.
6213
6214 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
6215
6216         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
6217         argument. 
6218
6219 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
6220
6221         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
6222
6223         * dumper.c (pdump_get_indirect_count):
6224         (pdump_scan_by_alignment):
6225         (pdump_dump_root_struct_ptrs):
6226         (pdump_dump_rtables):
6227         (pdump_dump_root_objects):
6228         (pdump):
6229         * nas.c (WaveOpenDataForReading):
6230         * fns.c (print_bit_vector):
6231         * font-lock.c (SINGLE_SYNTAX_STYLE):
6232         * glyphs.c (check_for_ignored_expose):
6233         (find_matching_subwindow):
6234         * glyphs-eimage.c:
6235         * imgproc.c (get_histogram):
6236         * redisplay.c (point_in_line_start_cache):
6237         * redisplay-output.c (redisplay_unmap_subwindows):
6238         * symbols.c (defsymbol_massage_name_1):
6239         (defkeyword_massage_name):
6240         (deferror_massage_name_and_message):
6241         * redisplay-x.c (x_output_string): 
6242         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
6243         * frame.h (struct frame):
6244         * filelock.c (current_lock_owner):
6245         * doprnt.c (emacs_doprnt_1):
6246         * lisp.h (struct Lisp_Bit_Vector):
6247         (DO_REALLOC):
6248         Fix warnings.
6249
6250 2002-02-13  Ben Wing  <ben@xemacs.org>
6251
6252         * event-stream.c (reset_key_echo):
6253         * event-stream.c (reset_this_command_keys):
6254         * event-stream.c (execute_command_event):
6255         If console is dead as a result of C-x 5 0, then post-command stuff
6256         needs to be careful and do only non-console-specific stuff.
6257
6258 2002-07-01  Mike Sperber <mike@xemacs.org>
6259
6260         * process-unix.c (unix_send_process): Mark coding_outstream as
6261         non-open upon SIGPIPE.
6262
6263         * event-stream.c (Fnext_event): Reorder switch cases to something
6264         that makes sense.
6265
6266 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
6267
6268         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
6269         Don't bogusly reinitialize ascii_character property.
6270
6271 2002-07-08  Mike Sperber <mike@xemacs.org>
6272
6273         * process.c (Fstart_process_internal): Do error checking before we
6274         fork off the child, so the child can't muck with the state of the
6275         parent.
6276
6277 2002-07-08  Mike Sperber <mike@xemacs.org>
6278
6279         * ralloc.c (init_ralloc): Allocate properly for pdump.
6280
6281 2002-06-12  Andy Piper  <andy@xemacs.org>
6282
6283         * glyphs.c (query_string_geometry): check the string.
6284
6285         * glyphs-widget.c (widget_logical_unit_height): cope with nil
6286         widget names.
6287
6288 2002-06-17  Jerry James  <james@xemacs.org>
6289
6290         * sysdll.c: Remove RTLD_GLOBAL initialization.
6291         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
6292
6293 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
6294
6295         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
6296
6297 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
6298
6299         * sysdep.c (sys_rename): Make sys_rename work for the case where
6300         Windows rename sets errno to EACCES if target file exists.
6301
6302 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
6303
6304         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6305         Fix detection of metric units to work on Win95
6306
6307 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
6308
6309         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
6310
6311 2002-04-25  Andy Piper  <andy@xemacs.org>
6312
6313         * redisplay.c (create_text_block): Remove extra comment trailer.
6314
6315 2002-04-24  Andy Piper  <andy@xemacs.org>
6316
6317         * redisplay.c (create_text_block): Don't actually add propagation
6318         data if the line ends after we have added a glyph.
6319
6320 2002-04-22  Andy Piper  <andy@xemacs.org>
6321
6322         * extents.c (extent_fragment_update): check for glyphs we have
6323         previously displayed.
6324         * extents.c (print_extent_1): warning removal.
6325         * extents.h: change prototype.
6326         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
6327         widths correctly for wide glyphs.
6328         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
6329         * redisplay.c (prop_type): add PROP_GLYPH.
6330         * redisplay.c (struct prop_block): add glyph type
6331         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
6332         to the propagation data.
6333         * redisplay.c (create_text_block): if there is a glyph in the
6334         propagation data use it to salt extent_fragment_update.
6335         * redisplay.c (create_string_text_block): ditto.
6336
6337 2002-04-13  Nix  <nix@esperi.demon.co.uk>
6338
6339         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
6340         * redisplay-output.c (compare_runes): Compare them.
6341         * redisplay.c: Update copyright date.
6342         * redisplay.c (pos_data): Add need_baseline_computation field.
6343         * redisplay.c (add_glyph_rune): Update ascent, descent, and
6344         need_baseline_computation; zero yoffset. Set max_pixmap_height
6345         for all pixmaps, not just automatically positioned ones.
6346         * redisplay.c (calculate_yoffset): New, compute yoffset values.
6347         * redisplay.c (calculate_baseline): New, compute textual baseline.
6348         * redisplay.c (add_glyph_rune): Call them.
6349         * redisplay.c (create_text_block): Likewise.
6350         * redisplay.c (create_overlay_glyph_block): Likewise.
6351         * redisplay.c (add_margin_runes): Likewise.
6352         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
6353
6354         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
6355         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
6356         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
6357         * redisplay-msw.c (mswindows_output_string): Likewise.
6358         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
6359         * redisplay-gtk.c (gtk_output_display_block): Likewise.
6360         * redisplay-x.c (x_output_display_block): Likewise.
6361
6362 2002-03-28  Ben Wing  <ben@xemacs.org>
6363
6364         * redisplay.c: Fixed bug in redisplay
6365         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
6366         and down of the lines, since they're bigger than the line
6367         size. (It was seen most obviously when there's a horizontal scroll
6368         bar, e.g. do C-h a glyph or something like that.) The problem was
6369         that the glyph-contrib-p setting on glyphs was ignored even if it
6370         was set properly, which it wasn't until now.
6371
6372 2002-04-24  Andy Piper  <andy@xemacs.org>
6373
6374         * lisp.h (Dynarr_end): Fix definition.
6375
6376 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
6377
6378         * redisplay.c (mark_redisplay): Remove call to
6379         update_frame_window_mirror.
6380
6381 2001-11-15  Andy Piper  <andy@xemacs.org>
6382
6383         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
6384         cygwin (again).
6385
6386 2002-02-13  Andy Piper  <andy@xemacs.org>
6387
6388         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
6389         we did in fact enqueue the XM_MAPFRAME event.
6390
6391 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
6392
6393         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
6394         to fix problem switching between virtual desktops under virtuawin
6395         virtual window manager.
6396
6397 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
6398
6399         * event-msw.c: Typo fix.
6400         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
6401         magic XM_MAPFRAME event has been sent.
6402
6403 2001-11-23  Andy Piper  <andy@xemacs.org>
6404
6405         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
6406
6407 2001-11-21  Andy Piper  <andy@xemacs.org>
6408
6409         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
6410         mouse events outside the frame.
6411
6412 2002-03-20  Andy Piper  <andy@xemacs.org>
6413
6414         * menubar-msw.c (mswindows_popup_menu): warning removal.
6415         * dialog-msw.c (dialog_popped_down): ditto.
6416
6417 2001-12-11  Andy Piper  <andy@xemacs.org>
6418
6419         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
6420         * dialog-msw.c (mswindows_make_dialog_box_internal): set
6421         popup_up_p.
6422         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
6423         * menubar-msw.c (mswindows_handle_wm_command): ditto.
6424         * menubar-msw.c (mswindows_popup_menu): ditto.
6425
6426 2001-10-29  Andy Piper  <andy@xemacs.org>
6427
6428         * dialog-msw.c (handle_directory_dialog_box): quit if the user
6429         cancels.
6430
6431 2002-01-03  Andy Piper  <andy@xemacs.org>
6432
6433         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
6434         letters.
6435         (xrealpath): ditto.
6436
6437 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
6438
6439         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
6440         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
6441         * device-msw.c (mswindows_handle_page_setup_dialog_box):
6442         Detect and handle case where machine is set up for metric units
6443
6444 2002-04-02  Andy Piper  <andy@xemacs.org>
6445
6446         * dired-msw.c (mswindows_get_files): 
6447         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
6448         completely handled by XEmacs. Suggested by Thomas Vogler
6449         <mail@thomas-vogler.de>.
6450
6451 2001-11-14  Andy Piper  <andy@xemacs.org>
6452
6453         * nt.c (REG_ROOT): change registry key to XEmacs.
6454
6455 2002-04-27  Andy Piper  <andy@xemacs.org>
6456
6457         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
6458
6459 2002-04-26  Andy Piper  <andy@xemacs.org>
6460
6461         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
6462         behavior.
6463
6464 2002-03-14  Mike Alexander  <mta@arbortext.com>
6465
6466         * event-msw.c (mswindows_unwait_process): New, remove process from
6467         wait list
6468         * process-nt.c (nt_finalize_process_data): Call
6469         mswindows_unwait_process
6470         * console-msw.h: Declare mswindows_unwait_process
6471
6472 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
6473
6474         * editfns.c (Fdecode_time):
6475         (Fformat_time_string):
6476         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
6477         (make_time): Warning elimination (change arg name).
6478
6479 2001-11-24  Andy Piper  <andy@xemacs.org>
6480
6481         * window.c (Fsplit_window): Doc return type.
6482
6483 2002-04-01  Andy Piper  <andy@xemacs.org>
6484
6485         * emacs.c (Fkill_emacs): Only output message box in interactive
6486         mode.
6487
6488 2002-04-26  Andy Piper  <andy@xemacs.org>
6489  
6490         * config.h.in: pull in 21.5.x change to stop alloca warnings under
6491         cygwin.
6492
6493 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
6494
6495         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
6496         bit platform.
6497
6498 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
6499
6500         * XEmacs 21.4.8 "Honest Recruiter" is released.
6501
6502 2002-05-07  Nix  <nix@esperi.demon.co.uk>
6503
6504         Supersedes 2002-04-17 patch.
6505
6506         * process.h (PROCESS_LIVE_P): Use the process status as
6507         evidence of health, not the state of the input stream.
6508         (PROCESS_READABLE_P): Say if the process is readable
6509         from. (It may be dead nonetheless.)
6510         (CHECK_READABLE_PROCESS): Test for that condition.
6511
6512         * process.c (create_process): Use PROCESS_READABLE_P.
6513         (read_process_output, set_process_filter): Likewise.
6514
6515         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
6516         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
6517
6518         This code is #if 0'd, this is not the time to add new functions:
6519
6520         * process.c (Fprocess_readable_p): Report readability status.
6521         * process.c (Qprocess_readable_p): New, associated symbol...
6522         * process.c (syms_of_process): ... initialize it.
6523
6524 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
6525
6526         * XEmacs 21.4.7 "Economic Science" is released.
6527
6528 2002-04-17  Nix  <nix@esperi.demon.co.uk>
6529
6530         * process.h (PROCESS_LIVE_P): Use the process status as
6531         evidence of health, not the state of the input stream.
6532
6533 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
6534
6535         * sysdep.c (sys_siglist): change "signum" to "signal"
6536
6537 2001-04-21  Martin Buchholz  <martin@xemacs.org>
6538
6539         * s/darwin.h: New file.
6540         Thanks to Greg Parker <gparker@cs.stanford.edu>.
6541         
6542 2002-04-23  Andreas Jaeger  <aj@suse.de>
6543
6544         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
6545         which use lib64 for 64-bit libs.
6546         (START_FILES): Likewise.
6547
6548 2002-02-11  Mike Sperber  <mike@xemacs.org>
6549
6550         * device-x.c: 
6551         (x_IO_error_handler):
6552         (x_init_device): Temporarily keep device in static variable
6553         `device_being_initialized' so we can recover gracefully from
6554         internal XOpenDevice failure.  (XOpenDevice is documented to
6555         return NULL on failure, but sometimes calls the IO error handler
6556         instead.)
6557
6558 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
6559
6560         * dired.c (Ffile_name_all_completions): Change documentation --
6561         remove reference to completion-ignored-extensions.
6562         * dired.c (vars_of_dired): Change documentation for
6563         completion-ignored-extensions -- remove reference to
6564         file-name-all-completions.
6565
6566 2002-03-06  Jerry James  <james@xemacs.org>
6567
6568         * emodules.c (emodules_load): Fix multiple loading of same module.
6569
6570 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
6571         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
6572         RTLD_LAZY to avoid incorrect symbol binding when using nested
6573         shared libraries on Solaris.
6574
6575 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
6576
6577         * fileio.c (Ffind_file_name_handler): Improve docstring.
6578
6579 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
6580
6581         * fns.c (Fmapconcat): Improve docstring.
6582
6583 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
6584
6585         * device-gtk.c: Add prototype for
6586         emacs_gtk_selection_clear_event_handle.
6587         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
6588         selection.  Setup signal handler for "selection_clear_event"
6589         (emacs_gtk_selection_clear_event_handle).
6590
6591         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
6592         other applications owning the clipboard (based on
6593         x_handle_selection_clear).
6594
6595 2001-12-23  William M. Perry  <wmperry@gnu.org>
6596
6597         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
6598         
6599 2002-01-04  Martin Buchholz  <martin@xemacs.org>
6600
6601         * keymap.c (define_key_alternate_name): Parenthesize EQ.
6602
6603 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
6604
6605         * XEmacs 21.4.6 "Common Lisp" is released.
6606
6607 2001-12-16  Torsten Duwe  <duwe@caldera.de>
6608
6609         * search.c (Freplace_match): Add missing sub-expression functionality.
6610
6611         * buffer.c (decode_buffer): Add a check for pointer type to
6612         decode_buffer, before gcc's CSE optimization reorders a
6613         dereference in front of the allow_string test.
6614
6615 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
6616
6617         * window.c (window_loop): Fix bug that sometimes prevented
6618         window_loop() from iterating across multiple devices.  Also, at
6619         Ben's request, changed infloop-detecting code to abort() instead
6620         of silently terminating window_loop().
6621
6622 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
6623
6624         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
6625         * editfns.c (make_time): New function.
6626         (Fencode_time): Use it instead of wasteful_word_to_lisp.
6627         * lisp.h (make_time): Prototype and comment it.
6628         * dired.c (wasteful_word_to_lisp): Deprecate.
6629         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
6630
6631 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
6632
6633         * fileio.c (auto_save_1): Use current coding system, not
6634         escape-quoted.
6635
6636 2001-11-13  Ben Wing  <ben@xemacs.org>
6637
6638         * window.c:
6639         * window.c (window_truncation_on):
6640         * window.c (syms_of_window):
6641         truncate-partial-width-windows should respect the buffer being
6642         displayed, like other redisplay vars.
6643
6644 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
6645
6646         * event-stream.c (Fread_key_sequence): save current buffer.
6647
6648 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6649
6650         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
6651
6652 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
6653
6654         * alloc.c (lcrecord_stats): Add space for types defined in modules.
6655
6656 2001-10-26  Mike Alexander  <mta@arbortext.com>
6657
6658         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
6659
6660 2001-10-25  Andy Piper  <andy@xemacs.org>
6661
6662         * ChangeLog:
6663         * dialog-msw.c (handle_directory_proc): new function.
6664          (handle_directory_dialog_box): new fucntion.
6665          (handle_file_dialog_box): use new directory dialog support.
6666          (mswindows_make_dialog_box_internal): ditto.
6667         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
6668         handling.
6669         (mswindows_find_frame): make global.
6670         * fileio.c (Fexpand_file_name): build fix.
6671         * general-slots.h: add Qdirectory.
6672         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
6673         handling.
6674         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
6675         cygwin not leaving win32 paths unchanged.
6676         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
6677         cygwin runtime to do path conversion.
6678         (Fmswindows_shell_execute): fix cygwin handling of URLs.
6679         (syms_of_win32): add new function.
6680         * window.c (window_loop): build fix.
6681
6682 2001-10-15  Andy Piper  <andy@xemacs.org>
6683
6684         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
6685
6686 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
6687
6688         * XEmacs 21.4.5 "Civil Service" is released.
6689
6690 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
6691
6692         * glyphs-x.c: Force buffer-tab highlight update when moving the
6693         buffer, avoiding an ugly black border, used for keyboard focus
6694         indication, on a widget that can never have keyboard focus, the
6695         buffer tab.
6696
6697 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
6698
6699         * process-unix.c (unix_open_multicast_group): Remove too much
6700         conversion between host and network byte order.
6701
6702 2001-09-10  Nix  <nix@esperi.demon.co.uk>
6703
6704         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
6705         before replacing them.
6706
6707         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
6708         operation.
6709
6710         * src/window.c (undedicate_windows): Use it.
6711         * src/window.h: Add prototype.
6712
6713 2001-09-17  Ben Wing  <ben@xemacs.org>
6714
6715         * fileio.c (normalize_filename):
6716         * fileio.c (Fexpand_file_name):
6717         Fix various C++ compile errors in Andy's recent code.
6718         
6719         * callint.c (Fcall_interactively):
6720         * editfns.c (Ftemp_directory):
6721         * editfns.c (Fuser_full_name):
6722         * emacs.c (argmatch):
6723         * lread.c (locate_file_map_suffixes):
6724         * redisplay-x.c (x_ring_bell):
6725         Fix sign-compare warnings.
6726         
6727 2001-09-08  Andy Piper  <andy@xemacs.org>
6728
6729         * fileio.c (normalize_filename): copied from nt.c
6730         * (Ffile_name_directory): enable win32 paths under cygwin.
6731         * (Ffile_name_nondirectory): ditto.
6732         * (directory_file_name): ditto.
6733         * (Fexpand_file_name): ditto.
6734         * (Ffile_truename): ditto.
6735         * (Fsubstitute_in_file_name): ditto.
6736         * (Ffile_name_absolute_p): ditto.
6737         * (Ffile_readable_p): ditto.
6738
6739 2001-09-08  Andy Piper  <andy@xemacs.org>
6740
6741         * device-msw.c (mswindows_finish_init_device): remove dde
6742         initialization.
6743         * device-msw.c (mswindows_init_dde): factor out from
6744         mswindows_finish_init_device()
6745         * device-msw.c (init_mswindows_very_early): new function
6746         initialize but don't enable dde.
6747         * emacs.c (main_1): call init_mswindows_very_early.
6748         * event-msw.c:
6749         * event-msw.c (mswindows_dde_callback): only execute when we are
6750         ready.
6751         * symsinit.h: declare init_mswindows_very_early.
6752
6753 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6754
6755         [sjt: This has been in 21.5 for months with no complaints.]
6756
6757         * console.h (struct console_methods): Added flags member.
6758         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
6759         (CONMETH_IMPL_FLAG):
6760         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
6761         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6762
6763         * device.c (window_system_pixelated_geometry): Use the above macros.
6764
6765         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
6766         implememntation flag.
6767         * device.h (DEVICE_DISPLAY_P): Use it.
6768
6769         * frame.c (delete_frame_internal): Use the above macro.
6770
6771         * redisplay.c (redisplay_device): Use it.
6772         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
6773         (redisplay_frame): Ditto.
6774
6775         * device-msw.c (mswindows_device_implementation_flags): Removed.
6776         (msprinter_device_implementation_flags): Removed.
6777         (console_type_create_device_mswindows): Removed references to
6778         implementation_flags methods, set implementation flags here.
6779         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
6780
6781         * device-gtk.c (gtk_device_implementation_flags): Removed method.
6782         (console_type_create_device_gtk): Removed method declaration.
6783         Added commented out statement which semantically matches the
6784         commented out statement in the above removed method.
6785
6786 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
6787
6788         The attached patch fixes a few warnings. 
6789
6790         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
6791         * src/frame-gtk.c: guard against GNOME calls in GTK only
6792         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
6793         * src/select-gtk.c: prototype lisp_to_time
6794
6795 2001-06-08  Ben Wing  <ben@xemacs.org>
6796
6797         ------ gc-in-window-procedure fixes ------
6798         
6799         * alloc.c:
6800         * alloc.c (struct post_gc_action):
6801         * alloc.c (register_post_gc_action):
6802         * alloc.c (run_post_gc_actions):
6803         * alloc.c (garbage_collect_1):
6804         Create "post-gc actions", to avoid those dreaded "GC during window
6805         procedure" problems.
6806
6807         * event-msw.c:
6808         Abort, clean and simple, when GC in window procedure.  We want
6809         to flush these puppies out.
6810
6811         * glyphs-msw.c:
6812         * glyphs-msw.c (finalize_destroy_window):
6813         * glyphs-msw.c (mswindows_finalize_image_instance):
6814         Use a post-gc action when destroying subwindows.
6815
6816         * lisp.h:
6817         Declare register_post_gc_action().
6818
6819         * scrollbar-msw.c:
6820         * scrollbar-msw.c (unshow_that_mofo):
6821         Use a post-gc action when unshowing scrollbar windows, if in gc.
6822
6823         * redisplay.c (mark_redisplay):
6824         Add comment about the utter evilness of what's going down here.
6825
6826         ------ cygwin setitimer fixes ------
6827         
6828         * Makefile.in.in (sheap_objs):
6829         * Makefile.in.in (profile_objs):
6830         * Makefile.in.in (objs):
6831         Compile profile.c only when HAVE_SETITIMER.
6832         
6833         * nt.c (mswindows_sigset):
6834         * nt.c (mswindows_sighold):
6835         * nt.c (mswindows_sigrelse):
6836         * nt.c (mswindows_sigpause):
6837         * nt.c (mswindows_raise):
6838         * nt.c (close_file_data):
6839         Style fixes.
6840         
6841         * nt.c:
6842         Move setitimer() emulation to win32.c, because Cygwin needs it too.
6843         
6844         * profile.c:
6845         * profile.c (Fstart_profiling):
6846         * profile.c (Fstop_profiling):
6847         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
6848         instead of just plain setitimer().
6849         
6850         * signal.c:
6851         * signal.c (set_one_shot_timer):
6852         * signal.c (alarm):
6853         Define qxe_setitimer() as an encapsulation around setitimer() --
6854         call setitimer() directly unless Cygwin or MS Win, in which case
6855         we use our simulated version in win32.c.
6856         
6857         * systime.h:
6858         * systime.h (struct itimerval):
6859         * systime.h (ITIMER_REAL):
6860         Prototype mswindows_setitimer() and qxe_setitimer().  Long
6861         comment about "qxe" and the policy regarding encapsulation.
6862
6863         * win32.c:
6864         * win32.c (setitimer_helper_proc):
6865         * win32.c (setitimer_helper_period):
6866         * win32.c (setitimer_helper):
6867         * win32.c (mswindows_setitimer):
6868         Move setitimer() emulation here, so Cygwin can use it.
6869         Rename a couple of functions and variables to be longer and more
6870         descriptive.  In setitimer_helper_proc(), send the signal
6871         using either mswindows_raise() or (on Cygwin) kill().  If for
6872         some reason we are still getting lockups, we'll change the kill()
6873         to directly invoke the signal handlers.
6874
6875         ------ windows shell fixes ------
6876         
6877         * callproc.c:
6878         * ntproc.c:
6879         Comments about how these two files must die.
6880
6881         * callproc.c (init_callproc):
6882         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
6883         not just COMSPEC. (more correct and closer to FSF.) Don't
6884         force a value for SHELL into the environment. (Comments added
6885         to explain why not.)
6886         
6887         * nt.c (init_user_info):
6888         Don't shove a fabricated SHELL into the environment.  See above.
6889
6890 2001-06-01  Ben Wing  <ben@xemacs.org>
6891
6892         * Makefile.in.in (ldflags):
6893         eliminate that pesky "defaulting to 00401000" warning.
6894         * nt.h:
6895         eliminate warnings.
6896
6897 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
6898
6899         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
6900         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
6901
6902 2001-04-24  Jerry James <james@xemacs.org>
6903
6904         * faces.h: pass parameters to Fadd_spec_to_specifier in the
6905         correct order.
6906
6907 2001-06-01  Ben Wing  <ben@xemacs.org>
6908
6909         * event-msw.c (debug_mswin_messages):
6910         conditionalize the messages that were causing compile errors.
6911         (if only macros could generate #ifdef statements ...)
6912
6913 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
6914
6915         * XEmacs 21.4.4 "Artificial Intelligence" is released.
6916
6917 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6918
6919         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
6920
6921 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
6922
6923         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
6924         * process-unix.c (unix_canonicalize_host_name):
6925         sysdep.c (init_system_name):
6926         Use it to conditionally support IPv6 canonicalization.
6927
6928 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
6929
6930         * event-msw.c:
6931         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
6932
6933 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
6934
6935         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
6936         attempt is made to scroll when no scroll bar is available.
6937
6938 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
6939
6940         * input-method-motif.c (XIM_delete_frame): New callback.
6941         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
6942         got deleted from 21.4.3.)
6943
6944 2001-06-01  Ben Wing  <ben@xemacs.org>
6945
6946         * nt.c (mswindows_utime):
6947         * nt.c (close_file_data):
6948         fix off-by-one-indirection error.
6949
6950 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
6951
6952         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
6953         because set_file_times() now takes Lisp_Object path, instead of
6954         char*.
6955         * nt.c: Include buffer.h.
6956         * nt.c (convert_from_time_t): New.
6957         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
6958         not set mtime correctly.
6959         * nt.h: Declare mswindows_utime().
6960         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
6961         path, instead of char*.
6962         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
6963
6964 2001-05-30  Ben Wing  <ben@xemacs.org>
6965
6966         For 21.4:
6967
6968         (Stephen, just take all event-msw.c patches.  This includes
6969         the "iconify" fix below.)
6970
6971         * event-msw.c:
6972         * event-msw.c (mswindows_dequeue_dispatch_event):
6973         * event-msw.c (assert):
6974         * event-msw.c (emacs_mswindows_quit_p):
6975         * event-msw.c (debug_mswin_messages):
6976         * event-msw.c (debug_output_mswin_message):
6977         * event-msw.c (vars_of_event_mswindows):
6978         Fix yet more problems with C-g handling.
6979         Implement debug-mswindows-events.
6980         
6981 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
6982
6983         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
6984         
6985 2001-05-23  Ben Wing  <ben@xemacs.org>
6986
6987         * event-msw.c (winsock_writer):
6988         * event-msw.c (winsock_closer):
6989         prior kludgy code was clobbering the buffer, thinking it was
6990         "unused" space to store an unneeded return value; instead, use
6991         the variable we've already got staring us in the face.
6992
6993 2001-05-17  Andy Piper  <andy@xemacs.org>
6994
6995         * sysfile.h: don't assume that file attributes are boolean
6996
6997 2001-05-23  Ben Wing  <ben@xemacs.org>
6998
6999         * device-msw.c (msprinter_init_device):
7000         signal an error rather than crash with an unavailable network
7001         printer (from Mike Alexander).
7002         
7003         * event-msw.c:
7004         * event-msw.c (struct winsock_stream):
7005         * event-msw.c (winsock_writer):
7006         * event-msw.c (winsock_closer):
7007         * event-msw.c (make_winsock_stream_1):
7008         cleanup headers.  fix (hopefully) an error with data corruption
7009         when sending to a network connection.
7010
7011         * fileio.c (Fexpand_file_name): Fix evil code that attempts
7012         to handle the ~user prefix by (a) always assuming we're referencing
7013         ourselves and not even verifying the user -- hence any file with
7014         a tilde as its first char is invalid! (b) if there wasn't a slash
7015         following the filename, the pointer was set *past* the end of
7016         file and we started reading from uninitialized memory.  Now we
7017         simply treat these as files, always.
7018
7019         * buffer.c (common_init_complex_vars_of_buffer): comment change.
7020         
7021 2001-05-19  Ben Wing  <ben@xemacs.org>
7022
7023         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
7024
7025         * process-nt.c:
7026         * process-nt.c (vars_of_process_nt):
7027         remove unused mswindows-quote-process-args.  rec for 21.4.
7028         
7029 2001-05-12  Ben Wing  <ben@xemacs.org>
7030
7031         * event-msw.c (mswindows_dde_callback):
7032         * event-msw.c (mswindows_wnd_proc):
7033         eliminate cygwin warnings.
7034
7035 2001-05-06  Ben Wing  <ben@xemacs.org>
7036
7037         * console-msw.h:
7038         * device-msw.c:
7039         * device-msw.c (print_dialog_worker):
7040         * device-msw.c (mswindows_handle_print_dialog_box):
7041         * device-msw.c (syms_of_device_mswindows):
7042         * dialog-msw.c (mswindows_make_dialog_box_internal):
7043         * general-slots.h:
7044         implement printing the selection when it's selected.
7045
7046 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
7047
7048         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
7049
7050 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
7051
7052         * lisp.h (EMACS_INT_MAX): This should be one bit less since
7053         EMACS_INT is signed.
7054
7055 2001-04-15  Michael Lausch  <mla@1012surf.net>
7056
7057         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
7058         gtk_widget_request_size() to give scrollbar >0 width for
7059         GTK >1.2.8.
7060
7061 2001-05-30  William M. Perry  <wmperry@gnu.org>
7062
7063         * event-gtk.c: Check for buttons as modifier keys.
7064
7065 2001-05-25  Craig Lanning  <CraigL@Knology.net>
7066
7067         * s\mingw32.h:
7068         Properly find MinGW's <process.h> inside Cygwin's restructured
7069         include directories.  Don't try to include <cygwin/version.h>
7070         since we are dropping support for MinGW in versions of Cygwin
7071         earlier than b21.
7072         * nt.c:
7073         Drop support for MinGW in versions of Cygwin before b21.
7074         * sysdep.c:
7075         Properly find MinGW's <process.h> inside Cygwin's restructured
7076         include directories.
7077         * syswindows.h:
7078         Drop support for MinGW in versions of Cygwin before b21.
7079         * unexcw.c:
7080         Even though a.out.h is no longer detected by configure, allow
7081         MinGW to use it until we figure out how to do the job with Win32.
7082
7083 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
7084
7085         * syntax.c (find_start_of_comment):
7086         Fix `unbalanced parentheses' bug when dealing with mixed comment
7087         styles in c++/java/etc. mode
7088
7089 2001-05-29  Mike Alexander  <mta@arbortext.com>
7090
7091         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
7092         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
7093
7094 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
7095
7096         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
7097
7098 2001-03-31  Mike Sperber <mike@xemacs.org>
7099
7100         * search.c (Freplace_match): Support FSF-style specification of
7101         match subexpression when applied to a buffer.
7102
7103 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7104
7105         * event-stream.c (is_scrollbar_event): add missing semicolon
7106
7107 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
7108
7109         * Makefile.in.in: Use TAR macro instead of hardcoding
7110           tar.  Allows use of GNU tar instead of system tar
7111
7112 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
7113
7114         * event-stream.c (is_scrollbar_event): add missing semicolon
7115
7116 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7117
7118         * XEmacs 21.4.3 "Academic Rigor" is released.
7119
7120 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
7121
7122         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
7123
7124 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
7125
7126         * buffer.c (Vcase_fold_search): Remove obsolete
7127           comment about non ASCII case-fold-search.  This
7128           bug has been fixed by case-table changes.
7129
7130 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
7131
7132         * event-msw.c: Restore include of events-mod.h.
7133
7134 2001-04-22   zhaoway  <zw@debian.org>
7135
7136         * event-stream.c (is_scrollbar_event): Noop returning 0 if
7137         !HAVE_SCROLLBARS.
7138
7139 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
7140
7141         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
7142
7143 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
7144
7145         * mule-charset.c (Fmake_charset): Add missing else.
7146
7147 2001-04-23  Ben Wing  <ben@xemacs.org>
7148
7149         * event-msw.c (FAKE_MOD_QUIT):
7150         * event-msw.c (mswindows_dequeue_dispatch_event):
7151         * event-msw.c (mswindows_wnd_proc):
7152         * event-msw.c (emacs_mswindows_quit_p):
7153         Get critical quit working.
7154
7155 2001-05-05  Ben Wing  <ben@xemacs.org>
7156
7157         * console-msw.h:
7158         * device-msw.c:
7159         * device-msw.c (mswindows_get_default_margin):
7160         * frame-msw.c (mswindows_size_frame_internal):
7161         * frame-msw.c (msprinter_init_frame_1):
7162         * frame-msw.c (vars_of_frame_mswindows):
7163         Change top/bottom margin defaults to 0.5 inches.
7164
7165 2001-05-01  Martin Buchholz  <martin@xemacs.org>
7166
7167         Fix link error with gcc 3.0 on Linux.
7168         * terminfo.c (UP): Remove.
7169         * terminfo.c (BC): Remove.
7170         * terminfo.c (PC): Remove.
7171         They weren't used, and in any case, these symbols should be
7172         defined in the *library*.
7173
7174 2001-05-03  Martin Buchholz  <martin@xemacs.org>
7175
7176         * s/aix4.h: Fix crash with xlc -O3.
7177         Improve comment explaining how -O3 works.
7178
7179 2001-04-15  Ben Wing  <ben@xemacs.org>
7180
7181         * event-stream.c:
7182         * event-stream.c (Fnext_event):
7183         * event-stream.c (is_scrollbar_event):
7184         * event-stream.c (execute_command_event):
7185         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
7186         crash' problem.  His fix introduces other problems.  We filter
7187         out scrollbar events specifically, making them somewhat invisible
7188         to command-building, and not appearing in `this-command-keys'.
7189         More work is still needed (see comments in event-stream.c), but
7190         this fixes all the major problems.
7191
7192 2001-04-20  Ben Wing  <ben@xemacs.org>
7193
7194         * .cvsignore: Added stuff for Windows.
7195
7196 2001-04-28  Ben Wing  <ben@xemacs.org>
7197
7198         * buffer.c (Ferase_buffer):
7199         * editfns.c (buffer_insert1):
7200         * editfns.c (Finsert_before_markers):
7201         * editfns.c (Finsert_string):
7202         * editfns.c (Finsert_char):
7203         * editfns.c (Fdelete_region):
7204         * editfns.c (Fwiden):
7205         * editfns.c (Fnarrow_to_region):
7206         remove bogus lines setting zmacs_region_stays to 0.
7207         
7208 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
7209
7210         * process-unix.c (unix_open_network_stream): If connect() fails
7211         invalidate file descriptor after closing it.
7212
7213 2001-03-08  Mike Alexander  <mta@arbortext.com>
7214
7215         * event-msw.c (mswindows_need_event_in_modal_loop):
7216         Don't dispatch a message if we didn't get one.
7217         (mswindows_need_event):
7218         Terminate the correct process when one exits instead of the first
7219         one on Vprocess_list and look for process termination when in
7220         mswindows_protect_modal_loop.
7221
7222 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
7223
7224         * XEmacs 21.4.1 "Copyleft" is released.
7225
7226 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
7227
7228         * input-method-motif.c (XIM_delete_frame): New callback.
7229         (XIM_init_frame): Register it.
7230
7231 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7232
7233         * XEmacs 21.4.0 "Solid Vapor" is released.
7234
7235 2001-04-15  Ben Wing  <ben@xemacs.org>
7236
7237         * cmdloop.c (call_command_loop):
7238         Fix braino in bit-rotting code.
7239         
7240 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
7241
7242         * extents.c (Fset_extent_endpoints): Force creation of extent info
7243         in buffer_or_string.
7244
7245         * extents.c (process_extents_for_insertion_mapper): Correctly
7246         check for open-open zero-length extents.
7247
7248 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
7249
7250         * lisp.h: New typedefs Memory_count, Element_count.
7251         * regex.c:
7252         * regex.h:
7253         Sign-compare warning elimination: several unsigned -> signed.
7254         Based on work by Ben Wing <ben@xemacs.org>.
7255
7256 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
7257
7258         * XEmacs 21.2.47 "Zephir" is released.
7259
7260 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
7261
7262         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
7263
7264 2001-04-03  Mike Sperber <mike@xemacs.org>
7265
7266         * search.c: Revert previous patch due because of release.
7267
7268 2001-03-30  Ben Wing  <ben@xemacs.org>
7269
7270         * s\cygwin32.h:
7271         Add missing killpg prototype.
7272
7273         * elhash.c:
7274         Add a comment about fixing problems when a new entry is added
7275         while mapping.
7276
7277         * frame-msw.c (mswindows_init_frame_1):
7278         Fix compile warnings.
7279
7280         * menubar.c (vars_of_menubar):
7281         Provide `menu-accelerator-support' to indicate that we properly
7282         support %_ in menu specifications, so that package code can
7283         conditionalize on this (and remove %_ from menu specifications
7284         on older versions).
7285
7286         * event-msw.c:
7287         * scrollbar-msw.c:
7288         * scrollbar-msw.c (can_scroll):
7289         * scrollbar-msw.h:
7290         Fix handling of mouse wheel under Windows to follow standards --
7291         now scrolls window under pointer, not selected window.
7292
7293 2001-03-31  Mike Sperber <mike@xemacs.org>
7294
7295         * search.c (Freplace_match): Support FSF-style specification of
7296         match subexpression when applied to a buffer.
7297
7298 2001-03-15  Martin Buchholz  <martin@xemacs.org>
7299
7300         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
7301         function to modify KEYMAP, so map over a copy of the hash table.
7302
7303 2001-03-21  Martin Buchholz <martin@xemacs.org>
7304
7305         * XEmacs 21.2.46 "Urania" is released.
7306
7307 2001-03-20  Dan Holmsand  <dan@eyebee.com>
7308
7309         * realpath.c (xrealpath): Make file-truename work with symlinks to
7310         /cygdrive paths on cygwin. Always lowercase drive-letters on
7311         native windows.
7312         (cygwin_readlink): Don't try to find canonical filename unless
7313         file exists.
7314
7315 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
7316
7317         * ChangeLog: Log GTK merge.
7318
7319         * dumper.c:
7320         * select-x.c:
7321         * specifier.c:
7322         * symeval.h:
7323         Revert gratuitous whitespace changes from GTK merge.
7324
7325         * emacs.c: Document end of complex #ifdef @ l. 1495.
7326
7327
7328 2001-03-12  Andy Piper  <andy@xemacs.org>
7329
7330         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
7331         have to do likewise.
7332
7333 2001-03-12  Andy Piper  <andy@xemacs.org>
7334
7335         * sysdep.c: we only support mingw now.
7336
7337 2001-03-09  Andy Piper  <andy@xemacs.org>
7338
7339         * unexcw.c (copy_executable_and_dump_data_section): making approx
7340         overrun a warning only.
7341
7342 2001-03-10  William M. Perry  <wmperry@aventail.com>
7343
7344         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
7345         satisfy Stephen's identical-after-cpp plea.
7346
7347 2001-03-02  Ben Wing  <ben@xemacs.org>
7348
7349         * cmds.c:
7350         * cmds.c (Fforward_char):
7351         * syntax.c:
7352         * window.c:
7353
7354         Augment documentation of the most common motion commands to make
7355         note of the shifted-motion support.
7356         
7357 2001-03-02  Ben Wing  <ben@xemacs.org>
7358
7359         * nt.c (mswindows_fstat):
7360         * nt.c (mswindows_stat):
7361         * search.c (boyer_moore):
7362         Fix compile warnings under Windows.
7363         
7364         * sysdep.c (sys_readdir):
7365         Fix buggy filename-conversion code under Mule.
7366
7367 2001-03-09  William M. Perry  <wmperry@aventail.com>
7368
7369         * Makefile.in.in:
7370         * config.h.in:
7371         * console.c:
7372         * console.h:
7373         * device.c:
7374         * device.h:
7375         * dragdrop.c:
7376         * emacs.c:
7377         * event-stream.c:
7378         * events.c:
7379         * events.h:
7380         * faces.c:
7381         * frame.h:
7382         * general-slots.h:
7383         * glyphs.c:
7384         * gutter.c:
7385         * inline.c:
7386         * lisp.h:
7387         * lrecord.h:
7388         * make-src-depend:
7389         * redisplay-output.c:
7390         * redisplay.c:
7391         * symsinit.h:
7392         * sysfile.h:
7393         * toolbar.c:
7394         * window.c:
7395         The Great GTK Merge.
7396
7397         * ChangeLog.GTK:
7398         * console-gtk.c:
7399         * console-gtk.h:
7400         * device-gtk.c:
7401         * emacs-marshals.c:
7402         * emacs-widget-accessors.c:
7403         * event-gtk.c:
7404         * frame-gtk.c:
7405         * gccache-gtk.c:
7406         * gccache-gtk.h:
7407         * glade.c:
7408         * glyphs-gtk.c:
7409         * glyphs-gtk.h:
7410         * gtk-glue.c:
7411         * gtk-xemacs.c:
7412         * gtk-xemacs.h:
7413         * gui-gtk.c:
7414         * gui-gtk.h:
7415         * menubar-gtk.c:
7416         * native-gtk-toolbar.c:
7417         * objects-gtk.c:
7418         * objects-gtk.h:
7419         * redisplay-gtk.c:
7420         * scrollbar-gtk.c:
7421         * scrollbar-gtk.h:
7422         * select-gtk.c:
7423         * toolbar-gtk.c:
7424         * ui-byhand.c:
7425         * ui-gtk.c:
7426         * ui-gtk.h:
7427         The Great GTK Merge: new files.
7428
7429 2001-02-26  Ben Wing  <ben@xemacs.org>
7430
7431         Reapplied Lstream change.
7432
7433 2001-02-26  Ben Wing  <ben@xemacs.org>
7434
7435         Undid the last change, since it is more controversial than I
7436         thought.  It should be back in at some point soon.
7437         
7438 2001-02-25  Ben Wing  <ben@xemacs.org>
7439
7440         * buffer.c:
7441         * callproc.c (Fold_call_process_internal):
7442         * event-msw.c (ntpipe_slurp_reader):
7443         * event-msw.c (ntpipe_shove_writer):
7444         * event-msw.c (winsock_reader):
7445         * event-msw.c (winsock_writer):
7446         * file-coding.c:
7447         * file-coding.c (detect_eol_type):
7448         * file-coding.c (detect_coding_type):
7449         * file-coding.c (determine_real_coding_system):
7450         * file-coding.c (Fdetect_coding_region):
7451         * file-coding.c (decoding_reader):
7452         * file-coding.c (decoding_writer):
7453         * file-coding.c (mule_decode):
7454         * file-coding.c (Fdecode_coding_region):
7455         * file-coding.c (encoding_reader):
7456         * file-coding.c (encoding_writer):
7457         * file-coding.c (mule_encode):
7458         * file-coding.c (Fencode_coding_region):
7459         * file-coding.c (detect_coding_sjis):
7460         * file-coding.c (decode_coding_sjis):
7461         * file-coding.c (encode_coding_sjis):
7462         * file-coding.c (detect_coding_big5):
7463         * file-coding.c (decode_coding_big5):
7464         * file-coding.c (encode_coding_big5):
7465         * file-coding.c (detect_coding_ucs4):
7466         * file-coding.c (decode_coding_ucs4):
7467         * file-coding.c (encode_coding_ucs4):
7468         * file-coding.c (detect_coding_utf8):
7469         * file-coding.c (decode_coding_utf8):
7470         * file-coding.c (encode_coding_utf8):
7471         * file-coding.c (detect_coding_iso2022):
7472         * file-coding.c (decode_coding_iso2022):
7473         * file-coding.c (encode_coding_iso2022):
7474         * file-coding.c (decode_coding_no_conversion):
7475         * file-coding.c (encode_coding_no_conversion):
7476         * glyphs-x.c (write_lisp_string_to_temp_file):
7477         * gpmevent.c (tty_get_foreign_selection):
7478         * lisp.h:
7479         * lstream.c:
7480         * lstream.c (Lstream_flush_out):
7481         * lstream.c (Lstream_adding):
7482         * lstream.c (Lstream_write_1):
7483         * lstream.c (Lstream_write):
7484         * lstream.c (Lstream_raw_read):
7485         * lstream.c (Lstream_read_more):
7486         * lstream.c (Lstream_read):
7487         * lstream.c (Lstream_unread):
7488         * lstream.c (Lstream_fputc):
7489         * lstream.c (stdio_reader):
7490         * lstream.c (stdio_writer):
7491         * lstream.c (filedesc_reader):
7492         * lstream.c (filedesc_writer):
7493         * lstream.c (lisp_string_reader):
7494         * lstream.c (struct fixed_buffer_stream):
7495         * lstream.c (make_fixed_buffer_input_stream):
7496         * lstream.c (make_fixed_buffer_output_stream):
7497         * lstream.c (fixed_buffer_reader):
7498         * lstream.c (fixed_buffer_writer):
7499         * lstream.c (struct resizing_buffer_stream):
7500         * lstream.c (resizing_buffer_writer):
7501         * lstream.c (dynarr_writer):
7502         * lstream.c (lisp_buffer_reader):
7503         * lstream.c (lisp_buffer_writer):
7504         * lstream.h:
7505         * lstream.h (lstream_implementation):
7506         * lstream.h (struct lstream):
7507         * md5.c (Fmd5):
7508         * process-nt.c (nt_send_process):
7509         * process-unix.c (unix_send_process):
7510         
7511         Correct Lstream lossage due to mixing of signed and unsigned
7512         quantities.  All Lstream uses of size_t and ssize_t are now a
7513         single signed data type Lstream_data_count.  This fixes problems
7514         under Windows with sending large quantities of data to a process,
7515         and may well fix other subtle bugs.
7516
7517 2001-02-23  Martin Buchholz <martin@xemacs.org>
7518
7519         * XEmacs 21.2.45 "Thelxepeia" is released.
7520
7521 2001-02-21  Martin Buchholz  <martin@xemacs.org>
7522
7523         * lisp-union.h (XSETINT): 
7524         (XSETCHAR):
7525         (XSETOBJ): 
7526         Reverse previous change of 2001-02-06.
7527
7528 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
7529
7530         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
7531         buffers.
7532         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7533         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
7534         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
7535         * regex.c (POS_AS_IN_BUFFER): removed
7536         * regex.c (re_search_2):
7537         * regex.c (re_match_2):
7538         Don't use an offset of 1 when calculating buffer positions, since
7539         `BI_BUF_BEGV' does it already.
7540
7541 2001-02-18  Wim Dumon  <wim@easics.be>
7542
7543         * insdel.c (prepare_to_modify_buffer): Also check for
7544         supersession when clash-detection is enabled. 
7545
7546 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
7547
7548         * regex.c (re_match_2_internal):
7549         Convert temp characters from 'const unsigned char' to 're_char'.
7550         Fix crashing bug with extended characters under mule.
7551         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
7552         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
7553         font-lock, pdump, and new syntax-table code.
7554         * syntax.c (find_start_of_comment):
7555         (find_end_of_comment):
7556         (forward-comment):
7557         Fix crashing bugs involving moving beyond end of buffer.
7558         * syntax.c (find_start_of_comment):
7559         Fixed logic to allow proper detection of cases where the same
7560         character is used to end both a two-char comment start and a
7561         two-char comment end sequence. Fixes `(forward-comment -1)'.
7562         * syntax.c (find_start_of_comment):
7563         Return position just past last comment-end character for all cases
7564         (previously was only done for two-char comment-end sequences).
7565         * syntax.c (forward-comment):
7566         Take value returned from `find_end_of_comment', rather than
7567         incrementing it.
7568         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
7569         Properly deal with BUFFERP (syntax_cache.object)
7570
7571 2001-02-17  Martin Buchholz  <martin@xemacs.org>
7572
7573         * alloc.c (Fgarbage_collect): 
7574         * alloc.c (make_bit_vector_from_byte_vector):
7575         -Wsign-compare-correctness.
7576
7577 2001-02-16  Martin Buchholz  <martin@xemacs.org>
7578
7579         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
7580         (XSETCHAR): Likewise.
7581         (XSETOBJ): Likewise.
7582
7583 2001-02-15  Martin Buchholz  <martin@xemacs.org>
7584
7585         * mule-canna.c (canna-func-delete_previous): 
7586         Rename to canna-func-delete-previous.
7587
7588 2001-02-14  Martin Buchholz  <martin@xemacs.org>
7589
7590         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
7591
7592 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
7593
7594         * font-lock.c (find_context): Fix C++ compile errors introduced by
7595         recent patch
7596
7597 2001-02-13  Martin Buchholz  <martin@xemacs.org>
7598
7599         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
7600         pragma, but earlier ones barf on the same pragma.
7601
7602 2001-02-06  Mike Sperber <mike@xemacs.org>
7603
7604         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
7605         `configure-mule-lisp-directory'.
7606
7607 2001-02-12  Martin Buchholz  <martin@xemacs.org>
7608
7609         Make sure dump-id.c is compiled in the same way as other .c's.
7610         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
7611         * dump-id.h: Remove.
7612         * emacs.c: Move dump-id.h into dumper.h.
7613         * dumper.h: Move dump-id.h into dumper.h.
7614         * Makefile.in.in:
7615         Use standard .c.o rule for building dump-id.o.
7616         Remove preprocessor flags from link command.
7617         Add dump-id.o to ${otherobjs} if PDUMP.
7618
7619 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
7620
7621         Port FSF 20.7 syntax table improvements.
7622         * syntax.c.
7623         * syntax.h.
7624
7625         Fixups for new syntax table stuff.
7626         * dired.c: Include syntax.c.
7627         (Fdirectory_files): Initialize regex_match_object and
7628         regex_emacs_buffer.
7629         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
7630         and Fget_char_property.
7631
7632         Use ported FSF 20.7 syntax table improvements.
7633         * font-lock.c.
7634         * regex.c.
7635         * search.c.
7636         
7637 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7638
7639         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
7640         Unixware's enum boolean from sys/types.h.
7641
7642 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7643
7644         Fix support for building with latest Purify.
7645         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
7646         (PURIFY_FLAGS): Likewise.
7647
7648 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7649
7650         * fileio.c (lisp_string_set_file_times): New.
7651         * fileio.c (Fcopy_file): Use it.
7652         Fixes bug:
7653         (copy-file filename non-ascii-filename t t)
7654         ==> No such file or directory, non-ascii-filename
7655
7656 2001-02-10  Martin Buchholz  <martin@xemacs.org>
7657
7658         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
7659         USHRT_MAX seems clearer than ~0 anyways.
7660
7661 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7662
7663         dumper improvements.  Inspired by Olivier.
7664         * dumper.c (pdump_max_align): New.
7665         * dumper.c (pdump_add_entry): Use pdump_max_align.
7666         * dumper.c (pdump_get_entry_list): Likewise.
7667         * dumper.c (pdump_scan_by_alignment): Likewise.
7668         Don't iterate through unnecessary alignments.
7669         * dumper.c (pdump_file_get): No need to align result of malloc().
7670         * dumper.c (pdump_mallocadr): Remove.  
7671         The result of malloc() is guaranteed to be maximally aligned.
7672         * dumper.c: s/elmt/elt/g;
7673         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
7674         * dumper.c (pdump_alert_undump_object): Likewise.
7675         * dumper.c (pdump_align_table): 
7676         Don't support alignments > 64.
7677         Store ALIGNOF's, not shift counts, in table.
7678
7679 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7680
7681         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
7682         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
7683         * systime.h: Use HAVE_UTIME.
7684         * sysdep.c (struct utimbuf): Remove.
7685         * sysdep.c (set_file_times): Prefer utime() to utimes().
7686         * config.h.in (HAVE_UTIME): New.
7687         * config.h.in (HAVE_UTIME_H): Remove.
7688         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
7689
7690 2001-02-09  Martin Buchholz  <martin@xemacs.org>
7691
7692         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
7693
7694 2001-02-08  Martin Buchholz  <martin@xemacs.org>
7695
7696         * s/irix6-0.h: Use the standard system memmove, not bcopy.
7697
7698 2001-02-08  Martin Buchholz <martin@xemacs.org>
7699
7700         * XEmacs 21.2.44 "Thalia" is released.
7701
7702 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7703
7704         Fixes crashes in kill-emacs on some systems.
7705         * process-unix.c (unix_kill_child_process):
7706         It's OK for kill() to fail with ESRCH.
7707
7708 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7709
7710         Contortions to make .gdbinit tricks work on most systems.
7711         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
7712         * alloc.c (dbg_valmask): Make non-const.
7713         * alloc.c (dbg_typemask): Make non-const.
7714         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
7715         * alloc.c (dbg_valbits): Make non-const.
7716         * alloc.c (dbg_gctypebits): Make non-const.
7717         * .gdbinit (decode_object): Make it work with AIX cc.
7718
7719 2001-02-06  Martin Buchholz  <martin@xemacs.org>
7720
7721         * elhash.c (make_general_lisp_hash_table):
7722         Use simpler and more efficient calloc to clear entries.
7723
7724 2001-02-07  Martin Buchholz  <martin@xemacs.org>
7725
7726         * window.c (window_scroll): Work around an AIX C compiler bug.
7727         Fixes 'scroll-up' does nothing problem with xlC.
7728
7729 2001-02-05  Martin Buchholz  <martin@xemacs.org>
7730
7731         * .gdbinit: Remove obsolete comment.
7732
7733 2001-01-31  Mike Alexander  <mta@arbortext.com>
7734
7735         * select.c (Fown_selection_internal): Set owned_p for device
7736         method correctly.
7737
7738 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7739
7740         Port to g++ 2.97.
7741         "not" cannot be used as a macro name as it is an operator in C++
7742         * config.h.in: Stop #defining `not'.
7743         * chartab.c (check_category_char): not ==> not_p
7744         * chartab.h: Likewise.
7745         * regex.c (re_match_2_internal): Likewise.
7746
7747 2001-02-02  Martin Buchholz  <martin@xemacs.org>
7748
7749         * lisp-disunion.h: Fix up comments.
7750
7751 2001-01-31  Martin Buchholz  <martin@xemacs.org>
7752
7753         * keymap.c (define_key_check_and_coerce_keysym):
7754         (syms_of_keymap):
7755         Support mouse-6 and mouse-7 bindings in the obvious way.
7756
7757 2001-02-01  Martin Buchholz  <martin@xemacs.org>
7758
7759         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
7760
7761 2001-01-30  Martin Buchholz  <martin@xemacs.org>
7762
7763         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
7764         Previous patch missed DEFVAR_INT_MAGIC.
7765         Make sure future DEFVAR_foo use correct types.
7766         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
7767         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
7768         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
7769         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
7770         * (DEFVAR_INT): Likewise.
7771         * redisplay.c (vertical_clip): Should be of type Fixnum.
7772         * redisplay.c (horizontal_clip): Likewise.
7773         * lisp.h (dump_add_opaque_int): New.
7774         (dump_add_opaque_fixnum): New.
7775
7776 2001-01-29  Andy Piper  <andy@xemacs.org>
7777
7778         * glyphs-widget.c (check_valid_int_or_function): allow symbols
7779         since they can be eval'ed
7780
7781 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7782
7783         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
7784         Oops, XEmacs redefines `class'.  Use `typename' instead.
7785
7786 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7787
7788         * dumper.c: Fix C++ compile errors.
7789
7790 2001-01-29  Martin Buchholz  <martin@xemacs.org>
7791
7792         * tparam.c: Use correct prototypes.
7793
7794 2001-01-28  Martin Buchholz  <martin@xemacs.org>
7795
7796         * sysproc.h: #include util.h for NetBSD's openpty.
7797
7798 2001-01-27  Martin Buchholz  <martin@xemacs.org>
7799
7800         More 64-bit correctness.
7801         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
7802         Use a typedef `fixnum' for the type used for DEFVAR_INT.
7803         Fix up comments.
7804         This finally finishes the 64-bit SGI port.
7805         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
7806         * symbols.c: Fix up comments and type casts.
7807         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
7808         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
7809         * symeval.h (Fixnum): New type.
7810         * symeval.h (symbol_value_type): Fix up comment.
7811
7812         * commands.h:
7813         * nt.c:
7814         * emacs.c:
7815         * data.c:
7816         * redisplay.c:
7817         * abbrev.c:
7818         * dired-msw.c:
7819         * event-Xt.c:
7820         * eldap.c:
7821         * window.c:
7822         * sound.c:
7823         * event-stream.c:
7824         * eval.c:
7825         * buffer.c:
7826         * mule-canna.c: A million DEFVAR_INTs here...
7827         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
7828         * extents.c:
7829         * cmdloop.c:
7830         * lisp.h:
7831         * select-x.c:
7832         * console-x.h:
7833         * event-msw.c:
7834         * mule-wnnfns.c:
7835         * hpplay.c:
7836         * ralloc.c:
7837         * alloc.c:
7838         * keymap.c:
7839         * profile.c:
7840         s/int/Fixnum/g in DEFVAR_INT declarations.
7841
7842 2001-01-26  Martin Buchholz  <martin@xemacs.org>
7843
7844         Port pdump to SGI alignment-sensitive environment.
7845         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
7846         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
7847         properly aligned.
7848         Define and use aligned reading and writing macros.
7849         Use buffered stdio instead of posix i/o for faster dumping.
7850         Eliminate kludgy 256 byte space for header.
7851         Read and write from dump file using structs for alignment safety.
7852         * dumper.c (pdump_align_stream): New.
7853         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
7854         * dumper.c (PDUMP_READ_ALIGNED): New.
7855         * dumper.c (PDUMP_WRITE_ALIGNED): New.
7856         * dumper.c (pdump_static_Lisp_Object): New struct.
7857         * dumper.c (pdump_static_pointer): New struct.
7858         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
7859         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
7860         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
7861         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
7862
7863         * dumper.c (pdump_backtrace):
7864         * dumper.c (pdump_get_indirect_count):
7865         * dumper.c (pdump_register_object):
7866         * dumper.c (pdump_register_struct):
7867         * dumper.c (pdump_reloc_one):
7868         * dumper.c (pdump_scan_by_alignment):
7869         * dumper.c (pdump_dump_from_root_struct_ptrs):
7870         * dumper.c (pdump_dump_opaques):
7871         * dumper.c (pdump_dump_rtables):
7872         * dumper.c (pdump_dump_from_root_objects):
7873         * dumper.c (pdump):
7874         * dumper.c (pdump_load_finish):
7875         Use aligned reading and writing.
7876
7877         * dumper.c (pdump_free): Make static.
7878         * dumper.c (pdump_hFile): Likewise.
7879         * dumper.c (pdump_hMap): Likewise.
7880
7881 2001-01-26  Martin Buchholz <martin@xemacs.org>
7882
7883         * XEmacs 21.2.43 "Terspichore" is released.
7884
7885 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7886
7887         Type fiddling for window_config.saved_windows_count
7888         * window.c (struct window_config): 
7889         Make saved_windows_count member unsigned.
7890         * window.c (sizeof_window_config_for_n_windows): 
7891         Make parameter unsigned.
7892         * window.c (mark_window_config):
7893         * window.c (window_config_equal):
7894         * window.c (free_window_configuration):
7895         * window.c (Fset_window_configuration):
7896         * window.c (count_windows):
7897         * window.c (Fcurrent_window_configuration):
7898         * window.c (reinit_vars_of_window):
7899         Update all callers and users.
7900
7901 2001-01-25  Martin Buchholz  <martin@xemacs.org>
7902
7903         Alignment correctness for flexible arrays.
7904         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
7905         Make alignment-correct. Add interesting comments.
7906         * alloc.c (size_vector):
7907         * alloc.c (make_vector_internal):
7908         * alloc.c (make_bit_vector_internal):
7909         * alloc.c (sweep_bit_vectors_1):
7910         * fns.c (size_bit_vector):
7911         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
7912         * window.c (sizeof_window_config_for_n_windows): 
7913         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
7914
7915 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7916
7917         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
7918
7919 2001-01-23  Andy Piper  <andy@xemacs.org>
7920
7921         * select.c (Fown_selection_internal): pass owned_p
7922
7923         * select-msw.c (mswindows_own_selection): New Signature.
7924
7925         * console.h (struct console_methods): add owned_p to
7926         _own_selection.
7927
7928         * select-x.c (x_own_selection): pass owned_p
7929         (hack_motif_clipboard_selection): use owned_p
7930         (vars_of_select_x): new variable -
7931         x_selection_strict_motif_ownership.
7932
7933 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7934
7935         * specifier.h (specifier_data_offset): Remove pointless parens.
7936         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
7937
7938 2001-01-24  Martin Buchholz  <martin@xemacs.org>
7939
7940         Make Lisp_Object sizeof methods be alignment-correct.
7941         pdump must restore objects to the same alignment as the C compiler
7942         assumes.  It really matters on SGIs.
7943         * lstream.c (aligned_sizeof_lstream): New.
7944         (sizeof_lstream): Use aligned_sizeof_lstream.
7945         (Lstream_new): Likewise.
7946         * opaque.c (aligned_sizeof_opaque): New.
7947         (sizeof_opaque): Use aligned_sizeof_opaque.
7948         (make_opaque): Likewise.
7949         * specifier.c (aligned_sizeof_specifier): New.
7950         (sizeof_specifier): Use aligned_sizeof_specifier.
7951         (make_specifier_internal): Likewise.
7952
7953 2001-01-23  Martin Buchholz  <martin@xemacs.org>
7954
7955         * lstream.h (struct lstream): Use max_align_t for trailing data.
7956         * specifier.h (struct Lisp_Specifier): Likewise.
7957
7958 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7959
7960         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
7961         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
7962         (CCL_SUSPEND): Likewise.
7963         (CCL_INVALID_CMD): Likewise.
7964         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
7965         (ccl_driver): Likewise.
7966         (CCL_WRITE_CHAR): Macro hygiene.
7967         (CCL_WRITE_STRING): Macro hygiene.
7968
7969 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7970
7971         Port "portable" dumper to SunOS 4 and HP-UX.
7972         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
7973         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
7974         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
7975
7976 2001-01-22  Martin Buchholz  <martin@xemacs.org>
7977
7978         * lisp.h (ALIGNOF): A better definition for C++.
7979
7980 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7981
7982         Macro hygiene.
7983         Fix printf warnings: int format, long int arg.
7984         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
7985         (PUSH_FAILURE_POINT): Use correct printf formats.
7986         (POP_FAILURE_POINT): Use correct printf formats.  
7987         Use do {...} while (0)
7988
7989 2001-01-20  Martin Buchholz <martin@xemacs.org>
7990
7991         * XEmacs 21.2.42 "Poseidon" is released.
7992
7993 2001-01-20  Martin Buchholz  <martin@xemacs.org>
7994
7995         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
7996
7997 2001-01-19  Martin Buchholz  <martin@xemacs.org>
7998
7999         De-kludgify FIXED_TYPE free list frobbing.
8000         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
8001         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
8002         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
8003         * alloc.c (Lisp_Free): New pseudo lisp object definition.
8004         * alloc.c (LRECORD_FREE_P): New.
8005         * alloc.c (MARK_LRECORD_AS_FREE): New.
8006         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
8007         * alloc.c (STRUCT_FREE_P): Deleted.
8008         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
8009         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
8010         * alloc.c (STRING_CHARS_FREE_P): New.
8011         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
8012         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
8013         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
8014         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
8015         * alloc.c (resize_string): Use new definitions.
8016         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
8017         * alloc.c (verify_string_chars_integrity): Use new definitions.
8018         * alloc.c (compact_string_chars): Use new definitions.
8019         * alloc.c: Update monster comments.
8020         * lrecord.h (lrecord_type): Add some new lrecord types for
8021         alloc.c's use.
8022
8023 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8024
8025         Improve alignment hackery.
8026         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
8027         (max_align_t): Moved from opaque.h - general purpose.
8028         (ALIGN_PTR): Use size_t, not long.
8029         * opaque.h (max_align_t): Move to lisp.h.
8030
8031 2001-01-18  Norbert Koch  <nk@LF.net>
8032
8033         * gui.h: Fix and add prototypes to fix build problems.
8034
8035 2001-01-18  Martin Buchholz  <martin@xemacs.org>
8036
8037         temacs is going away, so `dump-temacs' is now a bad name.
8038         * .dbxrc (dump-temacs): Rename to `dmp'.
8039         * .gdbinit (dump-temacs): Rename to `dmp'.
8040
8041 2001-01-17  Andy Piper  <andy@xemacs.org>
8042
8043         * glyphs.c (print_image_instance): comment to make martin happy.
8044
8045         * glyphs-x.c (x_redisplay_widget): update faces after a frame
8046         change.
8047
8048         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
8049         activation.
8050         (mswindows_tab_control_redisplay): warning suppression.
8051
8052         * glyphs-widget.c (widget_update): re-write to cope with updated
8053         items.
8054         (widget_instantiate): use new gui_item functions.
8055         (tab_control_update): deleted.
8056         (progress_gauge_update): deleted.
8057         (image_instantiator_progress_guage): take out update reference.
8058         (image_instantiator_tree_view): ditto.
8059         (image_instantiator_tab_control): ditto.
8060
8061         * gui.c (widget_gui_parse_item_keywords): new function. Do things
8062         Right the new way.
8063         (gui_item_add_keyval_pair): re-write to cope with descriptors and
8064         return whether anything was changed.
8065         (update_gui_item_keywords): as it sounds.
8066
8067         * gui.h: declare widget_gui_parse_item_keywords.
8068
8069         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
8070         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
8071
8072 2001-01-17  Martin Buchholz <martin@xemacs.org>
8073
8074         * XEmacs 21.2.41 "Polyhymnia" is released.
8075
8076 2001-01-16  Didier Verna  <didier@xemacs.org>
8077
8078         * glyphs.c (image_instantiate): don't use fallbacks when
8079         instantiating a face's background pixmap by inheritance.
8080
8081 2001-01-14  Mike Sperber <mike@xemacs.org>
8082
8083         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
8084         Conditionalize accordingly.
8085
8086 2001-01-16  Martin Buchholz  <martin@xemacs.org>
8087
8088         * dumper.c (pdump_file_get): Fix a compiler warning.
8089
8090 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8091
8092         Make Purify happy when pdumping.
8093         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
8094         iniitalizing all bits of new lisp object memory.
8095         * symbols.c (Fmake_local_variable): Likewise.
8096         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
8097         * symbols.c (Fdefvaralias): Likewise.
8098         * mule-charset.c (vars_of_mule_charset): Likewise.
8099
8100 2001-01-15  Martin Buchholz  <martin@xemacs.org>
8101         Add the `-nd' flag when running pre-dump operations under the debugger.
8102         * .dbxrc (run-temacs): Add `-nd'.
8103         * .dbxrc (update-elc): Likewise.
8104         * .dbxrc (dump-temacs): Likewise.
8105         * .gdbinit (run-temacs): Likewise.
8106         * .gdbinit (check-temacs): Likewise.
8107         * .gdbinit (update-elc): Likewise.
8108         * .gdbinit (dump-temacs): Likewise.
8109
8110 2001-01-14  Martin Buchholz  <martin@xemacs.org>
8111
8112         Allow building 64-bit executables on AIX with GNU malloc, e.g.
8113         export OBJECT_MODE=64
8114         configure --pdump --use-union-type=no
8115         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
8116         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
8117
8118         * miscplay.c (sndcnv8U_2mono):
8119         Avoid two uses of `++' in the same expression.
8120         Suppresses a GCC warning.
8121
8122 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8123
8124         Make sure future compilers don't miscompile alloc.c.
8125         * alloc.c:
8126         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
8127         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
8128
8129 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8130
8131         * dumper.c: A little post-pdump-rename comment fixup.
8132
8133 2001-01-09  Jerry James  <james@eecs.ku.edu>
8134
8135         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
8136
8137 2001-01-13  Martin Buchholz  <martin@xemacs.org>
8138
8139         * *.[ch]: Globally rename symbols using the following `pdump-rename'
8140         script:
8141         #!/bin/sh
8142         replace_symbol () {
8143           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
8144         }
8145
8146         replace_symbol pdump_wire_lists pdump_weak_object_chains
8147         replace_symbol pdump_wire_list dump_add_weak_object_chain
8148
8149         replace_symbol pdump_wires pdump_root_objects
8150         replace_symbol pdump_wire dump_add_root_object
8151
8152         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
8153         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
8154
8155         replace_symbol dumpstructinfos pdump_root_struct_ptrs
8156         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
8157         replace_symbol dumpstructinfo pdump_root_struct_ptr
8158         replace_symbol dumpstruct dump_add_root_struct_ptr
8159
8160         replace_symbol dumpopaque dump_add_opaque
8161         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
8162         replace_symbol dumpopaqueinfos pdump_opaques
8163         replace_symbol dumpopaqueinfo pdump_opaque
8164
8165         replace_symbol nb_structdump nb_root_struct_ptrs
8166         replace_symbol nb_opaquedump nb_opaques
8167
8168         replace_symbol align_table pdump_align_table
8169         replace_symbol dump_header pdump_header
8170
8171         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
8172         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
8173
8174
8175 2001-01-12  Martin Buchholz  <martin@xemacs.org>
8176
8177         * s/aix4.h: Keep the C for AIX compiler from overaggressively
8178         optimizing bytecount_to_charcount().
8179
8180 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8181
8182         * config.h.in:
8183         (HAVE_DLFCN_H): Removed.
8184         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
8185
8186 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8187
8188         Portable dumper maintainability improvements.
8189         * alloc.c (staticpro):
8190         * alloc.c (staticpro_nodump):
8191         * alloc.c (garbage_collect_1):
8192         * alloc.c (reinit_alloc_once_early):
8193         * alloc.c (init_alloc_once_early):
8194         * alloc.c: Move dumper functions to alloc.c.
8195         * dumper.c (pdump_backtrace):
8196         * dumper.c (pdump_dump_structs):
8197         * dumper.c (pdump_dump_opaques):
8198         * dumper.c (pdump_dump_rtables):
8199         * dumper.c (pdump_dump_wired):
8200         * dumper.c (pdump):
8201         * dumper.c (pdump_load_check):
8202         * dumper.c (pdump_load_finish):
8203         * dumper.c (pdump_file_unmap):
8204         * dumper.c (pdump_file_get):
8205         * dumper.c (pdump_resource_free):
8206         * dumper.c (pdump_resource_get):
8207         * dumper.c (pdump_file_free):
8208         * dumper.c (pdump_file_try):
8209         * dumper.c (pdump_load):
8210         Remove fixed size limits on staticpro(), staticpro_nodump(),
8211         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
8212         Remove custom code for dumping lrecord_implementations_table - use
8213         dumpopaque instead.
8214         Remove (most of the) custom code for dumping staticpros - dump it
8215         like any other dynarr.
8216
8217         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
8218         * dumper.c: Moved functions from alloc.c.
8219         * alloc.c (dumpstruct): Moved to dumper.c.
8220         * alloc.c (dumpopaque): Likewise.
8221         * alloc.c (pdump_wire): Likewise.
8222         * alloc.c (pdump_wire_list): Likewise.
8223
8224         * lisp.h (Dynarr_sizeof): New.
8225         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
8226         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
8227         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
8228
8229         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
8230         * lisp.h (dumpopaque): ditto.
8231         * lisp.h (pdump_wire): ditto.
8232         * lisp.h (pdump_wire_list): ditto.
8233
8234 2001-01-09  Martin Buchholz  <martin@xemacs.org>
8235
8236         * make-src-depend (PrintPatternDeps):
8237         Use `sort' to make output independent of perl version.
8238
8239 2001-01-08  Martin Buchholz  <martin@xemacs.org>
8240
8241         Port to Netbsd 1.5.
8242         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
8243         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
8244
8245 2001-01-03  Didier Verna  <didier@xemacs.org>
8246
8247         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
8248         that `focus_frame' is alive before thinking of calling
8249         `redisplay_redraw_cursor' on it.
8250
8251 2001-01-08  Martin Buchholz <martin@xemacs.org>
8252
8253         * XEmacs 21.2.40 is released.
8254
8255 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
8256
8257         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
8258
8259 2001-01-06  Martin Buchholz  <martin@xemacs.org>
8260
8261         * alloc.c (dbg_valmask): Make const.
8262         * alloc.c (dbg_typemask): Make const.
8263         * alloc.c (dbg_USE_UNION_TYPE): Make const.
8264         * alloc.c (dbg_valbits): Make const.
8265         * alloc.c (dbg_gctypebits): Make const.
8266
8267 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
8268
8269         * redisplay-x.c (x_bevel_area):
8270         redisplay.h (struct rune):
8271         Typo fixes in comments.
8272
8273 2001-01-05  Andy Piper  <andy@xemacs.org>
8274
8275         * glyphs-x.c (x_redisplay_widget): use size changed for offset
8276         adjustment.
8277
8278         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
8279
8280 2001-01-05  Martin Buchholz  <martin@xemacs.org>
8281
8282         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
8283
8284         * mule-ccl.c (stack_idx_of_map_multiple):
8285         Non const global data must not be initialized!
8286         Found by MIYASHITA Hisashi.
8287
8288 2001-01-02  Andy Piper  <andy@xemacs.org>
8289
8290         * frame.c (change_frame_size): make sure frame size is always
8291         marked as changed.
8292
8293         * glyphs.c (image_instance_layout): minor code reuse.
8294
8295         * window.c (Fcurrent_window_configuration): revert previous
8296         change.
8297
8298 2001-01-02  Martin Buchholz  <martin@xemacs.org>
8299
8300         * glyphs.h:
8301         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
8302
8303 2000-12-31  Andy Piper  <andy@xemacs.org>
8304
8305         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
8306         when widget gets unmapped.
8307
8308         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
8309         function. Make sure widgets losing focus don't just drop it.
8310         (handle_focus_event_1): record the widget with focus.
8311
8312 2000-12-31  Andy Piper  <andy@xemacs.org>
8313
8314         * window.c (allocate_window): use
8315         make_image_instance_cache_hash_table.
8316         (make_dummy_parent): ditto.
8317         (Fset_window_configuration): ditto.
8318
8319         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
8320
8321         * glyphs.c (process_image_string_instantiator): use
8322         INSTANTIATOR_TYPE.
8323         (get_image_instantiator_governing_domain): ditto.
8324         (normalize_image_instantiator): ditto.
8325         (instantiate_image_instantiator): ditto.
8326         (make_image_instance_1): ditto.
8327         (image_instantiate): ditto. Key on glyph *and* instantiator type.
8328         (instantiator_eq_equal): new function for use with instance hash
8329         tables.
8330         (instantiator_eq_hash): ditto.
8331         (make_image_instance_cache_hash_table): create a suitable hash
8332         table for storing image instances.
8333
8334         * elhash.h (hash_table_weakness): new internal weakness type
8335         HASH_TABLE_KEY_CAR_VALUE_WEAK.
8336         declare new functions.
8337
8338         * elhash.c (finish_marking_weak_hash_tables): introduce yet
8339         another weakness type for glyphs.
8340         (make_standard_lisp_hash_table): new function split out from
8341         make_general_lisp_hash_table.
8342         (make_lisp_hash_table): call make_standard_lisp_hash_table.
8343         (hash_table_instantiate): ditto.
8344         (Fmake_hash_table): ditto.
8345
8346 2000-12-31  Martin Buchholz <martin@xemacs.org>
8347
8348         * XEmacs 21.2.39 is released.
8349
8350 2000-12-29  Andy Piper  <andy@xemacs.org>
8351
8352         * menubar.c (menubar_visible_p_changed): signal the frame changed.
8353
8354         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
8355         the frame has changed so that we pick up geometry changes such as
8356         menubar visibility.
8357
8358 2000-12-28  Andy Piper  <andy@xemacs.org>
8359
8360         * lastfile.c (my_ebss): make a char array so we can pad the
8361         bss. Fixes cygwin unexec.
8362
8363         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
8364
8365 2000-12-26  Andy Piper  <andy@xemacs.org>
8366
8367         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
8368         comments and try and be more precise about a non-/SIGIO world.
8369         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
8370         SIGIO.
8371
8372         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
8373         we don't normalize to zero width or height.
8374
8375 2000-12-24  Andy Piper  <andy@xemacs.org>
8376
8377         * Makefile.in.in (ldflags): add -mwindows when appropriate.
8378
8379 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
8380
8381         * s/sco5.h: SCO 5 has pty support.
8382
8383 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
8384
8385         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
8386         input-method-xlib.c contains whole contents of input-method-xfs.c,
8387         so we can use input-method-xlib.c's code for USE_XFONTSET
8388         using #ifdefs.
8389         * input-method-xfs.c: removed.
8390
8391 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
8392
8393         * file-coding.h (enum coding_category_type): reorder enumerators to
8394         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
8395         (now one greater than largest real coding_category_type enumerator).
8396         * file-coding.c (coding_category_symbol, coding_category_by_priority,
8397         coding_category_system, fcd_descriptihon_1, decode_coding_category,
8398         Fcoding_category_list, Fset_coding_priority_list,
8399         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
8400         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
8401
8402 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8403
8404         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
8405         * redisplay-output.c (redisplay_output_window): Clear top of window
8406         when face is changed.
8407         * redisplay-x.c (x_redraw_exposed_window): Call
8408         redisplay_clear_top_of_window.
8409         * redisplay.h: Publish redisplay_clear_top_of_window.
8410
8411 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
8412
8413         * buffer.c (Fkill_buffer): Map over all devices.
8414         * window.c (window_loop): Remove UNSHOW_BUFFER code.
8415         (list_windows): New function.
8416         (list_all_windows): Ditto.
8417         (Freplace_buffer_in_windows): Use them.
8418
8419 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
8420
8421         * database.c (berkdb_subtype): Recognize new subtype `queue'.
8422         (Fopen_database): Use `db_create' instead of `db_open'.
8423         (syms_of_database): Initialize Qqueue.
8424
8425 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8426
8427         * buffer.c (common_init_complex_vars_of_buffer): Initialize
8428         buffer_local_face_property.
8429         * buffer.h (struct buffer): New member buffer_local_face_property.
8430         * window.c (Fset_window_buffer):  Mark window's face as changed
8431         when buffer has buffer local face.
8432         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
8433         * objects.c (color_after_change): Set buffer_local_face_property
8434         when locale of face specifier is buffer.
8435         * objects.c (font_after_change): Ditto.
8436         * objects.c (face_boolean_after_change): Ditto.
8437         * glyphs.c (image_after_change): Ditto.
8438
8439 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8440
8441         * nt.c (mswindows_fstat): Report file permissions, volume serial
8442         number, etc. Code adapted from FSF Emacs 20.7.
8443
8444 2000-12-09  Dan Holmsand  <dan@eyebee.com>
8445
8446         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
8447         of stat when we don't have symbolic links, to make sure
8448         mswindows_stat is called on mswindows.
8449
8450 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
8451
8452         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
8453
8454 2000-12-12  Martin Buchholz  <martin@xemacs.org>
8455
8456         * doprnt.c (emacs_doprnt_1): More printing fixes.
8457         Make printing of numbers compatible with libc and FSF Emacs.
8458         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
8459         Use the system printf to do most of the hard work of formatting,
8460         instead of doprnt_1().
8461         Calculate memory to allocate for format string.
8462         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
8463         (doprnt_1): Cleaner code and documentation.
8464
8465 2000-12-01  Jerry James  <james@eecs.ukans.edu>
8466
8467         * Makefile.in.in: Use the loop variable to install headers.
8468
8469 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8470
8471         * window.c (Fsplit_window): Don't invalidate face cache.
8472
8473 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8474
8475         * minibuf.c (Fall_completions): Undo the previous change
8476         which removed checking elements start with space.
8477
8478 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8479
8480         * mule-canna.c: Didier suppression.
8481
8482 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
8483
8484         * mule-canna.c: rename static unsigned char buf[] to key_buffer
8485         (warning suppression).  Add English comment translations.
8486
8487 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8488
8489         * unexelfsgi.c (unexec): Better test for mmap failure.
8490
8491 2000-12-05  Martin Buchholz <martin@xemacs.org>
8492
8493         * XEmacs 21.2.38 is released.
8494
8495 2000-12-05  Martin Buchholz  <martin@xemacs.org>
8496
8497         * redisplay.c (bar-cursor): Make a user variable.
8498
8499         * symsinit.h: Add init_postgresql_from_environment.
8500
8501 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
8502
8503         * regex.c: Convert to clean C.
8504
8505 2000-12-05  Dan Holmsand  <dan@eyebee.com>
8506
8507         * realpath.c:
8508         Don't #include sysfile.h. Revert to duplicating PATH_MAX
8509         initialization.
8510         (sys_readlink): renamed to system_readlink to avoid conflict with
8511         the other sys_readlink.
8512
8513 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
8514
8515         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
8516
8517 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
8518
8519         * postgresql.c (init_postgresql_from_environment): new function.
8520         (vars_of_postgresql): Move code initializing Lisp variables out and
8521         into init_postgresql_from_environment.
8522         emacs.c (main_1): Call init_postgresql_from_environment if and only
8523         if running a dumped XEmacs.
8524
8525 2000-08-31  Dan Holmsand  <dan@eyebee.com>
8526
8527         * buffer.c: Make find-file-compare-truenames default to true on
8528         windows.
8529
8530         * realpath.c (win32_abs_start):
8531         (cygwin_readlink):
8532         (win32_readlink): New functions.
8533         (xrealpath): Return really real filenames on windows.
8534
8535         * fileio.c (Ffile_truename): Make file-truename work on windows.
8536
8537 2000-11-29  Didier Verna  <didier@xemacs.org>
8538
8539         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
8540         * faces.c (update_face_cachel_data): use it.
8541         * faces.c (add_face_cachel): use it. Complete background pixmap
8542         frobbing in face cache if `update_face_cachel_data' has not done so.
8543
8544 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
8545
8546         * search.c (string_match_1): Don't set last_thing_searched
8547         when search failed.
8548
8549 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
8550
8551         * buffer.c: Include casetab.h
8552         (common_init_complex_vars_of_buffer): Use new case-table object.
8553         * buffer.h: Include casetab.h
8554         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
8555         (DOWNCASE_TABLE_OF): Ditto.
8556         * bufslots.h: Remove char-tables and add case-table.
8557         * casetab.c: Include casetab.h
8558         (CASE_TABLE_P): Removed.
8559         (mark_case_table): New function.
8560         (allocate_case_table): New function.
8561         (Fcase_table_p): Use new case-table.
8562         (case_table_char): New function.
8563         (Fget_case_table): Ditto.
8564         (Fput_case_table): Ditto.
8565         (Fput_case_table_pair): Ditto.
8566         (Fcopy_case_table): Ditto.
8567         (Fcurrent_case_table): Return case-table.
8568         (Fstandard_case_table): Return case-table.
8569         (Fset_case_table): Fix doc-string.
8570         (set_case_table): Use case-table
8571         (syms_of_casetab): DEFSUBR new functions.
8572         (complex_vars_of_casetab): Set up standard case-table.
8573         * casetab.h: New file.
8574         * editfns.c: Include casetab.h
8575         (Fcompare_buffer_substrings): Use case-table.
8576         * inline.c: Include casetab.h
8577         * lisp.h: Remove bogus extern.
8578         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
8579         * search.c: Include casetab.h
8580         (TRANSLATE_ASCII): Removed.
8581         (TRANSLATE): Unconditionally translate character.
8582         (looking_at_1): Use case-table.
8583         (string_match_1): Ditto.
8584         (fast_string_match): Ditto.
8585         (search_command): Ditto.
8586         (search_buffer): Separate boyer_moore.  Check whether
8587         boyer_moore is possible.
8588         (simple_search): New function.
8589         (boyer_moore): Separated from search_buffer. Translate char.
8590
8591 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
8592
8593         * regex.c (RE_TR_ASCII): Removed.
8594         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
8595         (PATFETCH): Call PATFETCH_RAW.
8596         (PATFETCH_RAW): Fetch Emchar.
8597         (PATUNFETCH): Decrement charptr.
8598         (GET_BUFFER_SPACE): Rename b to buf_end.
8599         (BUF_PUSH): Ditto.
8600         (BUF_PUSH_2): Ditto.
8601         (BUF_PUSH_3): Ditto.
8602         (EXTEND_BUFFER): Ditto.
8603         (SET_LIST_BIT): Ditto.
8604         (regex_compile): Ditto.  Translate non ASCII char.
8605         (compile_range): Ditto.
8606         (re_search_2): Ditto.
8607         (re_match_2_internal): Compare Emchar.
8608         (bcmp_translate): Ditto.
8609
8610 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
8611
8612         * lisp.h (basic char/int typedefs):  comment improvement.
8613
8614 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
8615
8616         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
8617         unstomp inhibit_site_lisp.  Improve comments.
8618
8619 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
8620
8621         * mule-charset.c (Fcharset_property):  improve type checking, comments.
8622
8623 2000-11-28  Andy Piper  <andy@xemacs.org>
8624
8625         * redisplay-output.c (redisplay_output_subwindow): make sure we do
8626         clipped display for windows in the gutter also.
8627         (redisplay_display_boxes_in_window_p): change semantics of return
8628         codes to be more intuitive.
8629
8630         * gutter.h: declare display_boxes_in_gutter_p.
8631
8632         * gutter.c (display_boxes_in_gutter_p): new function for
8633         redisplay.
8634
8635 2000-11-22  Andy Piper  <andy@xemacs.org>
8636
8637         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
8638         autodetect domain.
8639
8640 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
8641
8642         * callproc.c (Fold_call_process_internal):
8643         * gpm.c (Freceive_gpm_event):
8644         (tty_get_foreign_selection): Might be just warning supression.
8645         * fileio.c (Fwrite_region_internal):
8646         (Fset_visited_file_modtime):
8647         * keymap.c (event_matches_key_specifier_p):
8648         Initialize GCPROed variable.
8649
8650         * menubar-x.c (command_builder_find_menu_accelerator):
8651         Initialize before use.
8652
8653 2000-11-23  Andy Piper  <andy@xemacs.org>
8654
8655         * unexcw.c (unexec): make the resulting executable executable.
8656
8657 2000-11-21  Martin Buchholz  <martin@xemacs.org>
8658
8659         * doc.c (get_doc_string):
8660         Use size_t, not int, for result of XSTRING_LENGTH.
8661
8662         * cmds.c (Fdelete_char):
8663         * cmds.c (Fpoint_at_eol):
8664         * cmds.c (Fself_insert_command):
8665         Use EMACS_INT, not int, for result of XINT.
8666         Someday, someone will want to insert more than 2**31 identical characters.
8667
8668         * cmds.c (Fdelete_char):
8669         * cmds.c (Fdelete_backward_char):
8670         * syntax.c (Fforward_word):
8671         * syntax.c (Fforward_comment):
8672         Make COUNT argument optional, for consistency with forward-char et al.
8673
8674 2000-11-22  Martin Buchholz  <martin@xemacs.org>
8675
8676         * lisp.h:
8677         * print.c (long_to_string):
8678         Return a useful value: the pointer at end of data written.
8679
8680         * doprnt.c:
8681         Use `static const char * const' for constant strings.
8682         (union printf_arg): Delete `i', `ui' members.
8683         (get_doprnt_args):
8684         (emacs_doprnt_1):
8685         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
8686         Do all printf-ing via the `l' specifier.
8687         Use EMACS_INT instead of int.
8688         Optimize.
8689
8690 2000-11-20  Didier Verna  <didier@xemacs.org>
8691
8692         * faces.c (update_face_cachel_data): don't frob the background
8693         pixmap when the window is being created. The face is needed but
8694         does not exist yet.
8695
8696 2000-11-20  Andy Piper  <andy@xemacs.org>
8697
8698         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
8699         messing with a debug environment.
8700
8701 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8702
8703         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
8704
8705 2000-11-20  Martin Buchholz  <martin@xemacs.org>
8706
8707         * casetab.c (Fcase_table_p): Fix compile error and crash.
8708
8709 2000-11-18  Philip Aston  <philipa@mail.com>
8710
8711         * s/cygwin32.h: Cygwin has SVR4-like pty support.
8712
8713 2000-11-18  Martin Buchholz  <martin@xemacs.org>
8714
8715         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
8716         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
8717
8718 2000-11-17  Martin Buchholz  <martin@xemacs.org>
8719
8720         * config.h.in: Define HAVE_ELF_H if elf.h exists.
8721         * unexelf.c: Use HAVE_ELF_H.
8722         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
8723         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
8724         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
8725         Greg Harrington <greg_harrington@hotmail.com> provided a machine
8726         for testing.
8727         So this is an unexelfsgi.c from a different line of development.
8728
8729 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8730
8731         * regex.c (RE_TR_ASCII): New function.
8732         (RE_TRANSLATE): Call it.
8733
8734 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
8735
8736         * buffer.h (TRT_TABLE_OF): Remove assert.
8737         (IN_TRT_TABLE_DOMAIN): Removed.
8738
8739 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8740
8741         * free-hook.c (log_gcpro):
8742         (show_gcprohist): Add support for GCPRO5.
8743
8744 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
8745
8746         * emacs.c (main_1): Improve -sd error message when --pdump=no.
8747
8748 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
8749
8750         * symeval.h: Declare flush_all_buffer_local_cache.
8751
8752         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
8753         (flush_buffer_local_cache): Added.
8754         (flush_all_buffer_local_cache): Added.
8755
8756         * lrecord.h: Remove unused XD_LO_RESET_NIL.
8757
8758         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
8759         (pdump_dump_data): Ditto.
8760         (pdump_reloc_one): Ditto.
8761         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
8762         before dumping.
8763
8764
8765 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8766
8767         * buffer.c: Remove if 0'ed entry.
8768         * buffer.h: Rewrite TRT to use char-table.
8769         * bufslots.h: Remove mirror tables.
8770         * casetab.c: Remove mirror tables.
8771         (CASE_TABLE_P): New macro.
8772         (Fcase_table_p): Element of a case table is string or char-table.
8773         (make_mirror_trt_table): Removed.
8774         (set_case_table): Setup char-table from strings for backward
8775         compatibility.
8776         * dired.c (Fdirectory_files):
8777         * dired-msw.c: (mswindows_get_files):
8778         * lisp.h: Change prototype of re_pattern_buffer.
8779         * regex.c: (RE_TRANSLATE): New macro.
8780         (TRANSLATE_P): Ditto.
8781         Change translate to type RE_TRANSLATE_TYPE.
8782         * regex.h: Define RE_TRANSLATE_TYPE
8783         * search.c (TRANSLATE): New macro.
8784         (TRANSLATE_ASCII): New macro.
8785         Translate table is changed to Lisp_Object.
8786         (signal_failure): Inhibit return.
8787
8788 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
8789
8790         * device-msw.c:
8791         * eldap.c:
8792         * event-Xt.c:
8793         * event-stream.c:
8794         * print.c:
8795         Do UNGCPRO before return.
8796
8797 2000-11-14  Martin Buchholz <martin@xemacs.org>
8798
8799         * XEmacs 21.2.37 is released.
8800
8801 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
8802
8803         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
8804         Add comments about discarded return value.
8805
8806 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
8807
8808         * callint.c:
8809         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
8810
8811 2000-10-27  Andy Piper  <andy@xemacs.org>
8812
8813         * gutter.c (Fset_default_gutter_position): default left and right
8814         gutters to visible.
8815         (calculate_gutter_size): calculate resonable heuristic for left
8816         and right gutter sizes.
8817         (specifier_vars_of_gutter): change left and right gutter sizes to
8818         autodetect.
8819         (calculate_gutter_size_from_display_lines): new function.
8820         (output_gutter): check for resizing on left and right gutters.
8821         (clear_gutter): don't special case top and left gutters.
8822         (specifier_vars_of_gutter): use new signature for
8823         set_specifier_caching.
8824
8825         * glyphs-x.c (x_redisplay_widget): spelling fix.
8826         * glyphs.c (specifier_vars_of_glyphs):
8827         * menubar.c (specifier_vars_of_menubar):
8828         * redisplay.c (specifier_vars_of_redisplay):
8829         * toolbar.c (specifier_vars_of_toolbar):
8830         * window.c (specifier_vars_of_window):
8831         * scrollbar.c (specifier_vars_of_scrollbar):
8832         (complex_vars_of_scrollbar): use new signature for
8833         set_specifier_caching.
8834
8835         * specifier.c (set_specifier_caching): include recompute flag.
8836         (recompute_one_cached_specifier_in_window): always recompute if
8837         flag set.
8838         (recompute_one_cached_specifier_in_frame): ditto.
8839
8840         * specifier.h (struct specifier_caching): add recompute flag.
8841
8842 2000-10-24  Andy Piper  <andy@xemacs.org>
8843
8844         * unexcw.c (copy_executable_and_dump_data_section): add new
8845         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
8846         5.0 happy.
8847
8848 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8849
8850         * console-x.h (x_device): New member modifier_release_time.
8851         * event-Xt.c (x_handle_sticky_modifiers):
8852         Bound interval modifier keys are sticky.
8853         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
8854         * events.h: extern it.
8855
8856 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8857
8858         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
8859
8860 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
8861
8862         * event-stream.c (execute_command_event): Preserve current_events
8863         and the like when event is misc-user-event.
8864         Inhibit quit during the call to maybe_echo_keys.
8865
8866 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
8867
8868         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
8869         symlink when buffer is killed.
8870         (inhibit_clash_detection): New variable.
8871
8872 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
8873
8874         * console.c (Fset_input_method): Trigger redisplay on tty.
8875
8876 2000-11-07  Martin Buchholz  <martin@xemacs.org>
8877
8878         * process.c (Fprocess_status): Revert to previous behavior:
8879         (process-status "nosuchprocess") ==> nil
8880
8881 2000-11-06  Martin Buchholz  <martin@xemacs.org>
8882
8883         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
8884         Work around another GCC 2.95.2 optimizer bug.
8885
8886 2000-11-02  Martin Buchholz  <martin@xemacs.org>
8887
8888         * process.c (Fget_process): Use LIST_LOOP_2.
8889         (kill_buffer_processes): Use LIST_LOOP_2.
8890
8891         * minibuf.c (Fall_completions):
8892         Delete old non-functional code for FSF fourth argument.
8893
8894         * frame.c (frame_matches_frame_spec):
8895         Renamed from `frame_matches_frametype'.  Update all callers.
8896         (device_matches_device_spec):
8897         Renamed from 'device_matches_console_spec'.  Update all callers.
8898
8899         * doc.c (Fsubstitute_command_keys):
8900         Remove buffer overflow crash.  Small code cleanups.
8901
8902         * casetab.c (check_case_table): Simpler code.
8903
8904         * window.c (Freplace_buffer_in_windows):
8905         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
8906         (and similar implementation) as Fdelete_windows_on.
8907         Update all callers.
8908
8909         * alloc.c (Fmake_list):
8910         * alloc.c (make_vector):
8911         * alloc.c (Fmake_vector):
8912         * alloc.c (make_bit_vector):
8913         * alloc.c (Fmake_bit_vector):
8914         * alloc.c (Fbit_vector):
8915         * alloc.c (Fmake_string):
8916         * alloc.c (Fpurecopy):
8917         * alloc.c (Fmemory_limit):
8918         * buffer.c:
8919         * buffer.c (Fget_buffer):
8920         * buffer.c (Fkill_buffer):
8921         * buffer.c (complex_vars_of_buffer):
8922         * bytecode.c (Fcompiled_function_stack_depth):
8923         * callint.c (Fprefix_numeric_value):
8924         * event-stream.c:
8925         * event-stream.c (Fread_key_sequence):
8926         * casetab.c:
8927         * casetab.c (Fcase_table_p):
8928         * casetab.c (check_case_table):
8929         * casetab.c (Fset_case_table):
8930         * casetab.c (Fset_standard_case_table):
8931         * chartab.c:
8932         * chartab.c (Fchar_table_type):
8933         * chartab.c (Freset_char_table):
8934         * chartab.c (Fget_char_table):
8935         * chartab.c (Fget_range_char_table):
8936         * chartab.c (Fput_char_table):
8937         * chartab.c (Fmap_char_table):
8938         * chartab.c (Fcategory_table_p):
8939         * chartab.c (Fcheck_category_at):
8940         * chartab.c (Fchar_in_category_p):
8941         * chartab.c (Fcategory_table):
8942         * chartab.c (Fcopy_category_table):
8943         * chartab.c (Fset_category_table):
8944         * chartab.c (Fcategory_designator_p):
8945         * chartab.c (Fcategory_table_value_p):
8946         * cmds.c (Fdelete_char):
8947         * cmds.c (Fdelete_backward_char):
8948         * cmds.c (Fself_insert_command):
8949         * cmds.c (Fself_insert_internal):
8950         * console.c (Fvalid_console_type_p):
8951         * console.c (Fcdfw_console):
8952         * console.c (Fconsole_type):
8953         * console.c (Fconsole_name):
8954         * console.c (Fconsole_device_list):
8955         * console.c (Fconsole_on_window_system_p):
8956         * data.c:
8957         * data.c (Feq):
8958         * data.c (Fold_eq):
8959         * data.c (Fsubr_interactive):
8960         * data.c (Fchar_to_int):
8961         * data.c (Fint_to_char):
8962         * data.c (Fsetcar):
8963         * data.c (Fsetcdr):
8964         * data.c (Fnumber_to_string):
8965         * data.c (Fstring_to_number):
8966         * data.c (Frem):
8967         * database.c (mark_database):
8968         * database.c (finalize_database):
8969         * database.c (Fdatabase_live_p):
8970         * database.c (Fdatabasep):
8971         * device-x.c (Fx_get_resource):
8972         * device.c (Fdfw_device):
8973         * dired.c:
8974         * dired.c (Ffile_name_completion):
8975         * dired.c (Ffile_name_all_completions):
8976         * dired.c (Fuser_name_completion):
8977         * dired.c (Fuser_name_completion_1):
8978         * dired.c (Fuser_name_all_completions):
8979         * doc.c (Fdocumentation):
8980         * doc.c (Fdocumentation_property):
8981         * doc.c (Fsubstitute_command_keys):
8982         * editfns.c:
8983         * editfns.c (Fchar_to_string):
8984         * editfns.c (Fstring_to_char):
8985         * editfns.c (Ftemp_directory):
8986         * editfns.c (Finsert_char):
8987         * editfns.c (Fbuffer_substring_no_properties):
8988         * editfns.c (Fnarrow_to_region):
8989         * editfns.c (Fchar_equal):
8990         * editfns.c (Fchar_Equal):
8991         * editfns.c (Ftranspose_regions):
8992         * emacs.c (Fdump_emacs):
8993         * eval.c (Fthrow):
8994         * eval.c (Fcommand_execute):
8995         * eval.c (Fautoload):
8996         * eval.c (Fbacktrace):
8997         * eval.c (Fbacktrace_frame):
8998         * events.c:
8999         * events.c (Fcopy_event):
9000         * events.c (Fcharacter_to_event):
9001         * events.c (Fevent_button):
9002         * events.c (Fevent_process):
9003         * extents.c:
9004         * extents.c (Fnext_extent_change):
9005         * extents.c (Fextent_property):
9006         * faces.c (Ffacep):
9007         * faces.c (Fmake_face):
9008         * file-coding.c:
9009         * file-coding.c (Fencode_shift_jis_char):
9010         * file-coding.c (Fencode_big5_char):
9011         * fileio.c (Ffile_name_directory):
9012         * fileio.c (Ffile_name_nondirectory):
9013         * fileio.c (Ffile_name_as_directory):
9014         * fileio.c (Fdirectory_file_name):
9015         * fileio.c (Ffile_truename):
9016         * fileio.c (Fsubstitute_in_file_name):
9017         * fileio.c (Ffile_modes):
9018         * fileio.c (Fset_file_modes):
9019         * fileio.c (Fset_default_file_modes):
9020         * fileio.c (Fverify_visited_file_modtime):
9021         * floatfns.c (Facos):
9022         * floatfns.c (Fasin):
9023         * floatfns.c (Fatan):
9024         * floatfns.c (Fcos):
9025         * floatfns.c (Fsin):
9026         * floatfns.c (Ftan):
9027         * floatfns.c (Fbessel_j0):
9028         * floatfns.c (Fbessel_j1):
9029         * floatfns.c (Fbessel_jn):
9030         * floatfns.c (Fbessel_y0):
9031         * floatfns.c (Fbessel_y1):
9032         * floatfns.c (Fbessel_yn):
9033         * floatfns.c (Ferf):
9034         * floatfns.c (Ferfc):
9035         * floatfns.c (Flog_gamma):
9036         * floatfns.c (Fexp):
9037         * floatfns.c (Fexpt):
9038         * floatfns.c (Flog):
9039         * floatfns.c (Flog10):
9040         * floatfns.c (Fsqrt):
9041         * floatfns.c (Fcube_root):
9042         * floatfns.c (Facosh):
9043         * floatfns.c (Fasinh):
9044         * floatfns.c (Fatanh):
9045         * floatfns.c (Fcosh):
9046         * floatfns.c (Fsinh):
9047         * floatfns.c (Ftanh):
9048         * floatfns.c (Fabs):
9049         * floatfns.c (Ffloat):
9050         * floatfns.c (Flogb):
9051         * floatfns.c (Fceiling):
9052         * floatfns.c (Ffloor):
9053         * floatfns.c (Fround):
9054         * floatfns.c (Ftruncate):
9055         * floatfns.c (Ffceiling):
9056         * floatfns.c (Fffloor):
9057         * floatfns.c (Ffround):
9058         * floatfns.c (Fftruncate):
9059         * fns.c (Fstring_equal):
9060         * fns.c (Fstring_lessp):
9061         * fns.c (concat2):
9062         * fns.c (concat3):
9063         * fns.c (vconcat2):
9064         * fns.c (vconcat3):
9065         * fns.c (Fsubstring):
9066         * fns.c (Fassoc):
9067         * fns.c (Fold_assoc):
9068         * fns.c (assoc_no_quit):
9069         * fns.c (Fassq):
9070         * fns.c (Fold_assq):
9071         * fns.c (assq_no_quit):
9072         * fns.c (Frassoc):
9073         * fns.c (Fold_rassoc):
9074         * fns.c (Frassq):
9075         * fns.c (Fold_rassq):
9076         * fns.c (rassq_no_quit):
9077         * fns.c (Fremassoc):
9078         * fns.c (remassoc_no_quit):
9079         * fns.c (Fremassq):
9080         * fns.c (remassq_no_quit):
9081         * fns.c (Fremrassoc):
9082         * fns.c (Fremrassq):
9083         * fns.c (remrassq_no_quit):
9084         * fns.c (Fsort):
9085         * fns.c (Fplist_get):
9086         * fns.c (Fplist_put):
9087         * fns.c (Fplist_remprop):
9088         * fns.c (Fplist_member):
9089         * fns.c (Flax_plist_get):
9090         * fns.c (Flax_plist_put):
9091         * fns.c (Flax_plist_remprop):
9092         * fns.c (Flax_plist_member):
9093         * fns.c (Fequal):
9094         * fns.c (Fold_equal):
9095         * fns.c (Frequire):
9096         * fns.c (Fbase64_encode_region):
9097         * fns.c (Fbase64_encode_string):
9098         * fns.c (Fbase64_decode_region):
9099         * frame.c:
9100         * frame.c (frame_matches_frame_spec):
9101         * frame.c (device_matches_device_spec):
9102         * frame.c (next_frame):
9103         * frame.c (previous_frame):
9104         * frame.c (Fnext_frame):
9105         * frame.c (Fprevious_frame):
9106         * frame.c (Fframe_property):
9107         * frame.c (Fset_frame_height):
9108         * frame.c (Fset_frame_size):
9109         * frame.h:
9110         * glyphs.c:
9111         * glyphs.c (if):
9112         * glyphs.c (decode_error_behavior_flag):
9113         * glyphs.c (Fmake_image_instance):
9114         * indent.c (Findent_to):
9115         * intl.c (Fignore_defer_gettext):
9116         * keymap.c (Fkeymapp):
9117         * keymap.c (Flookup_key):
9118         * lread.c:
9119         * lread.c (Fload_internal):
9120         * lread.c (Feval_buffer):
9121         * lread.c (Feval_region):
9122         * macros.c (Fexecute_kbd_macro):
9123         * marker.c (set_marker_internal):
9124         * marker.c (Fset_marker):
9125         * marker.c (set_marker_restricted):
9126         * marker.c (Fcopy_marker):
9127         * marker.c (noseeum_copy_marker):
9128         * menubar.c:
9129         * menubar.c (Fpopup_menu):
9130         * minibuf.c:
9131         * mule-charset.c (Fcharset_name):
9132         * mule-charset.c (Fchar_charset):
9133         * mule-charset.c (Fchar_octet):
9134         * mule-charset.c (Fsplit_char):
9135         * mule-wnnfns.c (Fwnn_open):
9136         * mule-wnnfns.c (Fwnn_dict_comment):
9137         * mule-wnnfns.c (Fwnn_quit_henkan):
9138         * mule-wnnfns.c (Fwnn_word_toroku):
9139         * mule-wnnfns.c (Fwnn_word_sakujo):
9140         * mule-wnnfns.c (Fwnn_word_use):
9141         * mule-wnnfns.c (Fwnn_hindo_set):
9142         * objects.c:
9143         * objects.c (Fmake_color_instance):
9144         * objects.c (Fmake_font_instance):
9145         * print.c (Fwrite_char):
9146         * process.c:
9147         * process.c (mark_process):
9148         * process.c (print_process):
9149         * process.c (get_process_from_usid):
9150         * process.c (Fprocessp):
9151         * process.c (Fprocess_live_p):
9152         * process.c (Fget_process):
9153         * process.c (Fget_buffer_process):
9154         * process.c (get_process):
9155         * process.c (Fprocess_id):
9156         * process.c (Fprocess_name):
9157         * process.c (Fprocess_command):
9158         * process.c (init_process_io_handles):
9159         * process.c (start_process_unwind):
9160         * process.c (Fstart_process_internal):
9161         * process.c (Fopen_multicast_group_internal):
9162         * process.c (Fset_process_window_size):
9163         * process.c (read_process_output):
9164         * process.c (send_process):
9165         * process.c (Fprocess_tty_name):
9166         * process.c (Fset_process_buffer):
9167         * process.c (Fprocess_buffer):
9168         * process.c (Fprocess_mark):
9169         * process.c (set_process_filter):
9170         * process.c (Fset_process_filter):
9171         * process.c (Fprocess_filter):
9172         * process.c (Fprocess_send_region):
9173         * process.c (Fprocess_send_string):
9174         * process.c (exec_sentinel):
9175         * process.c (Fset_process_sentinel):
9176         * process.c (Fprocess_sentinel):
9177         * process.c (status_notify):
9178         * process.c (Fprocess_status):
9179         * process.c (Fprocess_exit_status):
9180         * process.c (process_send_signal):
9181         * process.c (Fprocess_send_eof):
9182         * process.c (deactivate_process):
9183         * process.c (remove_process):
9184         * process.c (Fdelete_process):
9185         * process.c (kill_buffer_processes):
9186         * process.c (Fprocess_kill_without_query):
9187         * process.c (Fprocess_kill_without_query_p):
9188         * rangetab.c:
9189         * rangetab.c (Fget_range_table):
9190         * rangetab.c (Fput_range_table):
9191         * rangetab.c (Fremove_range_table):
9192         * rangetab.c (Fclear_range_table):
9193         * search.c:
9194         * search.c (Fskip_chars_forward):
9195         * search.c (Fskip_chars_backward):
9196         * search.c (Fskip_syntax_forward):
9197         * search.c (Fskip_syntax_backward):
9198         * search.c (search_command):
9199         * search.c (Freplace_match):
9200         * search.c (Fregexp_quote):
9201         * select.c (Fown_selection_internal):
9202         * select.c (Fselection_owner_p):
9203         * select.c (Fselection_exists_p):
9204         * select.c (Fget_selection_internal):
9205         * specifier.c:
9206         * symbols.c:
9207         * symbols.c (Fintern):
9208         * symbols.c (Fintern_soft):
9209         * symbols.c (Funintern):
9210         * symbols.c (Fapropos_internal):
9211         * symbols.c (Fset_default):
9212         * syntax.c:
9213         * syntax.c (Fsyntax_table_p):
9214         * syntax.c (Fcopy_syntax_table):
9215         * syntax.c (Fset_syntax_table):
9216         * syntax.c (Fchar_syntax):
9217         * syntax.c (syntax_match):
9218         * syntax.c (Fmatching_paren):
9219         * syntax.c (Fforward_word):
9220         * syntax.c (scan_lists):
9221         * syntax.c (Fscan_lists):
9222         * syntax.c (Fscan_sexps):
9223         * syntax.c (Fparse_partial_sexp):
9224         * toolbar.c (Fcheck_toolbar_button_syntax):
9225         * tooltalk.doc:
9226         * window.c:
9227         * window.c (Fwindowp):
9228         * window.c (Fwindow_live_p):
9229         * window.c (Fwindow_point):
9230         * window.c (Fdelete_window):
9231         * window.c (Fnext_window):
9232         * window.c (Fprevious_window):
9233         * window.c (Fother_window):
9234         * window.c (window_loop):
9235         * window.c (Fget_lru_window):
9236         * window.c (Fsplit_window):
9237         * window.c (Fenlarge_window):
9238         * window.c (Fenlarge_window_pixels):
9239         * window.c (Fshrink_window):
9240         * window.c (Fshrink_window_pixels):
9241         * window.c (change_window_height):
9242         * window.c (Fwindow_configuration_p):
9243         * window.c (Fcurrent_window_configuration):
9244         * window.h:
9245         * casefiddle.c (casify_object):
9246         * casefiddle.c (Fupcase):
9247         * casefiddle.c (Fdowncase):
9248         * casefiddle.c (Fcapitalize):
9249         * casefiddle.c (Fupcase_initials):
9250         * casefiddle.c (casify_region_internal):
9251         * casefiddle.c (casify_region):
9252         * casefiddle.c (Fupcase_region):
9253         * casefiddle.c (Fdowncase_region):
9254         * casefiddle.c (Fcapitalize_region):
9255         * casefiddle.c (Fupcase_initials_region):
9256         * casefiddle.c (Fupcase_word):
9257         * casefiddle.c (Fdowncase_word):
9258         * casefiddle.c (Fcapitalize_word):
9259         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
9260         Replace 0 with '\0' when working with bytes.
9261         Replace initial "(" with "\(" in docstrings.
9262
9263 2000-11-01  Martin Buchholz  <martin@xemacs.org>
9264
9265         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
9266
9267         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
9268
9269 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9270
9271         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
9272
9273 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9274
9275         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
9276         correctly.
9277
9278 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
9279
9280         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
9281         (inhibit_auto_save_session): New variable.
9282         (vars_of_fileio): Declare and initialize them.
9283         * fileio.c (Fdo_auto_save): Don't create session file if
9284         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
9285
9286 2000-10-31  Martin Buchholz  <martin@xemacs.org>
9287
9288         * sgiplay.c (play_internal): C++ compilability.
9289         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
9290         * callproc.c (Fold_call_process_internal):
9291         Remove unused vars `env', `first'.
9292         * scrollbar.c (update_scrollbar_instance):
9293         #### unused var `current_window'.
9294         * redisplay-tty.c: Put currently unused vars insert_mode_on,
9295         etc. within #ifdef NOT_YET.
9296         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
9297         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
9298         * specifier.c (specifier_instance):
9299         #### unused var `tag'.
9300         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
9301
9302 2000-10-27  Martin Buchholz  <martin@xemacs.org>
9303
9304         * fns.c (Fbutlast):
9305         * fns.c (list_sort):
9306         * fns.c (Ffillarray):
9307         * fns.c (bytecode_nconc2):
9308         * fns.c (Fnconc):
9309         * fns.c (mapcar1):
9310         * fns.c (Fmapconcat):
9311         Be pedantically 64-bit correct.  For the time when someone will
9312         want to have a list with length > 2**32.
9313
9314         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
9315         Work around MIPSpro compiler bug.
9316
9317         * process-unix.c (unix_kill_child_process): Add snarky comment.
9318         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
9319
9320         * config.h.in: Oops, _getpt ==> _getpty
9321
9322 2000-10-26  Martin Buchholz  <martin@xemacs.org>
9323
9324         * config.h.in:
9325         * regex.c:
9326         Use void*, not char*, as return type of alloca().
9327
9328         * alloc.c (free_marker): Side effect inside assert expression!
9329
9330 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
9331
9332         * mule-charset.c (Fset_charset_ccl_program): To check
9333         if the given ccl program is valid, use setup_ccl_program()
9334         instead of CHECK_VECTOR().
9335         (Fmake_charset): Likewise.
9336
9337 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
9338
9339         * faces.c (get_extent_fragment_face_cache_index):
9340         Fix cachel.merged_faces memory leak.
9341
9342 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
9343
9344         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
9345         Reset MSB of octets obtained by DECODE_SJIS
9346         because of the incompatibility with Emacs.
9347         (ccl_driver)<CCL_ENCODE_SJIS>:
9348         Set MSB of octets before passing them to
9349         ENCODE_SJIS because of the incompatibility
9350         with Emacs.
9351
9352 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
9353
9354         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
9355         (DECLARE_LRECORD): Undo the last change.
9356         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
9357
9358 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
9359
9360         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
9361         the implementation to lrecord_implementations_table.
9362
9363 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
9364
9365         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
9366         initial value of `lrecord_type_##c_name' and
9367         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
9368         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
9369         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
9370         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
9371         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
9372
9373 2000-10-17  Martin Buchholz  <martin@xemacs.org>
9374
9375         * miscplay.c (sndcnv8S_2mono):
9376         (sndcnv2monounsigned):
9377         (sndcnvULaw_2linear):
9378         (sndcnv16swap):
9379         Remove implementation-defined behavior.
9380
9381 2000-10-12  Martin Buchholz  <martin@xemacs.org>
9382
9383         * input-method-xlib.c: Warning suppression.
9384
9385 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
9386
9387         * mule-ccl.c: Sync up with Emacs 21.0.90.
9388         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
9389         Do nothing.
9390         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
9391         Likewise.
9392         (ccl_driver[WriteMultibyteChar2]): Bug fix.
9393         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
9394         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
9395         leading char belongs to official 2-dimensional charset.
9396         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
9397         write the given character as is.  Otherwise,
9398         if it is a multibyte char, convert it by
9399         non_ascii_set_charptr_emchar, then write it.
9400         (CCL_WRITE_STRING): Likewise.
9401         (ccl_get_compiled_code): New function.
9402         (setup_ccl_program): When ccl_prog is invalid,
9403         return -1.
9404         (Fregister_code_conversion_map): New function.
9405         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
9406
9407         * mule-ccl.h: Sync up with Emacs 21.0.90.
9408         (Fregister_ccl_program): export it.
9409
9410         * redisplay-msw.c (separate_textual_runs):
9411         If ccl program is not valid, don't do ccl conversion.
9412
9413         * redisplay-x.c (separate_textual_runs): Ditto.
9414
9415         * file-coding.c (Fmake_coding_system):
9416         When type is ccl and value is vector, register it
9417         with a proper symbol.  And checks whether the
9418         given ccl program is valid.
9419         (mule_decode): When calling ccl_driver, if src indicates
9420         NULL pointer, set an empty string instead.
9421         (mule_encode): Likewise.
9422
9423 2000-10-11  Martin Buchholz  <martin@xemacs.org>
9424
9425         The following large batch of changes gets us back to a state of
9426         C++ compilability.  Extbyte is now a char, which means that
9427         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
9428
9429         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
9430
9431         * sound.c (Fplay_sound): Type correctness.
9432
9433         * select-x.c (hack_motif_clipboard_selection): Type correctness.
9434         (x_get_window_property): Type correctness.
9435         (receive_incremental_selection): unsigned char ==> Extbyte
9436         (selection_data_to_lisp_data): unsigned char ==> Extbyte
9437         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
9438         (Fx_store_cutbuffer_internal): Type correctness.
9439
9440         * process-unix.c (try_to_initialize_subtty): Type correctness.
9441
9442         * objects-x.c (x_print_color_instance): Type correctness.
9443         (x_print_font_instance): Type correctness.
9444         (x_list_fonts): SExtbyte ==> Extbyte.
9445         (valid_x_font_name_p): SExtbyte ==> Extbyte.
9446         (x_find_charset_font): SExtbyte ==> Extbyte.
9447         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
9448         (truename_via_XListFonts): SExtbyte ==> Extbyte.
9449         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
9450         Use bufbyte_strcmp.
9451
9452         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
9453         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
9454         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
9455         (BYTE_C0_P): Use bit ops for char-signedness safety.
9456         (BYTE_C1_P): Use bit ops for char-signedness safety.
9457         (CHARSET_BY_LEADING_BYTE):
9458         (CHARSET_BY_ATTRIBUTES):
9459         Always use inline function.
9460         Use type_checking_assert.
9461         Hide chlook.
9462
9463         * mule-charset.c (non_ascii_charptr_copy_char):
9464         Modify to work with both ASCII and non-ASCII characters.
9465         Improve docs and variable names.
9466         Replace over-clever fall-through switch with a simple loop.
9467         (Lstream_get_emchar_1):
9468         Replace over-clever fall-through switch with a simple loop.
9469
9470         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
9471         Warning suppression.
9472
9473         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
9474         the return value of Lstream_getc, which could be EOF as well.
9475
9476         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
9477
9478         * lisp.h: Make Extbyte a char, not unsigned char, so that external
9479         APIs can be used on Extbytes without casts.  Risky!
9480         (SExtbyte): Remove.
9481         (UExtbyte): Remove.
9482
9483         * input-method-xlib.c (XIM_init_device):
9484         Use Xlib.h instead of IntrinsicP.h.
9485         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
9486         which will break in X11R7.
9487         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
9488         to call XRegisterIMInstantiateCallback with correct types.
9489
9490         * gui-x.c (button_item_to_widget_value): Type correctness.
9491
9492         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
9493
9494         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
9495         (xbm_instantiate_1): Type correctness.
9496         (BUILD_GLYPH_INST):  Type correctness.
9497
9498         * fileio.c (Fsubstitute_in_file_name): Type correctness.
9499
9500         * file-coding.c:
9501         (decode_coding_sjis):
9502         (decode_coding_big5):
9503         (decode_coding_ucs4):
9504         (decode_coding_utf8):
9505         (decode_coding_iso2022):
9506         (decode_coding_no_conversion):
9507         Make all decoding functions take an Extbyte * arg.
9508         (encode_coding_sjis):
9509         (encode_coding_big5):
9510         (encode_coding_ucs4):
9511         (encode_coding_utf8):
9512         (encode_coding_iso2022):
9513         (encode_coding_no_conversion):
9514         Make all encoding functions take a Bufbyte * arg.
9515         Use size_t instead of unsigned int for memory sizes.
9516         Only cast to unsigned char whenever dereferencing Extbyte *.
9517
9518         * doc.c (unparesseuxify_doc_string): Type correctness.
9519
9520         * console-x.c (split_up_display_spec):
9521         Rewrite without using details of internal string representation.
9522         (x_semi_canonicalize_device_connection): Type correctness.
9523
9524         * config.h.in:
9525         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
9526         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
9527         (HAVE_XFREE386): Removed.
9528
9529         * buffer.h (DEC_CHARPTR): `const' correctness.
9530         (bufbyte_strcmp): New.
9531         (bufbyte_memcmp): New.
9532
9533         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
9534
9535         * buffer.h (XCHAR_OR_CHAR_INT):
9536         Always use inline function.
9537         Remove redundant type checking assert() - XINT will abort quite nicely.
9538
9539 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
9540
9541         * search.c (Freplace_match): Set newtext to an empty string.
9542
9543 2000-10-10  Martin Buchholz  <martin@xemacs.org>
9544
9545         * s/decosf1-3.h: Remove #include of stropts.h
9546         * s/ptx.h: Remove #include of stropts.h
9547         * s/usg5-4.h: Remove #include of stropts.h
9548         * sysproc.h:
9549         * config.h.in:
9550         Use stropts.h, not sys/stropts.h.
9551         Use strtio.h, not sys/strtio.h.
9552
9553 2000-10-04  Martin Buchholz <martin@xemacs.org>
9554
9555         * XEmacs 21.2.36 is released.
9556
9557 2000-09-21  Andy Piper  <andy@xemacs.org>
9558
9559         * glyphs-x.c (x_redisplay_widget): make sure non-structural
9560         changes still involve copying the widget tree.
9561         (update_widget_face): make sure a change is register in the widget
9562         tree. Call update_tab_widget_face appropriately.
9563         (update_tab_widget_face): ditto.
9564         (x_tab_control_redisplay): make sure non-structural changes still
9565         involve copying the widget tree.
9566
9567 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
9568
9569         * lread.c (locate_file): Check the path element is non-nil.
9570
9571 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9572
9573         * lisp.h: Warning suppression for SCO compilers.
9574
9575         * redisplay-tty.c (reset_tty_modes): Fix crash.
9576         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
9577
9578 2000-09-27  Martin Buchholz  <martin@xemacs.org>
9579
9580         Big signal/process handling overhaul.  Bugs fixed:
9581         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
9582         M-x comint-kill-subjob should work for both values nil and t of
9583         process-connection-type. It was broken on most platforms.
9584         Testing on Irix and Cygwin still needed.  Other plaforms tested.
9585         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
9586         * process-unix.c: Signal/Process handling overhaul.
9587         (pty_name): make 64 bytes, as `expect' does, for paranoia.
9588         (allocate_pty): Use all available modern methods of allocating
9589         ptys, falling back to old style BSD allocation as a last resort.
9590         Use allegedly more secure Unix98 pty allocation by default.
9591         (allocate_pty_the_old_fashioned_way): New. the last resort.
9592         (unix_create_process): Push ptem, ldterm, ttcompat where
9593         available.  Autoconfiscate.
9594         (try_to_initialize_subtty): New.
9595         (unix_kill_child_process): Proper signal handling for ptys on most
9596         platforms, using special knowledge of AIX, BSD, etc...
9597         (unix_create_process): Always disconnect_controlling_terminal() for
9598         subprocesses, whether using ptys or not.
9599         * process.h: Remove old getpt-dependent PTY code.
9600         * process.c (Fprocess_send_signal): New, obvious generic function.
9601         (decode_signal): New.
9602         (Finterrupt_process):
9603         (Fkill_process):
9604         (Fquit_process):
9605         (Fstop_process):
9606         (Fcontinue_process):
9607         (Fsignal_process): Use decode_signal.
9608         (process_send_signal):
9609         Many docstring corrections.
9610         Allow any signal to be sent to a process object.
9611         * config.h.in: Add symbols for big signal/process overhaul.
9612         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
9613         * sysproc.h: Include process-related headers, where available:
9614         sys/stropts.h sys/strtio.h pty.h libutil.h
9615         * s/irix4-0.h:
9616         * s/irix5-0.h:
9617         * s/cygwin32.h:
9618         * s/gnu.h:
9619         * s/linux.h:
9620         * s/hpux.h:
9621         * s/aix3-1.h:
9622         Remove old S&M pty stuff.
9623         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
9624         * systty.h: Simplify cpp hackery, improve comments.
9625         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
9626
9627         * editfns.c (Fformat_time_string):
9628         Be a little more paranoid with the return value of ctime.
9629
9630         * fileio.c (check_executable):
9631         (check_writable):
9632         Use symbolic constants X_OK, W_OK.
9633
9634         * console-x.c (split_up_display_spec): Fix a warning.
9635
9636 2000-10-02  Martin Buchholz  <martin@xemacs.org>
9637
9638         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
9639         * ntproc.c (sys_spawnve): make_string ==> build_string
9640         Small clarity improvements.
9641
9642 2000-09-30  Martin Buchholz  <martin@xemacs.org>
9643
9644         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
9645
9646         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
9647
9648         * config.h.in (HAVE_STRCASECMP): Remove.
9649
9650 2000-09-29  Martin Buchholz  <martin@xemacs.org>
9651
9652         * redisplay-output.c (redisplay_output_pixmap):
9653         Cleaner and possibly more 64-bit correct code.
9654
9655 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
9656
9657         * dumper.c (pdump_load_finish): move restoration of
9658         `noninteractive1' to emacs.c (main_1).
9659         * emacs.c (main_1): protect LISP-visible command-line flags
9660         from pdump_load().
9661
9662 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
9663
9664         * Makefile.in.in (versionclean):  Use EXE_TARGET and
9665         DUMP_TARGET instead of literal program names.
9666
9667 2000-09-20  Martin Buchholz  <martin@xemacs.org>
9668
9669         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
9670
9671 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9672
9673         * *: Spelling mega-patch
9674
9675 2000-09-19  Martin Buchholz  <martin@xemacs.org>
9676
9677         * fns.c (bad_bad_turtle):
9678         Delete "Eek!" comment, since we fixed the bug to which it refers.
9679
9680 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9681
9682         * alloca.c: Replace REGISTER with register.
9683
9684 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
9685
9686         * file-coding.c (ucs_to_char): Use countof.
9687
9688 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9689
9690         * file-coding.c: (ucs_to_char):
9691         (complex_vars_of_file_coding):
9692         Use countof instead of sizeof.
9693         Use CHECK_NATNUM instead of CHECK_INT.
9694
9695         * sysdep.c (strcasecmp): Remove.
9696         * device-x.c (ascii_strcasecmp): New.
9697         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
9698         Avoid using non-standard non-portable strcasecmp.
9699
9700 2000-09-16  Martin Buchholz  <martin@xemacs.org>
9701
9702         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
9703         * font-lock.c: remove reference to emacsfns.h.
9704         * search.c: small doc improvement.
9705         * event-Xt.c: correct file names in comments.
9706         * console-x.h Correct file names in comments.
9707         * frame.c: Correct file names in comments.
9708         * event-stream.c: remove Energize from comments.
9709
9710 2000-09-15  Martin Buchholz  <martin@xemacs.org>
9711
9712         * symeval.h (DEFERROR_STANDARD):
9713         (DEFERROR):
9714         (DEFSYMBOL):
9715         (DEFSYMBOL_NO_DUMP):
9716         (DEFSYMBOL_MULTIWORD_PREDICATE):
9717         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
9718         (DEFKEYWORD):
9719         The construct &##name is not sensible C.
9720         Fixes compilation errors with Unixware native compiler.
9721
9722 2000-09-14  Martin Buchholz  <martin@xemacs.org>
9723
9724         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
9725         (next_frame_internal): Removed.  We now just have next_frame.
9726         (next_frame):
9727         Write a simpler and cleaner one-pass algorithm.
9728         Remove called_from_delete_device arg and #ifdefed-out code.
9729         (previous_frame):
9730         Renamed from prev_frame.  Update callers.
9731         Cleaned up to have an analogous implementation to next_frame.
9732         (other_visible_frames_internal): Remove the
9733         called_from_delete_device bogus arg, and hence, remove this
9734         function.  Just use other_visible_frames().
9735
9736         * window.c (Fnext_window):
9737         Prettify docstring.
9738         Since next_frame() is guaranteed to return a frame, remove check
9739         for nil inserted in previous patch.
9740         (Fprevious_window):
9741         Prettify docstring.
9742         Make code look more like Fnext_window.
9743         (window_loop):
9744         Respect the `console' arg when iterating through windows.
9745         Fixes bug: (get-buffer-window buffer t device) not respecting
9746         the `device' arg.
9747         This function needs more work, as others have pointed out.
9748
9749         * frame.h: Rename prev_frame to previous_frame.
9750         device_matches_console_spec no longer takes a `frame' arg.
9751
9752         * s/gnu.h:
9753         * s/linux.h:
9754         * s/hpux.h:
9755         Use EMACS_BLOCK_SIGNAL instead of sigblock.
9756         From "Golubev I. N." <gin@mo.msk.ru>.
9757
9758         * make-src-depend: Fix typo.
9759
9760 2000-09-13  Martin Buchholz  <martin@xemacs.org>
9761
9762         * window.c (Fnext_window):
9763         next_frame() might return nil, not a frame.
9764         Fixes this crash:
9765         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9766
9767         * frame.c (next_frame_internal):
9768         We've passed a frame if we've passed its device.
9769         Fixes this crash:
9770         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
9771 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
9772
9773 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9774
9775         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
9776         Allow option to suppress accelerators in menu/dialog items.
9777         (populate_or_checksum_helper): Pass dialog title through above.
9778
9779 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
9780
9781         * event-msw.c (mswindows_key_to_emacs_keysym):
9782         Add "pause" key, fix "menu" key.
9783
9784 2000-09-09  Martin Buchholz  <martin@xemacs.org>
9785
9786         * eval.c (reinit_vars_of_eval):
9787         Increase max_lisp_eval_depth to 1000,
9788         required for thai-xtis.el to byte-compile under some circumstances.
9789
9790 2000-09-04  Martin Buchholz  <martin@xemacs.org>
9791
9792         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
9793         From Kenichi Handa.
9794
9795 2000-09-01  Martin Buchholz  <martin@xemacs.org>
9796
9797         * make-src-depend: Make the generated Makefiles smaller.
9798
9799         * s/hpux.h (SETUP_SLAVE_PTY):
9800         Provide a %d in the format string for the errno argument.
9801
9802         * editfns.c (Ftemp_directory):
9803         Warning fix.
9804         Avoid buffer overrun on very long file name.
9805
9806         * input-method-xlib.c (XIM_init_device):
9807         6th parameter of XRegisterIMInstantiateCallback has different
9808         pointer types on different OSes, so simply cast to (void *).
9809
9810         * unexhp9k800.c: Warning fixes.  Fiddly changes.
9811
9812         * sysdll.c (dll_open):
9813         shl_load will hang hard if passed a NULL filename.
9814         Simply return NULL for compatibility with dlopen.
9815         * sysdll.c: Conform to XEmacs coding standards.
9816
9817         * sysdep.c (get_pty_max_bytes):
9818         Support pty input lines longer than 512 bytes on HP-UX 10.20.
9819
9820 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9821
9822         * tooltalk.c: Add #include <syssignal.h>
9823
9824 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
9825
9826         * s/hpux.h: Don't use undefined function sigunblock().
9827
9828 2000-08-31  Martin Buchholz  <martin@xemacs.org>
9829
9830         * config.h.in: Add HAVE_BALLOON_HELP.
9831         * emacs.c: Use HAVE_BALLOON_HELP.
9832         * Makefile.in.in (x_objs):
9833         Make Balloon Help conditional on finding shape.h.
9834
9835 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
9836
9837         * syntax.c (regex_emacs_buffer_p): New variable.
9838         * syntax.h (regex_emacs_buffer_p): extern.
9839         * search.c (looking_at_1):
9840         (string_match_1):
9841         (fast_string_match):
9842         (search_buffer): Set regex_emacs_buffer_p.
9843         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
9844         when before_dot, at_dot, after_dot.
9845
9846 2000-08-23  Andy Piper  <andy@xemacs.org>
9847
9848         * gui-x.c (popup_selection_callback): Only set action_occurred
9849         when we really have an image instance.
9850         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
9851
9852 2000-08-23  Andy Piper  <andy@xemacs.org>
9853
9854         * gui-msw.c (mswindows_handle_gui_wm_command): set
9855         action_occurred.
9856         * gui-x.c (popup_selection_callback): ditto.
9857
9858         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
9859         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
9860         (struct Lisp_Image_Instance): add action_occurred flag.
9861
9862         * glyphs.c (redisplay_subwindow): use action_occurred flag.
9863         (image_instance_changed): ditto.
9864         (reset_frame_subwindow_instance_cache): only unmap windows - do
9865         not remove them from the cache also.
9866
9867         * glyphs-widget.c (tab_control_update): better debug.
9868         (progress_gauge_update): ditto.
9869         (layout_update): ditto.
9870         (layout_instantiate): ditto.
9871         (tab_control_order_only_changed): cope with null pending items.
9872
9873         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
9874         debug. Force selection of an item when an action occurred. Cope
9875         with null pending_items.
9876         (mswindows_progress_gauge_redisplay): better debug.
9877         * glyphs-x.c (x_tab_control_redisplay): ditto.
9878
9879         * redisplay.c (redisplay_frame): reset the frame cache if the
9880         frame is garbaged.
9881
9882         * window.c (Fset_window_configuration): potentially re-enable
9883         frame cache reset.
9884         (window_unmap_subwindows): need to finalize instances here since
9885         it is only used in mark_window_as_deleted.
9886
9887 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
9888
9889         * nas.c (SndOpenDataForReading):
9890         nas.c (WaveOpenDataForReading):
9891         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
9892         Somehow escaped from the 2000-08-14 patch.
9893
9894 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
9895
9896         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
9897         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
9898
9899 2000-08-21  Andy Piper  <andy@xemacs.org>
9900
9901         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
9902         window if it is not already displayed.
9903
9904         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
9905         it is not already displayed.
9906
9907         * window.c (Fset_window_configuration): don't reset the frame
9908         cache.
9909
9910         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
9911         instances from the frame cache if we are actually finalizing them.
9912         (reset_frame_subwindow_instance_cache): reset frame cache only
9913         after unmapping everything.
9914         (map_subwindow): set displayed flag after mapping.
9915
9916 2000-08-21  Martin Buchholz  <martin@xemacs.org>
9917
9918         * data.c (indirect_function):
9919         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
9920
9921         * eval.c (function_argcount):
9922         Use original function when signaling errors.
9923
9924 2000-08-18  Andy Piper  <andy@xemacs.org>
9925
9926         * frame.c (delete_frame_internal): use new
9927         free_frame_subwindow_instances name.
9928
9929         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
9930         (add_tab_item): make return type correct.
9931         (mswindows_tab_control_instantiate): assert index of tab.
9932         (mswindows_tab_control_redisplay): Re-code to use
9933         gui_item_equal_sans_selected and gui_item_list_find_selected.
9934
9935         * glyphs-widget.c (tab_control_update): Correct comment.
9936
9937         * window.c (window_unmap_subwindows): use new
9938         unmap_subwindow_instance_cache_mapper.
9939         (window_unmap_subwindows_cache_mapper): deleted.
9940         (Fset_window_configuration): comparisons should now be with
9941         EQ. Preserve the subwindow instance cache across configuration
9942         changes.
9943         (allocate_window): ditto.
9944         (make_dummy_parent): ditto.
9945
9946         * glyphs.c (free_frame_subwindow_instances): rename from
9947         free_frame_subwindow_instance_cache. finalize all instances rather
9948         than just those in the display cache.
9949         (finalize_all_subwindow_instances): walk windows unmapping and
9950         finalizing subwindows.
9951         (unmap_subwindow_instance_cache_mapper): moved from
9952         window.c. Allow finalization as well as unmapping.
9953
9954         * gui.c (gui_item_list_find_selected): new function.
9955
9956         * gui.h (gui_item_list_find_selected): declare.
9957
9958         * glyphs-x.c (x_tab_control_redisplay): pick tab
9959         explicitly. Re-code to use gui_item_equal_sans_selected and
9960         gui_item_list_find_selected.
9961
9962         * glyphs-x.h: add lwlib-utils.h
9963
9964         * buffer.c (Frecord_buffer): undo previous change.
9965
9966 2000-08-09  Vin Shelton  <acs@xemacs.org>
9967
9968         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
9969         possible.  Create temporary files more securely.  The patch was
9970         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
9971         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
9972         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
9973         for details.
9974
9975 2000-08-07  Ben Wing  <ben@xemacs.org>
9976
9977         * getloadavg.c: remove duplicate (and windows-breaking)
9978         includes of fcntl.h and sys/file.h.
9979
9980         * nt.c: remove duplicate getloadavg() definition.
9981
9982         * sysdll.h (Qdll_filename_encoding): add missing stand-in
9983         encodings.
9984
9985 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
9986
9987         * eval.c (function_argcount): If function needs to be autoloaded
9988         actually use the loaded definition.
9989         GCPRO function.
9990
9991 2000-08-05  Ben Wing  <ben@xemacs.org>
9992
9993         * getloadavg.c: add prototype for getloadavg().  remove
9994         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
9995         of the code).  remove duplicate header includes.
9996
9997         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
9998
9999         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
10000         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
10001         useful load average.
10002
10003         * alloc.c (reinit_alloc_once_early): removed references to
10004         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
10005         the lisp vars are the only things referencing the malloc_sbrk_*
10006         vars, and they were already if 0'd out.  these vars only exist
10007         in the older malloc.c, which is basically unused, and they're
10008         only for informational purposes.
10009
10010         * m\*.h: removed useless VIRT_ADDR_VARIES.
10011
10012         * m\powerpc.h: removed stray NO_ARG_ARRAY.
10013
10014 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
10015
10016         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
10017         color if the image is a mono pixmap.
10018
10019 2000-07-30  Ben Wing  <ben@xemacs.org>
10020
10021         * Makefile.in.in (release):
10022         Remove stray @.
10023
10024         * buffer.c (directory_is_current_directory):
10025         * dired-msw.c (mswindows_get_files):
10026         * dired.c:
10027         * dired.c (Fdirectory_files):
10028         * dired.c (file_name_completion_stat):
10029         * dired.c (Ffile_attributes):
10030         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
10031         preprocessor tricks, to avoid problems on some machines
10032         (e.g. SCO).
10033
10034         * callproc.c (egetenv): GC docs.
10035
10036         * console-msw.h:
10037         * console-msw.h (struct mswindows_dialog_id):
10038         * lrecord.h (lrecord_type):
10039         New object for use with MSW dialogs.
10040
10041         * console.h (struct console_methods):
10042         New enable/disable frame methods, for proper modal dialogs.
10043
10044         * device-msw.c (msprinter_default_printer): Fix to follow
10045         proper Mule conventions.
10046
10047         * device-msw.c:
10048         * device-msw.c (signal_open_printer_error):
10049         * device-msw.c (msprinter_init_device):
10050         * device-msw.c (ensure_not_printing):
10051         * device-msw.c (plist_get_margin):
10052         * device-msw.c (Fmsprinter_select_settings):
10053         * device-msw.c (finalize_devmode):
10054         * device-msw.c (Fmsprinter_settings_despecialize):
10055         * device-msw.c (signal_enum_priner_error):
10056         * extents.c (decode_extent):
10057         * extents.c (decode_map_extents_flags):
10058         * extents.c (decode_extent_at_flag):
10059         * extents.c (Fextent_at):
10060         * extents.c (Fextents_at):
10061         * extents.c (symbol_to_glyph_layout):
10062         [[[[2]]]] Use structured errors.
10063
10064         * dialog-msw.c:
10065         * dialog-msw.c (mswindows_is_dialog_msg):
10066         * dialog-msw.c (mark_mswindows_dialog_id):
10067         * dialog-msw.c (dialog_proc):
10068         * dialog-msw.c (handle_question_dialog_box):
10069         * dialog-msw.c (syms_of_dialog_mswindows):
10070         Define new object to clean up marking; use it as a dialog identifier.
10071         Call new delete-dialog-box-hook.
10072
10073         * dialog-x.c (dbox_selection_callback):
10074         * dialog-x.c (dbox_descriptor_to_widget_value):
10075         * dialog-x.c (x_make_dialog_box_internal):
10076         Call new delete-dialog-box-hook.
10077         Return an id.
10078
10079         * dialog.c:
10080         * dialog.c (syms_of_dialog):
10081         * dialog.c (vars_of_dialog):
10082         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
10083
10084         * eval.c:
10085         * eval.c (signal_call_debugger):
10086         when noninteractive, output stack traces on the console instead
10087         of in a (never-seen) buffer.
10088
10089         * eval.c (signal_type_error):
10090         * eval.c (invalid_argument_2):
10091         * lisp.h:
10092         new funs for use w/structured errors.
10093
10094         * event-Xt.c:
10095         * event-Xt.c (x_to_emacs_keysym):
10096         * event-Xt.c (describe_event):
10097         * event-Xt.c (emacs_Xt_event_handler):
10098         * event-Xt.c (vars_of_event_Xt):
10099         * event-msw.c:
10100         * event-msw.c (mswindows_wnd_proc):
10101         * event-msw.c (vars_of_event_mswindows):
10102         rename {x,mswindows}-debug-events to debug-{}-events for
10103         consistency with other debug-foo variables.
10104
10105         * event-stream.c:
10106         document next-event more clearly.
10107
10108         * fileio.c (Ffile_name_directory):
10109         * fileio.c (Ffile_name_nondirectory):
10110         * fileio.c (Funhandled_file_name_directory):
10111         * fileio.c (file_name_as_directory):
10112         * fileio.c (Ffile_name_as_directory):
10113         * fileio.c (directory_file_name):
10114         * fileio.c (Fdirectory_file_name):
10115         * fileio.c (Fmake_temp_name):
10116         * fileio.c (Ffile_truename):
10117         * fileio.c (Fsubstitute_in_file_name):
10118         * fileio.c (expand_and_dir_to_file):
10119         * fileio.c (barf_or_query_if_file_exists):
10120         * fileio.c (check_executable):
10121         * fileio.c (Ffile_exists_p):
10122         * fileio.c (Ffile_writable_p):
10123         * fileio.c (Ffile_directory_p):
10124         * fileio.c (Ffile_regular_p):
10125         * fileio.c (Ffile_modes):
10126         * fileio.c (Ffile_newer_than_file_p):
10127         * fileio.c (Fverify_visited_file_modtime):
10128         * fileio.c (Fset_visited_file_modtime):
10129         * fileio.c (auto_save_1):
10130         (1). (2).
10131         fix up gcpro's.
10132
10133         * frame-msw.c:
10134         * frame-msw.c (mswindows_init_frame_1):
10135         * frame-msw.c (mswindows_enable_frame):
10136         * frame-msw.c (error_frame_unsizable):
10137         * frame-msw.c (msprinter_init_frame_1):
10138         * frame-msw.c (msprinter_init_frame_3):
10139         * frame-msw.c (console_type_create_frame_mswindows):
10140         (2).
10141         implement new enable/disable frame methods.
10142
10143         * frame-x.c:
10144         * frame-x.c (x_enable_frame):
10145         * frame-x.c (console_type_create_frame_x):
10146         implement new enable/disable frame methods.
10147
10148         * frame.c:
10149         * frame.c (Fdisable_frame):
10150         * frame.c (syms_of_frame):
10151         * frame.h (struct frame):
10152         implement new enable/disable frame methods/functions.
10153
10154         * general-slots.h:
10155         add initial-focus.
10156
10157         * glyphs-msw.c (mswindows_widget_instantiate):
10158         comment that initial-focus should be implemented.
10159
10160         * glyphs-widget.c:
10161         * glyphs-widget.c (check_valid_instantiator):
10162         * glyphs-widget.c (check_valid_orientation):
10163         * glyphs-widget.c (check_valid_tab_orientation):
10164         * glyphs-widget.c (check_valid_justification):
10165         * glyphs-widget.c (check_valid_border):
10166         * glyphs-widget.c (check_valid_callback):
10167         * glyphs-widget.c (check_valid_int_or_function):
10168         * glyphs-widget.c (check_valid_string_or_vector):
10169         * glyphs-widget.c (check_valid_item_list_1):
10170         * glyphs-widget.c (widget_validate):
10171         * glyphs-widget.c (combo_box_validate):
10172         * glyphs-widget.c (widget_instantiate):
10173         * glyphs-widget.c (syms_of_glyphs_widget):
10174         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
10175         * glyphs-widget.c (image_instantiator_combo_box):
10176         * glyphs-widget.c (image_instantiator_scrollbar):
10177         * glyphs-widget.c (image_instantiator_tab_control):
10178         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
10179         (2).
10180         support (unimplemented) keyword initial-focus.
10181         reindent long macros.
10182
10183         * glyphs-x.c (x_redisplay_widget):
10184         * glyphs-x.c (x_button_instantiate):
10185         * glyphs-x.c (x_button_redisplay):
10186         * glyphs-x.c (x_progress_gauge_instantiate):
10187         * glyphs-x.c (x_edit_field_instantiate):
10188         * glyphs-x.c (x_combo_box_instantiate):
10189         * glyphs-x.c (x_tab_control_instantiate):
10190         * glyphs-x.c (x_label_instantiate):
10191         * gui-x.c:
10192         * gui-x.c (button_item_to_widget_value):
10193         * gui-x.c (gui_items_to_widget_values_1):
10194         * gui-x.c (gui_item_children_to_widget_values):
10195         * gui-x.c (gui_items_to_widget_values):
10196         * gui-x.h:
10197         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10198         add new flag to gui-parsing routines to indicate whether
10199         accelerator specs should be supported.
10200
10201         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
10202
10203         * glyphs.h (struct Lisp_Image_Instance):
10204         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
10205         add initial-focus flag.
10206
10207         * gui.c:
10208         * gui.c (syms_of_gui):
10209         * gui.c (vars_of_gui):
10210         clean up menu-no-selection-hook.
10211
10212         * gui.h:
10213         support delete-dialog-box-hook.
10214
10215         * lread.c (Fload_internal):
10216         * lread.c (locate_file_in_directory_mapper):
10217         (1).
10218
10219         * lrecord.h:
10220         * lrecord.h (struct toolbar_button):
10221         * lrecord.h (syms_of_toolbar):
10222         document how to create a new object.
10223
10224         * menubar-msw.c (mswindows_char_is_accelerator):
10225         may be called on frames w/o menus.
10226
10227         * menubar.c (vars_of_menubar):
10228         clean up :filter docs.
10229
10230         * nt.c (readdir):
10231         * ntproc.c:
10232         (1).
10233
10234         * process-nt.c:
10235         * process-nt.c (validate_signal_number):
10236         * process-nt.c (signal_cannot_launch):
10237         * process-nt.c (nt_create_process):
10238         * process-nt.c (nt_send_process):
10239         * process-nt.c (nt_kill_child_process):
10240         * process-nt.c (nt_open_network_stream):
10241         * process-nt.c (syms_of_process_nt):
10242         (2).
10243         delete quote-handling.  call new lisp code that does it better.
10244
10245         * process-unix.c (connect_to_file_descriptor):
10246         * process-unix.c (allocate_pty):
10247         * process-unix.c (unix_send_process):
10248         * process-unix.c (unix_kill_child_process):
10249         * process-unix.c (unix_open_network_stream):
10250         * process-unix.c (unix_open_multicast_group):
10251         (1). (2).
10252
10253         * process.c:
10254         * process.c (Fstart_process_internal):
10255         (2).  need to canonicalize process path even if absolute.
10256
10257         * select-msw.c (symbol_to_ms_cf):
10258         * select-msw.c (ms_cf_to_symbol):
10259         * select-msw.c (cf_is_autofreed):
10260         * select-msw.c (mswindows_destroy_selection):
10261         * select.c:
10262         * select.c (syms_of_select):
10263         * select.h:
10264         support dibv5, fix bugs. (from Mike Alexander)
10265
10266         * select.c (Fget_selection_internal):
10267         * select.c (select_convert_out):
10268
10269         * sysdep.c:
10270         * sysdep.c (xemacs_stat):
10271         renamed.
10272
10273         * sysdep.c (mkdir):
10274         * sysdep.c (rmdir):
10275         but keep original stat() here because we provide encapsulation
10276         around these funs.
10277
10278         * sysfile.h:
10279         * sysfile.h (fstat):
10280         remove stat garbage.
10281
10282         * syswindows.h:
10283         fix X/MSW conflict.
10284         don't include tchar.h.  it's inappropriate because it makes
10285         compile-time distinctions when we want runtime distinctions.
10286         (we provide our own tchar replacements)
10287
10288         * toolbar.c:
10289         use default object printer for toolbar-button.
10290
10291         * unexcw.c:
10292         make sure we don't encapsulate.
10293
10294         * window.c (vars_of_window):
10295         emphasize that temp-buffer-show-hook is obsolete.
10296
10297 2000-08-05  Martin Buchholz  <martin@xemacs.org>
10298
10299         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
10300         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
10301
10302         * events.c (Fevent_timestamp_lessp):
10303         Not 64-bit clean.  Use EMACS_INT, not int.
10304
10305 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
10306
10307         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
10308         unsigned int and changed the last enum to
10309         lrecord_type_last_built_in_type.
10310         (lrecord_implementations_table): changed prototype to know how
10311         long the array is supposed to be.
10312         (lrecord_type_count): new unsigned int to keep track of the
10313         current number of lisp lrecord types.
10314         (DEFINE_EXTERNAL_LRECORD):
10315         (DECLARE_EXTERNAL_LRECORD): Added these two for external
10316         dynamic-modules to declare new lisp types. They are the same
10317         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
10318         int for each new type, and increment lrecord_type_count by 1.
10319
10320         * alloc.c (lrecord_implementations_table): Changed to reference
10321         lrecord_type_last_built_in_type for the size of the array.
10322         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
10323
10324 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10325
10326         * glyphs.h (check_valid_item_list): Renamed from
10327         check_valid_item_list_1.
10328
10329 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
10330
10331         * select.c (Qselect_coerce): New.
10332         * select.c (Vselection_coercion_alist): New.
10333         * select.c (syms_of_select): Declare.
10334         * select.c (get-selection-internal): Use it.
10335         Use the new select-coerce functionality.
10336
10337         * select.c (select_coerce): New.
10338         * select.h (select_coerce): Declare.
10339         New function to coerce one type of data into another.
10340
10341 2000-08-03  Martin Buchholz  <martin@xemacs.org>
10342
10343         * callproc.c (Fcall_process_internal):
10344         (Fcall_process_internal):
10345         * process-unix.c (unix_create_process):
10346         Save and restore the value of errno, so that error messages are accurate.
10347
10348 2000-08-01  Martin Buchholz  <martin@xemacs.org>
10349
10350         * elhash.c (print_hash_table):
10351         Fix printing of hash tables to also use `key-and-value' instead of `t'.
10352         Prettify docstrings and indentation.
10353
10354 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10355
10356         * window.c (Fwindow_pixel_edges): Subtract frame border and
10357         gutter size.
10358
10359 2000-07-31  Andy Piper  <andy@xemacs.org>
10360
10361         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
10362         will acknowledge the change.
10363
10364         * glyphs.h: declare tab_control_order_only_changed.
10365
10366         * glyphs-x.c (x_tab_control_redisplay): use
10367         tab_control_order_only_changed.
10368
10369         * glyphs-widget.c (tab_control_order_only_changed): new function.
10370
10371         * glyphs-msw.c (mswindows_tab_control_redisplay): use
10372         tab_control_order_only_changed.
10373
10374         * gui.c (gui_item_equal_sans_selected): new function.
10375         (gui_item_equal): use it.
10376
10377         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
10378         :properties in favor of :items..
10379
10380         * glyphs-widget.c (check_valid_item_list): rename from
10381         check_valid_item_list_1.
10382         (check_valid_item_list_1): renamed.
10383         (combo_box_validate): deprecate :properties in favor of :items.
10384         (widget_instantiate): ditto.
10385         (tab_control_update): ditto.
10386         (image_instantiator_combo_box): ditto.
10387         (image_instantiator_tree_view): ditto.
10388         (image_instantiator_tab_control): ditto.
10389         (layout_post_instantiate): remove dead code.
10390
10391         * print.c (debug_print_no_newline): only write to debugger if in
10392         WIN32_NATIVE.
10393
10394         * elhash.c (Fmake_hash_table): update doc string.
10395
10396         * event-msw.c (mswindows_wnd_proc): don't allow processing of
10397         messages whilst in GC. This at least stops XEmacs crashing but has
10398         the potential for wierd behaviour.
10399
10400 2000-07-31  Martin Buchholz  <martin@xemacs.org>
10401
10402         * config.h.in:
10403         Make existence of s&m files optional.
10404
10405         * s/bsd386.h: Remove HAVE_GETLOADAVG.
10406         * s/freebsd.h: Remove HAVE_GETLOADAVG.
10407         * s/gnu.h: Remove HAVE_GETLOADAVG.
10408         * s/netbsd.h: Remove HAVE_GETLOADAVG.
10409         * s/sol2.h: Remove HAVE_GETLOADAVG.
10410         * lisp.h: Remove getloadavg() declaration.
10411         * fns.c:
10412         Include <sys/loadavg.h> if available.
10413         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
10414         * config.h.in:  Group together getloadavg()-related macros.
10415         Use only configure-time tests to detect getloadavg().
10416
10417 2000-07-30  Martin Buchholz  <martin@xemacs.org>
10418
10419         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
10420
10421 2000-07-25  Andy Piper  <andy@xemacs.org>
10422
10423         * syswindows.h: add tchar.h for native builds.
10424
10425         * frame.c (syms_of_frame): remove set-glyph-image.
10426
10427         * general-slots.h: add Qset_glyph_image.
10428
10429         * glyphs-widget.c (layout_update): add domain arg to
10430         set-glyph-image.
10431         (syms_of_glyphs_widget): remove set-glyph-image.
10432
10433 2000-07-23  Ben Wing  <ben@xemacs.org>
10434
10435         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
10436         Vpopup_frame_list.
10437
10438 2000-07-22  Andy Piper  <andy@xemacs.org>
10439
10440         * symsinit.h: add syms_of_win32().
10441
10442         * gui-msw.c (syms_of_gui_mswindows): remove
10443         Fmswindows_shell_execute.
10444         (Fmswindows_shell_execute): moved to win32.c.
10445
10446         * emacs.c (main_1): add syms_of_win32 ().
10447
10448         * win32.c (init_potentially_nonexistent_functions): rewrite in
10449         compiler-friendly terms.
10450         (Fmswindows_shell_execute): move here from gui-msw.c.
10451         (syms_of_win32): new.
10452
10453         * device-msw.c (Fmswindows_printer_list): clean up args to
10454         EnumPrinters.
10455         Don't include tchar under cygwin or mingw.
10456         (msprinter_default_printer): make cygwin-friendly.
10457
10458 2000-07-21  Andy Piper  <andy@xemacs.org>
10459
10460         * glyphs-widget.c (image_instantiator_tree_view): use tab
10461         control's update function.
10462         (layout_property): new function. Retrieve items.
10463
10464         * glyphs-msw.c (mswindows_tree_view_redisplay): new
10465         function. Re-populate the tree view from the pending items.
10466
10467         * glyphs.c (instantiate_image_instantiator): Make sure the domain
10468         is designated the parent if the domain is an image instance. This
10469         is needed so that dirtiness can be cascade up the hierarchy and
10470         thus for layout children to be redisplayed correctly.
10471         (allocate_image_instance): rename glyph -> parent.
10472
10473         * redisplay.h: change redisplay_output_layout signature.
10474
10475         * redisplay-msw.c (mswindows_output_display_block): use domain
10476         arg.
10477
10478         * redisplay-x.c (x_output_display_block): use domain arg.
10479
10480 2000-07-10  Andy Piper  <andy@xemacs.org>
10481
10482         * window.c (Fset_window_configuration): add comment.
10483
10484         * redisplay-output.c (compare_runes):
10485         (redisplay_output_subwindow): redisplay rather than update subwindow.
10486         (redisplay_output_layout): ditto.
10487
10488         * redisplay-msw.c (mswindows_frame_output_end):
10489         (mswindows_frame_output_end): make defer window pos optional.
10490
10491         * lisp.h: add Flast.
10492
10493         * glyphs.h (struct image_instantiator_methods): add dest_mask top
10494         normalize method. Change update method to be for changed
10495         instantiators. Add redisplay method. Change signature of layout
10496         method.
10497         (struct Lisp_Image_Instance): add instantiator.
10498         (IMAGE_INSTANCE_INSTANTIATOR): new.
10499         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
10500         (XIMAGE_INSTANCE_INSTANTIATOR): new.
10501         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
10502
10503         * glyphs.c:
10504         (find_instantiator_differences): new function.
10505         (Fset_instantiator_property): new convenience function.
10506         (check_image_instance_structure): strictly check for vector
10507         instantiators.
10508         (normalize_image_instantiator): make non-static.
10509         (instantiate_image_instantiator): pass on dest_mask and use new
10510         signatures for image_instance_layout and friends.
10511         (mark_image_instance): mark the instantiator. Mark the subwindow
10512         face not the widget face.
10513         (image_instance_equal): add instantiator.
10514         (image_instance_hash): ditto.
10515         (allocate_image_instance): ditto.
10516         (Fset_image_instance_property): removed.
10517         (Fimage_instance_file_name): ditto.
10518         (Fcolorize_image_instance): ditto.
10519         (image_instance_layout): add offsets to be set.
10520         (update_image_instance): new function. update an image instance
10521         from its changed instantiator.
10522         (inherit_normalize): add dest_mask.
10523         (xbm_normalize): ditto.
10524         (xface_normalize): ditto.
10525         (xpm_normalize): ditto.
10526         (text_update): set_property -> update.
10527         (image_instantiate): use the glyph identity as a hash key, not the
10528         instantiator.
10529         (glyph_width): use new image_instance_layout signature.
10530         (glyph_ascent): ditto.
10531         (glyph_descent): ditto.
10532         (glyph_height): ditto.
10533         (glyph_query_geometry): ressurrect.
10534         (glyph_layout): ditto.
10535         (redisplay_subwindow): update -> redisplay.
10536         (syms_of_glyphs): add Fset_instantiator_property.
10537         (image_instantiator_format_create): set_property -> update.
10538
10539         * glyphs-x.c:
10540         (autodetect_normalize): add dest_maks to signature.
10541         (x_redisplay_subwindow): update -> redisplay.
10542         (x_redisplay_widget): ditto.
10543         (x_button_redisplay): ditto.
10544         (x_progress_gauge_redisplay): ditto.
10545         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
10546         stacking order.
10547         (console_type_create_glyphs_x): update -> redisplay.
10548         (image_instantiator_format_create_glyphs_x): ditto.
10549
10550         * glyphs-widget.c:
10551         (check_valid_instantiator): disallow glyphs in the instantiator,
10552         they must now be vectors.
10553         (check_valid_instantiator_list): ditto.
10554         (glyph_instantiator_to_glyph): use internal symbol rather than
10555         intern.
10556         (widget_update): renamed from widget_set_property. Call cascaded
10557         update methods.
10558         (redisplay_widget): renamed from update_widget.
10559         (widget_layout): image_instance_layout now takes position as well
10560         as size.
10561         (widget_normalize): ditto.
10562         (widget_instantiate): ditto.
10563         (tab_control_query_geometry) ditto.:
10564         (tab_control_update): renamed from tab_control_set_property.
10565         (progress_gauge_update): set_property -> update.
10566         (layout_normalize): rewrite so that child instantiators are
10567         normalized also.
10568         (layout_update): new function. Create glyphs from the normalized
10569         children and cope with any other layout keywords. We do not
10570         instantiate children here that will be take care of by
10571         redisplay_output_layout.
10572         (layout_instantiate): call layout_update and not much else.
10573         (layout_post_instantiate): not sure whether this is needed
10574         anymore.
10575         (layout_query_geometry): query glyph geometry rather than
10576         image_instance geometry.
10577         (layout_layout): set offsets from pass in parameters. Use glyph
10578         geometry and layout functions rather than image instance ones.
10579         (native_layout_layout): ditto.
10580         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
10581         (image_instantiator_widget): set_property -> update.
10582         (image_instantiator_buttons): ditto.
10583         (image_instantiator_progress_guage): ditto.
10584         (image_instantiator_tab_control): ditto.
10585         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
10586         (image_instantiator_layout): add update method.
10587
10588         * glyphs-msw.c (bmp_normalize):
10589         (mswindows_resource_normalize): add dest_mask so that it can be
10590         proprogated by layout_normalize.
10591         (begin_defer_window_pos): make optional because it may not be the
10592         right thing to do and it introduces differences with X.
10593         (mswindows_unmap_subwindow): ditto.
10594         (mswindows_map_subwindow): ditto.
10595         (mswindows_redisplay_subwindow): renamed from
10596         mswindows_update_subwindow.
10597         (mswindows_redisplay_widget): ditto.
10598         (mswindows_button_redisplay): renamed from
10599         mswindows_button_update. Update is now what the instantiation
10600         function does for a changed instantiator.
10601         (mswindows_progress_gauge_instantiate): set the progress value
10602         here if appropriate.
10603         (mswindows_tab_control_redisplay): cope with re-ordering of the
10604         members of the tab widget by simply selecting the new top
10605         widget. This makes things appear ok if you click on a tab.
10606         (mswindows_combo_box_instantiate): image_instance_layout now takes
10607         position as well as size.
10608         (mswindows_progress_gauge_redisplay): renamed from
10609         mswindows_progress_gauge_update.
10610         (console_type_create_glyphs_mswindows): fix update -> redisplay.
10611         (image_instantiator_format_create_glyphs_mswindows): ditto.
10612
10613         * glyphs-eimage.c (jpeg_normalize):
10614         (gif_normalize):
10615         (png_normalize):
10616         (tiff_normalize): add dest_mask so that it can be proprogated by
10617         layout_normalize.
10618
10619         * elhash.c:
10620         (print_hash_table):
10621         (hash_table_weakness_validate):
10622         (decode_hash_table_weakness):
10623         (Fhash_table_weakness):
10624         (Fhash_table_type):
10625         (syms_of_elhash): use Ben's naming scheme for hashtable types..
10626
10627         * console.h (struct console_methods): move update_* to
10628         redisplay_*.
10629
10630 2000-07-20  Ben Wing  <ben@xemacs.org>
10631
10632         * *.[ch] (XSETOBJ): remove unused middle argument.
10633         lisp-disunion.h: correct wrap_object() to one argument.
10634
10635 2000-07-15  Ben Wing  <ben@xemacs.org>
10636
10637         * s/cygwin32.h:
10638         * s/cygwin32.h (CYGWIN_CONV_PATH):
10639         Add missing logb prototype for v1.1.
10640         Use post-b20 names and alias to pre-b20 names when pre-b20.
10641
10642         * s/windowsnt.h: [5].
10643
10644 2000-07-15  Ben Wing  <ben@xemacs.org>
10645
10646         * Makefile.in.in (x_objs):
10647         * Makefile.in.in (sheap_objs):
10648         * Makefile.in.in (objs):
10649         added win32.o, cosmetic cleanups.
10650
10651         * alloc.c (Fmake_byte_code):
10652         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
10653         etc. macros which declare their own args now.
10654
10655         * alloc.c (syms_of_alloc):
10656         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
10657
10658         * buffer.c:
10659         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
10660
10661         * buffer.c (Fget_file_buffer):
10662         Fixed GCPRO problem.
10663
10664         * buffer.c (get_truename_buffer):
10665         Fixed comment about GC checking.
10666
10667         * buffer.c (syms_of_buffer):
10668         Undeclared those dedicated frame funs.
10669         [2].
10670
10671         * buffer.h:
10672         Define convenience macros for internal/external conversions.
10673         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
10674         and Qenvironment_variable_encoding for cleaner code.
10675
10676         * bufslots.h:
10677         Remove dedicated-frame; in lisp.
10678
10679         * bytecode.c (funcall_compiled_function):
10680         [1].
10681
10682         * bytecode.c (syms_of_bytecode):
10683         [2].
10684
10685         * console-msw.c:
10686         * console-msw.c (mswindows_show_console): Rewrote.
10687
10688         * console-msw.c (Fmswindows_debugging_output): New.
10689         Sends to OutputDebugString (special MSWin debugger interface).
10690
10691         * console-msw.c (Fmswindows_message_box):
10692         Fixed stupid bugs so it works when called from kill-emacs.
10693
10694         * console-msw.c (syms_of_console_mswindows):
10695         Declare Fmswindows_debugging_output.
10696
10697         * console-msw.h:
10698         New MSWin prototypes.
10699
10700         * console-msw.h (struct mswindows_frame):
10701         New entry last-click-mods for improved button-modifier support.
10702
10703         * console-msw.h (FRAME_MSWINDOWS_POPUP):
10704         New struct entry `popup' with corresponding accessor.
10705
10706         * console-x.c:
10707         * console-x.c (split_up_display_spec):
10708         * console-x.c (get_display_arg_connection):
10709         * console-x.c (x_semi_canonicalize_console_connection):
10710         * console-x.c (x_canonicalize_device_connection):
10711         [[[6]]]: Change char to more specific type.
10712         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
10713
10714         * console-x.c (x_semi_canonicalize_console_connection):
10715         * console-x.c (x_canonicalize_device_connection):
10716         [[[9]]]: Fix up error signalling to use new structured error system.
10717
10718         * console-x.h:
10719         [[[4]]]: Define codesys aliases:
10720         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
10721         Qx_color_name_encoding, Qx_display_name_encoding.
10722
10723         * console.h (struct console_methods):
10724         New method make_dialog_box_internal supersedes older
10725         popup_dialog_box method.
10726
10727         * data.c:
10728         Define many new errors, part of new structured errors.
10729
10730         * data.c (init_errors_once_early):
10731         * data.c (syms_of_data):
10732         [2].
10733
10734         * device-msw.c (mswindows_init_device):
10735         [[[5]]]: Cleanup to support NT 3.51.
10736
10737         * device-msw.c (decode_devmode): Cleanup.
10738
10739         * device-msw.c (mswindows_handle_print_setup_dialog_box):
10740         * device-msw.c (mswindows_handle_print_dialog_box):
10741         * device-msw.c (mswindows_handle_page_setup_dialog_box):
10742         * device-msw.c (syms_of_device_mswindows):
10743         Delete the dialog box primitives recently introduced by Kirill and
10744         instead interface to general dialog box interface.
10745
10746         * device-x.c:
10747         * device-x.c (compute_x_app_name):
10748         * device-x.c (x_init_device):
10749         * device-x.c (Fx_valid_keysym_name_p):
10750         * device-x.c (Fx_set_font_path):
10751         [6].
10752         [7].
10753
10754         * device.h (wrap_device): New.
10755         First of its kind; meant to replace XSETDEVICE.
10756
10757         * dialog-msw.c: Many file-dialog symbols.
10758
10759         * dialog-msw.c (mswindows_register_popup_frame): New.
10760         * dialog-msw.c (mswindows_is_dialog_msg): New.
10761         For supporting kbd traversal in dialog boxes.
10762
10763         * dialog-msw.c (dialog_proc):
10764         Support hitting ESC in dialogs.
10765
10766         * dialog-msw.c (struct):
10767         Common dialog box errors.
10768
10769         * dialog-msw.c (handle_file_dialog_box): New.
10770         Add file dialog code.
10771
10772         * dialog-msw.c (handle_question_dialog_box):
10773         Redo existing code to support new question dialog syntax.
10774
10775         * dialog-msw.c (console_type_create_dialog_mswindows):
10776         We support new dialog console method.
10777
10778         * dialog-msw.c (syms_of_dialog_mswindows):
10779         * dialog-msw.c (vars_of_dialog_mswindows):
10780         New file dialog symbols, vars.
10781
10782         * dialog-x.c:
10783         * dialog-x.c (maybe_run_dbox_text_callback):
10784         * dialog-x.c (dbox_descriptor_to_widget_value):
10785         * dialog-x.c (x_make_dialog_box_internal):
10786         * dialog-x.c (console_type_create_dialog_x):
10787         Mule-ize entire file.
10788         Redo to support question dialog syntax.
10789         [6].
10790
10791         * dialog.c:
10792         * dialog.c (Fmake_dialog_box_internal):
10793         * dialog.c (syms_of_dialog):
10794         Kill old popup-dialog-box, replace with new primitive.
10795         Just call device method or signal error.
10796
10797         * eldap.c (Fldap_open):
10798         * eldap.c (Fldap_search_basic):
10799         * eldap.c (Fldap_add):
10800         * eldap.c (Fldap_modify):
10801         [1].
10802         [7].
10803
10804         * emacs.c:
10805         * emacs.c (make_arg_list_1):
10806         * emacs.c (make_arg_list):
10807         Mule-ize call to dll_init().
10808         [6].
10809         [8].
10810
10811         * emacs.c (make_argc_argv):
10812         * emacs.c (free_argc_argv):
10813         * emacs.c (init_cmdargs):
10814         * emacs.c (main_1):
10815         * emacs.c (Fkill_emacs):
10816         * emacs.c (Fdump_emacs):
10817         Update comments about what can be used in syms_* etc.
10818         Call init_win32() when necessary.
10819         Fix up MS Win dialog box in kill-buffer to actually work right.
10820         [7].
10821
10822         * eval.c:
10823         * eval.c (For):
10824         * eval.c (Fand):
10825         * eval.c (Fprogn):
10826         * eval.c (Fprog1):
10827         * eval.c (Fprog2):
10828         * eval.c (FletX):
10829         * eval.c (Flet):
10830         * eval.c (condition_case_3):
10831         * eval.c (Feval):
10832         * eval.c (function_argcount):
10833         * eval.c (funcall_lambda):
10834         [1].
10835
10836         * eval.c (type_error): New.
10837         * eval.c (maybe_type_error): New.
10838         * eval.c (continuable_type_error): New.
10839         * eval.c (maybe_continuable_type_error): New.
10840         * eval.c (type_error_with_frob): New.
10841         * eval.c (maybe_type_error_with_frob): New.
10842         * eval.c (continuable_type_error_with_frob): New.
10843         * eval.c (maybe_continuable_type_error_with_frob): New.
10844         New functions for use with structured errors.
10845
10846         * event-Xt.c:
10847         * event-Xt.c (x_event_to_emacs_event):
10848         Buttons are now modifiers too.
10849
10850         * event-Xt.c (emacs_Xt_current_event_timestamp):
10851         Implement new event method.
10852         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
10853
10854         * event-msw.c:
10855         * event-msw.c (ntpipe_shove_writer): [5].
10856         * event-msw.c (mswindows_enqueue_mouse_button_event):
10857         * event-msw.c (mswindows_drain_windows_queue):
10858         * event-msw.c (mswindows_wnd_proc): [7].
10859         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
10860         * event-msw.c (mswindows_modifier_state):
10861         Throughout: support new button modifiers.
10862
10863         * event-msw.c (emacs_mswindows_current_event_timestamp):
10864         Implement new event method.
10865         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
10866
10867         * event-stream.c:
10868         * event-stream.c (event_stream_current_event_timestamp): New.
10869         * event-stream.c (maybe_kbd_translate): New functionality.
10870         * event-stream.c (vars_of_event_stream):
10871         Document new kbd-translate-table functionality.
10872
10873         * event-stream.c (Fcurrent_event_timestamp): New.
10874         New primitive for use in fabricated events.
10875         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
10876
10877         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
10878
10879         * events.c:
10880         * events.c (Fmake_event):
10881         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
10882         [1].
10883         [9].
10884
10885         * events.c (format_event_object): fix gcc warnings.
10886
10887         * events.c (Fevent_timestamp): Document new primitives.
10888
10889         * events.c (TIMESTAMP_HALFSPACE): New.
10890
10891         * events.c (Fevent_timestamp_lessp): New.  New primitive for
10892         comparing timestamps correctly (half-space algorithm).
10893
10894         * events.c (Fevent_modifier_bits): Doc fix.
10895
10896         * events.c (Fevent_modifiers): Major doc addition.
10897         * events.c (event_x_y_pixel_internal): Typo fix.
10898         * events.c (syms_of_events): Declare new primitives.
10899
10900         * events.h:
10901         Update long comment for button modifiers, timestamps.
10902
10903         * events.h (struct event_stream):
10904         New current_event_timestamp method.
10905
10906         * extents.c:
10907         * extents.c (extent_in_region_p):
10908         * extents.c (decode_extent):
10909         * extents.c (Fset_extent_parent):
10910         * extents.c (decode_map_extents_flags):
10911         Fix gcc warnings.
10912         [9].
10913
10914         * extents.c (struct extent_at_arg):
10915         * extents.c (decode_extent_at_flag):
10916         * extents.c (extent_at_mapper):
10917         * extents.c (extent_at_bytind):
10918         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
10919         * extents.c (Fextents_at): New primitive. [9].
10920         * extents.c (symbol_to_glyph_layout): [9].
10921         Support new primitive `extents-at'.
10922
10923
10924         * extents.c (get_text_property_bytind):
10925         extent_at_bytind has another arg.
10926         [9].
10927
10928         * extents.c (syms_of_extents): New primitive.
10929
10930         * file-coding.c (Fmake_coding_system): [1].
10931         * file-coding.c (subsidiary_coding_system): fix gcc warning
10932         * file-coding.c (syms_of_file_coding): [2].
10933
10934         * fileio.c (Fexpand_file_name):
10935         * fileio.c (Fsysnetunam):
10936         * fileio.c (Ffile_exists_p):
10937         * fileio.c (Ffile_executable_p):
10938         * fileio.c (Fverify_visited_file_modtime):
10939         Clean up GCPROing.
10940
10941         * fileio.c (syms_of_fileio): [2].
10942
10943         * filelock.c (lock_file_1):
10944         * filelock.c (current_lock_owner):
10945         * filelock.c (lock_if_free):
10946         * filelock.c (lock_file):
10947         * filelock.c (unlock_file):
10948         Clean up GCPROing.
10949
10950         * fns.c (concat): Fix gcc warning.
10951
10952         * fns.c (Fmember):
10953         * fns.c (Fold_member):
10954         * fns.c (Fmemq):
10955         * fns.c (Fold_memq):
10956         * fns.c (memq_no_quit):
10957         * fns.c (Fassoc):
10958         * fns.c (Fold_assoc):
10959         * fns.c (Fassq):
10960         * fns.c (Fold_assq):
10961         * fns.c (assq_no_quit):
10962         * fns.c (Frassoc):
10963         * fns.c (Fold_rassoc):
10964         * fns.c (Frassq):
10965         * fns.c (Fold_rassq):
10966         * fns.c (rassq_no_quit):
10967         * fns.c (Fdelete):
10968         * fns.c (Fold_delete):
10969         * fns.c (Fdelq):
10970         * fns.c (Fold_delq):
10971         * fns.c (delq_no_quit):
10972         * fns.c (Fremassoc):
10973         * fns.c (Fremassq):
10974         * fns.c (remassq_no_quit):
10975         * fns.c (Fremrassoc):
10976         * fns.c (Fremrassq):
10977         * fns.c (remrassq_no_quit):
10978         * fns.c (Freverse):
10979         * fns.c (mapcar1):
10980         [1].
10981
10982         * frame-msw.c (mswindows_init_frame_1):
10983         * frame-msw.c (mswindows_delete_frame):
10984         Register popups with dialog code so keyboard traversing works.
10985
10986         * frame-tty.c (tty_raise_frame_no_select): [1].
10987
10988         * frame-x.c:
10989         * frame-x.c (x_set_frame_text_value):
10990         * frame-x.c (x_set_frame_properties):
10991         * frame-x.c (x_create_widgets):
10992         [7].
10993
10994         * frame.c:
10995         * frame.c (Fmouse_pixel_position): Minor doc fixes.
10996
10997         * frame.h (wrap_frame): New.
10998         Macro like wrap_device.
10999
11000         * general.c:
11001         * general.c (SYMBOL):
11002         * general.c (syms_of_general):
11003         Major reorg.  This is now just a wrapper and symbols themselves
11004         are listed in general-slots.h.
11005
11006         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
11007         * glyphs-msw.c (mswindows_resource_instantiate): [5].
11008
11009         * glyphs-msw.c (mswindows_native_layout_instantiate):
11010         Add DS_CONTROL so keyboard traversal will work.
11011
11012         * glyphs-widget.c:
11013         * glyphs-widget.c (syms_of_glyphs_widget):
11014         Move some symbols to general-slots.h.
11015
11016         * glyphs-x.c:
11017         * glyphs-x.c (xbm_instantiate_1):
11018         * glyphs-x.c (x_xbm_instantiate):
11019         * glyphs-x.c (x_xface_instantiate):
11020         * glyphs-x.c (autodetect_instantiate):
11021         * glyphs-x.c (cursor_font_instantiate):
11022         * glyphs-x.c (x_update_widget):
11023         * glyphs-x.c (x_widget_instantiate):
11024         * glyphs.c (bitmap_to_lisp_data):
11025         * glyphs.c (pixmap_to_lisp_data):
11026         [7].
11027
11028         * glyphs.c (syms_of_glyphs):
11029         [2].
11030
11031         * gui-x.c:
11032         * gui-x.c (print_widget_value):
11033         * gui-x.c (menu_separator_style_and_to_external):
11034         * gui-x.c (add_accel_and_to_external):
11035         * gui-x.c (button_item_to_widget_value):
11036         * gui-x.c (gui_items_to_widget_values_1):
11037         * gui-x.c (gui_items_to_widget_values):
11038         * gui-x.c (syms_of_gui_x):
11039         * gui-x.c (vars_of_gui_x):
11040         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
11041         [9].
11042
11043         * gui-x.h:
11044         Muleize, prototype changes matching gui-x.c.
11045
11046         * gui.c:
11047         * gui.c (separator_string_p):
11048         * gui.c (gui_item_add_keyval_pair):
11049         * gui.c (make_gui_item_from_keywords_internal):
11050         * gui.c (signal_too_long_error):
11051         * gui.c (parse_gui_item_tree_item):
11052         * gui.c (syms_of_gui):
11053         * gui.c (vars_of_gui):
11054         * gui.h:
11055         menu-no-selection-hook moved here (used by MSWin).
11056         Move some symbols to general-slots.h.
11057         [6].
11058         [9].
11059
11060         * insdel.c (get_buffer_pos_char):
11061         * insdel.c (get_buffer_range_char):
11062         Add GC comments.
11063
11064         * keymap.c (keymap_lookup_directly):
11065         * keymap.c (keymap_store):
11066         * keymap.c (ensure_meta_prefix_char_keymapp):
11067         * keymap.c (describe_map):
11068         * keymap.h:
11069         Support new button modifiers.
11070
11071         * lisp-disunion.h (wrap_object):
11072         * lisp-disunion.h (XSETOBJ):
11073         Rename make_obj to wrap_object.
11074
11075         * lisp-union.h:
11076         * lisp-union.h (make_int):
11077         * lisp-union.h (make_char):
11078         Support wrap_object.
11079
11080         * lisp.h:
11081         * lisp.h (LIST_LOOP):
11082         * lisp.h (EXTERNAL_LIST_LOOP):
11083         * lisp.h (LIST_LOOP_2):
11084         * lisp.h (EXTERNAL_LIST_LOOP_1):
11085         * lisp.h (EXTERNAL_LIST_LOOP_2):
11086         * lisp.h (EXTERNAL_LIST_LOOP_3):
11087         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
11088         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
11089         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
11090         * lisp.h (EXTERNAL_ALIST_LOOP_5):
11091         * lisp.h (EXTERNAL_ALIST_LOOP_6):
11092         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
11093         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
11094         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
11095         * lisp.h (struct Lisp_Symbol):
11096         * lisp.h (maybe_continuable_error_with_frob):
11097         Fix up section comments.
11098         Add new types for char to indicate usage.
11099         Delete symbols auto-generated from general-slots.h.
11100         Add prototypes for structured error functions.
11101         Add long comments describing looping macros and change interface
11102         so that lvalues are automatically declared.
11103         Add NO_DECLARE macro in case callers want to declare lvalues
11104         themselves.
11105
11106         * lread.c (read_syntax_error):
11107         * lread.c (continuable_read_syntax_error):
11108         * lread.c (read_structure):
11109         * lread.c (sequence_reader):
11110         * lread.c (read_list_conser):
11111         * lread.c (read_compiled_function):
11112         Rename syntax_error and continuable_syntax_error to avoid clash
11113         with same-named structured error functions.
11114
11115         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11116         * menubar-msw.c (populate_menu_add_item):
11117         * menubar-msw.c (populate_or_checksum_helper):
11118         [5].
11119         [9].
11120
11121         * menubar-x.c:
11122         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11123         Mule-ize whole file.
11124
11125         * menubar.c (Fnormalize_menu_item_name): Add optimization.
11126
11127         * mule-charset.c (Fmake_charset):
11128         * mule-wnnfns.c (Fwnn_set_param):
11129         [1].
11130
11131         * ntproc.c (create_child):
11132         * ntproc.c (Fwin32_set_current_locale):
11133         Add comments portending doom.
11134
11135         * objects-msw.c:
11136         * objects-msw.c (old_font_enum_callback_2):
11137         * objects-msw.c (font_enum_callback_1):
11138         * objects-msw.c (mswindows_enumerate_fonts):
11139         [5].
11140
11141         * objects-x.c:
11142         * objects-x.c (allocate_nearest_color):
11143         * objects-x.c (x_parse_nearest_color):
11144         * objects-x.c (x_initialize_color_instance):
11145         * objects-x.c (x_print_color_instance):
11146         * objects-x.c (x_finalize_color_instance):
11147         * objects-x.c (x_valid_color_name_p):
11148         * objects-x.c (x_initialize_font_instance):
11149         * objects-x.c (x_print_font_instance):
11150         * objects-x.c (valid_x_font_name_p):
11151         * objects-x.c (truename_via_FONT_prop):
11152         * objects-x.c (truename_via_random_props):
11153         * objects-x.c (truename_via_XListFonts):
11154         * objects-x.c (x_font_truename):
11155         * objects-x.c (x_font_instance_truename):
11156         * objects-x.c (x_font_instance_properties):
11157         * objects-x.c (x_list_fonts):
11158         * objects-x.c (x_find_charset_font):
11159         Mule-ize entire file.
11160         [7].
11161
11162         * objects-x.h:
11163         Mule-verify.
11164
11165         * print.c:
11166         * print.c (std_handle_out_external):
11167         * print.c (debug_print_no_newline):
11168         * print.c (syms_of_print):
11169         Output to all debugger kinds in debug-print.
11170         Fix console-output code under MSWin to actually work.
11171
11172         * process-nt.c (send_signal):
11173         * process-nt.c (nt_create_process):
11174         Use newer Unicode macros.
11175
11176         * process-unix.c (unix_create_process):
11177         * process-unix.c (unix_canonicalize_host_name):
11178         * process-unix.c (unix_open_network_stream):
11179         [7].
11180
11181         * scrollbar-x.c:
11182         Mule-verify.
11183
11184         * search.c (syms_of_search):
11185         [2].
11186
11187         * select-msw.c (mswindows_destroy_selection):
11188         Use LIST_LOOP_2.
11189
11190         * select-x.c (symbol_to_x_atom):
11191         [7].
11192
11193         * select.c (syms_of_select):
11194         [2].
11195
11196         * sound.c (Fplay_sound_file):
11197         [7].
11198
11199         * specifier.c:
11200         * specifier.c (decode_specifier_type):
11201         * specifier.c (Fvalid_specifier_locale_type_p):
11202         * specifier.c (check_valid_locale_or_locale_type):
11203         * specifier.c (decode_locale):
11204         * specifier.c (decode_locale_type):
11205         * specifier.c (decode_locale_list):
11206         * specifier.c (check_valid_domain):
11207         * specifier.c (decode_specifier_tag_set):
11208         * specifier.c (Fcanonicalize_tag_set):
11209         * specifier.c (Fdefine_specifier_tag):
11210         * specifier.c (Fspecifier_tag_predicate):
11211         * specifier.c (check_valid_inst_list):
11212         * specifier.c (check_valid_spec_list):
11213         * specifier.c (decode_how_to_add_specification):
11214         * specifier.c (check_modifiable_specifier):
11215         * specifier.c (specifier_add_spec):
11216         * specifier.c (boolean_validate):
11217         * specifier.c (display_table_validate):
11218         [9].
11219
11220         * specifier.c (syms_of_specifier):
11221         Move some symbols to general-slots.h.
11222         [2].
11223
11224         * symbols.c:
11225         * symbols.c (Fmapatoms):
11226         * symbols.c (Fapropos_internal):
11227         Add GCPROs.
11228
11229         * symbols.c (set_default_buffer_slot_variable):
11230         * symbols.c (set_default_console_slot_variable):
11231         [1].
11232
11233         * symbols.c (defsymbol_massage_name_1):
11234         * symbols.c (defkeyword_massage_name):
11235         * symbols.c (deferror_1):
11236         * symbols.c (deferror):
11237         * symbols.c (deferror_massage_name_and_message):
11238         * symeval.h:
11239         * symeval.h (DEFSYMBOL):
11240         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
11241
11242         * symbols.c (syms_of_symbols):
11243         [2].
11244
11245         * symsinit.h:
11246         * symsinit.h (init_win32): New.
11247         Also new is syms_of_dialog_mswindows.
11248
11249         * syswindows.h:
11250         Add new Unicode macros, missing Cygwin wide-char functions,
11251         convenience conversion macros for Qmswindows_tstr, macros for
11252         encapsulating required MSWin <-> Cygwin filename conversions,
11253         prototype for dynamically-extracted (not in NT 3.51) functions.
11254
11255         * toolbar-x.c:
11256         Mule-verify.
11257
11258         * tooltalk.c (Fadd_tooltalk_message_arg):
11259         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
11260         * tooltalk.c (Fadd_tooltalk_pattern_arg):
11261         [7].
11262
11263         * tooltalk.c (syms_of_tooltalk):
11264         [2].
11265
11266         * unexnt.c:
11267         * unexnt.c (unexec):
11268         Fix up headers, declaration of unexec() to be more standard.
11269
11270 2000-07-20  Martin Buchholz  <martin@xemacs.org>
11271
11272         * offix.h: Revert change to guard macros - they're used in offix.c!
11273
11274 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11275
11276         * lisp.h: Defsubred Fdelete.
11277
11278         * console-msw.h:  (msprinter_default_printer): Added.
11279
11280         * console-msw.c (msprinter_canonicalize_console_connection):
11281         (msprinter_canonicalize_device_connection): Added.
11282
11283         * device-msw.c (msprinter_default_printer):
11284         (Fmswingows_get_default_printer):
11285         (signal_enum_priner_error):
11286         (Fmswingows_printer_list): Added.
11287
11288 2000-07-19  Martin Buchholz <martin@xemacs.org>
11289
11290         * XEmacs 21.2.35 is released.
11291
11292 2000-07-19  Martin Buchholz  <martin@xemacs.org>
11293
11294         * select-x.c (x_handle_selection_request):
11295         Text selected in xemacs and pasted into xterm failed to appear.
11296         Spelling fixes and cosmetic changes.
11297
11298 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11299
11300         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
11301         XEmacs frame (fix for doubling chars in dialog boxes).
11302
11303 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11304
11305         * select.c (select_convert_in, select_convert_out):
11306         Don't call intern() every time.
11307
11308         * select.c (Qselect_convert_in, Qselect_convert_out): New.
11309         * select.c (vars_of_select): Initialise them.
11310
11311 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11312
11313         * select.c (selection-coercible-types): New.
11314
11315         * select.c (own-selection-internal):
11316         * select.c (get-selection-internal):
11317         MULE bug fix - these should default to COMPOUND_TEXT and not
11318         STRING for MULE. I think.
11319
11320         * select.c (select_convert_out): Use selection-coercible-types
11321         to find types that we can attempt to perform coercions on.
11322
11323 2000-07-18  Martin Buchholz  <martin@xemacs.org>
11324
11325         * mule-wnnfns.c:
11326         * mule-canna.c:
11327         Add coding: cookie to identify encoding.
11328
11329         * mule-canna.c (CANNA_mode_keys): make static.
11330         Use proper prototypes, even for functions of no arguments.
11331         Remove external prototype for Fding().
11332
11333         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
11334
11335         * select.c (syms_of_select): Add missing DEFSUBR.
11336
11337 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
11338
11339         * select.c (get_selection_internal, own_selection_internal):
11340         Make the type default to STRING, rather than placing a nil type
11341         into Vselection_alist.
11342
11343 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
11344
11345         * gpmevent.c (tty_selection_exists_p):
11346         * gpmevent.c (tty_own_selection):
11347         Updated parameter lists.
11348
11349 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
11350
11351         * select.h (selection-alist): Removed declaration.
11352
11353         * select.h (get_local_selection):
11354         * select.c (get_local_selection):
11355         Made static.
11356
11357         * select.h (convert_selection): Removed declaration.
11358         * select.c (convert_selection): Removed.
11359         This function belongs in Lisp.
11360
11361         * select.h (select_convert_in): Declare.
11362         * select.h (select_convert_out): Declare.
11363         * select.c (select_convert_in): New.
11364         * select.c (select_convert_out): New.
11365         New conversion functions for other files to call.
11366
11367         * select.h (select_notify_buffer_kill): Declare.
11368         * select.c (select_notify_buffer_kill): New.
11369         New functions that get called from kill-buffer.
11370
11371         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
11372         X-specific lisp code.
11373
11374         * select.h: Declare some of the lisp-visible functions for
11375         external use.
11376
11377         * select.c (clean_local_selection_data): Removed. This was
11378         a disgusting function, and previously should have been in
11379         select-x.c in any case. The functionality is now provided
11380         in select-convert-from-integer (select.el).
11381
11382         * select.c (available-selection-types): Fixed stupidity where
11383         INTEGER and ATOM got added twice. Also add STRING when we see an
11384         extent.
11385
11386         * select.c (get-selection-internal): Removed symbol stripping. No
11387         longer causes conversion when data comes from the internal cache.
11388
11389         * select.c (syms_of_select): Added new functions.
11390
11391         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
11392         error checking - previously this called abort!
11393
11394         * select-x.c (x_own_selection): Changed comment.
11395
11396         * select-x.c (x_handle_selection_request): Use select_convert_out.
11397         Don't mess with selection-alist; it's an internal variable of select.c.
11398
11399         * select-x.c (x_get_foreign_selection): Use select_convert_in.
11400
11401         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
11402         rather than messing with selection-alist.
11403
11404         * select-msw.c (mswindows_get_foreign_selection):
11405         Use TO_INTERNAL_FORMAT rather than hacking.
11406
11407 2000-07-14  Martin Buchholz  <martin@xemacs.org>
11408
11409         * process-unix.c (unix_open_multicast_group):
11410         (unix_open_multicast_group): Remove useless casts.
11411
11412 2000-07-13  Martin Buchholz  <martin@xemacs.org>
11413
11414         * sound.c (Fplay_sound): Fix `unused variable' warning.
11415
11416         * emacs.c (main): Use correct type for _environ on SCO5.
11417
11418 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
11419
11420         * console.h (own_selection_method):
11421         * console.h (selection_exists_p_method):
11422         * console.h (available_selection_types_method): New.
11423         * console.h (register_selection_data_type_method): New.
11424         * console.h (selection_data_type_name): New.
11425
11426         * console-msw.h (mswindows_destroy_selection): Declare it.  New
11427         function & alist to track GlobalAlloc()'d handles that need
11428         releasing when the clipboard data gets replaced or emptied.
11429
11430         * event-msw.c (mswindows_wnd_proc): Call it.
11431
11432         * lisp.h, general.c (Qappend): New symbol representing a
11433         `how-to-add' mode.
11434
11435         * select.c (own-selection-internal):
11436         * select.c (selection-exists-p):
11437         * select.c (available-selection-types): New.
11438         * select.c (register-selection-data-type): New.
11439         * select.c (selection-data-type-name): New.  New functions to deal
11440         with device-specific selection data formats.
11441         * select.c (selection-converter-out-alist): Renamed.
11442         * select.c (selection-converter-in-alist): New.
11443         * select.c (selection-appender-alist): New.  Added new alists.
11444         * select.c (syms_of_select, vars_of_select): Added new symbols &
11445         variables.
11446         * select.c (get_local_selection): Split.
11447         * select.c: Removed spurious type checking - selections may now be
11448         of any type, not just strings.
11449         * select.c (own-selection-internal):
11450
11451         * select.h, select.c (convert_selection): New. Created
11452         convert_selection() function based on get_local_selection().
11453         * select.h, select.c (QCF_*): New symbols representing mswindows
11454         clipboard formats.
11455         * select.h, select.c (Qreplace_all, Qreplace_existing): New
11456         symbols representing `how-to-add' modes.
11457
11458         * select-msw.c (x_sym_p): New.
11459         * select-msw.c (symbol_to_ms_cf): New.
11460         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
11461         symbols & clipboard formats. Can also handle string names.
11462         * select-msw.c (mswindows_own_selection):
11463         * select-msw.c (mswindows_selection_exists_p):
11464         Added `data-type' parameter. Use it.
11465         * select-msw.c (mswindows_available_selection_types): New.
11466         * select-msw.c (mswindows_register_selection_data_type): New.
11467         * select-msw.c (mswindows_selection_data_type_name): New.
11468         * select-msw.c (mswindows_own_selection):
11469         * select-msw.c (mswindows_get_foreign_selection):
11470         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
11471         * select-msw.c (console_create_select_mswindows): Added new methods.
11472         * select-msw.c (mswindows_destroy_selection): New.
11473         * select-msw.c (Vhandle_alist): New list.
11474         * select-msw.c (mswindows_own_selection):
11475
11476         * select-x.c (x_own_selection):
11477         * select-x.c (x_selection_exists_p):
11478         * select-x.c: Added some comments about maybe using new
11479         functionality.
11480         * select-x.c (x_own_selection):
11481
11482         * specifier.c: Remove definition of Qappend (now in general.c)
11483         * specifier.c (syms_of_specifier): Remove Qappend.
11484
11485 2000-07-12  Martin Buchholz  <martin@xemacs.org>
11486
11487         * config.h.in: Add socklen_t.
11488
11489         * s/decosf4-0.h: No special compiler flags needed or desired.
11490         In particular, undefine _BSD for DEC OSF 4.0.
11491
11492 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11493
11494         * redisplay-msw.c (msprinter_frame_output_end): Added.
11495         (console_type_create_redisplay_mswindows): Referred the above.
11496
11497         * frame.c (setup_frame_without_minibuffer): Do not create a
11498         default minibuffer frame on a printer device.
11499
11500         * frame-msw.c (apply_dc_geometry): Added.
11501         (msprinter_start_page):
11502         (msprinter_init_frame_3):
11503         (msprinter_eject_page): Use it.
11504
11505         * console-msw.h (struct msprinter_frame): Added pix_left and top,
11506         and removed residual duplex and orientation properties.
11507
11508 2000-07-11  Martin Buchholz  <martin@xemacs.org>
11509
11510         * eval.c (function_argcount): Work around a DEC CC compiler bug.
11511
11512         * unexalpha.c: Remove system prototypes from C sources!
11513
11514 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
11515
11516         * eval.c: Remove references to M-x edit-options in DEFUNs for
11517         `defvar' and `defconst'.
11518
11519 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11520
11521         * config.h.in: Remove SMART_INCLUDE hackery.
11522
11523         PostgreSQL hacking:
11524         * config.h.in: Don't use SMART_INCLUDE.
11525
11526         * postgresql.h: Include libpq-fe.h here.  Fix typo.
11527         * inline.c: Simply #include "postgresql.h"
11528         * postgresql.c:
11529         - Don't use SMART_INCLUDE
11530         - Use simply "const".
11531         - Use standard doc string conventions.
11532         - Use correct type for result of PQstatus.
11533
11534 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11535
11536         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
11537
11538         C++ compilation changes.
11539         * config.h.in (EXTERN_C): Define.
11540         * config.h.in (not): This is also a C++ keyword.
11541         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
11542         * cm.c: Use EXTERN_C.
11543         * redisplay-tty.c: Use EXTERN_C.
11544         * sysdep.c: Use EXTERN_C.  Remove Gould support.
11545
11546 2000-07-09  Martin Buchholz  <martin@xemacs.org>
11547
11548         * general.c: Remove duplicate definition for Qfunction.
11549
11550 2000-07-08  Ben Wing  <ben@xemacs.org>
11551
11552         * device-msw.c (msprinter_init_device):
11553         * device-msw.c (sync_printer_with_devmode):
11554         * device-msw.c (handle_devmode_changes):
11555         * device-msw.c (print_dialog_worker):
11556         * device-msw.c (Fmsprinter_apply_settings):
11557         * device-msw.c (hash_devmode):
11558         * device-msw.c (Fmsprinter_settings_despecialize):
11559         use Qmswindows_tstr, not Qctext.
11560
11561         * vm-limit.c (check_memory_limits):
11562         avoid infinite loop printing warning messages.
11563
11564 2000-07-05  Craig Lanning  <lanning@scra.org>
11565
11566         * Makefile.in.in: Add support for including the Windows resources
11567         when building with the cygwin and mingw targets.
11568
11569         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
11570         not set or not correct.
11571         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
11572         (init_initial_directory): Don't try to use $PWD on the
11573         WIN32_NATIVE target.
11574
11575         * s\cygwin32.h:
11576         [[Add -mwindows to eliminate console window.]] not required --ben
11577         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11578         (MAIL_USE_POP): removed; now handled by configure.
11579
11580         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
11581         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
11582         (HAVE_NATIVE_SOUND): removed; now handled by configure.
11583         (MAIL_USE_POP): removed; now handled by configure.
11584         (ENCAPSULATE_STAT): from Dan Holmsand, added.
11585         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
11586         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
11587         constant string.
11588         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
11589         up from <winsock.h> via systime.h.
11590         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
11591         (getpagesize): from Dan Holmsand, added.
11592         Added #endif which was left dangling by Ben's mega patch; added
11593         comment to help prevent this in the future.
11594
11595         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
11596
11597 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
11598
11599         * console-msw.h (struct mswindows_device): Removed unnecessary
11600         cached device geometry values.
11601         Added update_tick and an accessor macro.
11602         (Lisp_Devmode): Added lrecord declaration.
11603         (struct msprinter_device): Contain devmode as a Lisp object.
11604         Added mswindows_get_selected_frame_hwnd();
11605
11606         * console.h (struct console_methods): Indentation nitpicking.
11607
11608         * device-msw.c (mswindows_init_device): Do not initialize geometry
11609         cache. Initialize update tick.
11610         (mswindows_device_system_metrics): Ask the device for its geometry.
11611         (global_free_2_maybe):
11612         (devmode_to_hglobal):
11613         (handle_printer_changes):
11614         (ensure_not_printing):
11615         (print_dialog_worker):
11616         (Fmsprinter_print_setup_dialog):
11617         (Fmsprinter_print_dialog):
11618         (plist_get_margin):
11619         (plist_set_margin):
11620         (Fmsprinter_page_setup_dialog): Added functions.
11621         (sync_printer_with_devmode):
11622         (handle_devmode_changes):
11623         (Fmsprinter_get_settings):
11624         (Fmsprinter_select_settings):
11625         (Fmsprinter_apply_settings):
11626         (allocate_devmode):
11627         (Fmsprinter_settings_copy):
11628         (Fmsprinter_settings_despecialize):
11629         (print_devmode):
11630         (finalize_devmode):
11631         (equal_devmode):
11632         (hash_devmode): Added functions
11633         (syms_of_device_mswindows): Init devmode lrecord class.
11634
11635         * device.h: Added an exfun for find-device.
11636
11637         * event-msw.c (mswindows_wnd_proc): Do not update the cached
11638         geometry; although, recreate the device compatible DC.
11639
11640         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
11641         (msprinter_init_frame_3):
11642         (msprinter_frame_property):
11643         (msprinter_internal_frame_property_p):
11644         (msprinter_frame_properties):
11645         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
11646         print job properties (will move to device settings).
11647
11648         * lisp.h: Added symbols.
11649
11650         * general.c (syms_of_general): Declared them.
11651
11652         * hash.c (string_hash): Added.
11653
11654         * lrecord.h (lrecord_type): Added devmode lrecord type.
11655
11656 2000-07-02  Mike Sperber <mike@xemacs.org>
11657
11658         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
11659         FreeBSD 4.0.
11660
11661 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
11662
11663         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
11664         integer.
11665
11666 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
11667
11668         * data.c (Fstring_to_number): Don't recognize floating point if
11669         base is not 10.
11670
11671 2000-06-22  Martin Buchholz  <martin@xemacs.org>
11672
11673         * glyphs-widget.c (tab_control_query_geometry):
11674         (widget_query_geometry):
11675         (button_query_geometry):
11676         * glyphs.c (text_query_geometry):
11677         Enforce type correctness.
11678
11679 2000-06-18  Martin Buchholz  <martin@xemacs.org>
11680
11681         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
11682         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
11683
11684 2000-06-17  Martin Buchholz  <martin@xemacs.org>
11685
11686         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
11687         conflicts with gcc's fixincluded version of FOO.h.
11688
11689         * glyphs.h (image_instance_geometry): Remove trailing `,'
11690
11691 2000-06-08  Mike Alexander  <mta@arbortext.com>
11692
11693         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
11694         (shove_thread): Don't write the same output twice
11695         (make_ntpipe_output_stream): Increase priority of shove thread
11696         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
11697         chance to run
11698         (ntpipe_shove_closer): Don't delete the pipe until we're done with
11699         it.
11700
11701 2000-06-12  Ben Wing  <ben@xemacs.org>
11702
11703         * s\mingw32.h (sigset):
11704         * s\windowsnt.h (sigset):
11705         rename msw_ to mswindows_ for consistency with general convention.
11706
11707 2000-06-12  Ben Wing  <ben@xemacs.org>
11708
11709         * console-msw.c:
11710         * console-msw.c (mswindows_get_console_hwnd):
11711         * console-msw.c (mswindows_ensure_console_allocated):
11712         * console-msw.c (mswindows_hide_console):
11713         * console-msw.c (mswindows_show_console):
11714         * console-msw.c (mswindows_ensure_console_buffered):
11715         * console-msw.c (mswindows_output_console_string):
11716         * console-msw.c (mswindows_windows9x_p):
11717         * console-msw.h:
11718         * device-msw.c (mswindows_get_workspace_coords):
11719         * device-msw.c (mswindows_device_system_metrics):
11720         * dialog-msw.c (mswindows_popup_dialog_box):
11721         * event-msw.c (mswindows_wnd_proc):
11722         * frame-msw.c (mswindows_size_frame_internal):
11723         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11724         * menubar-msw.c (displayable_menu_item):
11725         * menubar-msw.c (mswindows_char_is_accelerator):
11726         * nt.c:
11727         * nt.c (mswindows_sigset):
11728         * nt.c (mswindows_sigrelse):
11729         * nt.c (mswindows_sigpause):
11730         * nt.c (mswindows_raise):
11731         * nt.c (timer_proc):
11732         * ntproc.c:
11733         * ntproc.c (find_child_console):
11734         * ntproc.c (sys_kill):
11735         * print.c:
11736         * print.c (std_handle_out_external):
11737         * process-nt.c (find_child_console):
11738         * process-nt.c (send_signal_the_95_way):
11739         * process-nt.c (ensure_console_window_exists):
11740         * process-nt.c (nt_create_process):
11741         * syssignal.h:
11742         rename msw_ to mswindows_ for consistency with general convention.
11743
11744         * emacs.c:
11745         * dumper.c:
11746         include nt.h, not syswindows.h.
11747
11748         * nt.c (mswindows_fstat):
11749         * nt.c (mswindows_stat):
11750         prefix mswindows_ instead of attempting to directly override the
11751         library functions.  fix declarations.
11752
11753         * nt.h:
11754         include syswindows.h.  move some sysdep.h stuff here.
11755
11756         * ntheap.h:
11757         include syswindows.h, not <windows.h>.
11758
11759         * ntplay.c:
11760         clean up headers.
11761
11762         * sysdep.c:
11763         clean up headers.
11764
11765         * sysdep.c (sys_fstat):
11766         * sysdep.c (sys_stat):
11767         call mswindows versions when appropriate.
11768
11769         * sysdep.h:
11770         move mswin decls to nt.h.
11771
11772         * syswindows.h:
11773         add long comment describing appropriate use of the various windows
11774         headers.
11775
11776 2000-06-11  Ben Wing  <ben@xemacs.org>
11777
11778         * device-x.c: Correct doc string for sixth arg of x-get-resource.
11779
11780 2000-06-10  Ben Wing  <ben@xemacs.org>
11781
11782         * Makefile.in.in (release):
11783         Correction to make sure xemacs.exe always dumped when correct.
11784
11785         * alloca.c:
11786         * balloon_help.c:
11787         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
11788
11789         * buffer.c (set_buffer_internal):
11790         [[[[2]]]]: Remove HAVE_FEP code.
11791
11792         * buffer.c (init_initial_directory):
11793         [3].
11794
11795         * bytecode.c:
11796         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
11797         individual files.
11798
11799         * callproc.c:
11800         * callproc.c (call_process_cleanup):
11801         * callproc.c (Fold_call_process_internal):
11802         * callproc.c (child_setup):
11803         * callproc.c (getenv_internal):
11804         * callproc.c (init_callproc):
11805         * callproc.c (vars_of_callproc):
11806         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
11807         __CYGWIN32__ -> CYGWIN.
11808         DOS_NT -> WIN32_NATIVE.
11809         Remove MSDOS support/references, converting to WIN32_NATIVE
11810           where correct.
11811         __MINGW32__ -> MINGW.
11812         Fix windows.h includes.
11813         Remove bogus HAVE_NTGUI.
11814
11815         * config.h.in:
11816         [2].
11817
11818         * console-msw.c:
11819         mswindows_message_outputted added for use in allowing startup
11820         errors on the console to be seen.
11821
11822         * console-msw.c (msw_ensure_console_allocated):
11823         * console-msw.c (msw_output_console_string):
11824         * console-msw.c (DHEADER):
11825         * console-msw.c (DOPAQUE_DATA):
11826         * console-msw.c (DEVENT):
11827         * console-msw.c (DCONS):
11828         * console-msw.c (DCONSCDR):
11829         * console-msw.c (DSTRING):
11830         * console-msw.c (DVECTOR):
11831         * console-msw.c (DSYMBOL):
11832         * console-msw.c (DSYMNAME):
11833         Fix warnings.
11834
11835         * console-stream.c (stream_init_console):
11836         Fix text/binary problems.
11837
11838         * device-msw.c:
11839         * device-msw.c (mswindows_finish_init_device):
11840         * device-msw.c (mswindows_delete_device):
11841         [1].
11842
11843         * device.c (handle_asynch_device_change):
11844         [3].
11845
11846         * dgif_lib.c:
11847         * dgif_lib.c (DGifOpenFileName):
11848         * dgif_lib.c (DGifOpenFileHandle):
11849         * dgif_lib.c (DGifGetLine):
11850         * dgif_lib.c (DGifGetPixel):
11851         Added config.h/lisp.h, fix up includes.
11852         [1].
11853
11854         * dired-msw.c:
11855         [4].
11856
11857         * dired.c:
11858         * dired.c (file_name_completion):
11859         * dired.c (Ffile_attributes):
11860         * dired.c (syms_of_dired):
11861         [1].
11862
11863         * dumper.c:
11864         * dumper.c (pdump_file_unmap):
11865         * dumper.c (pdump_load):
11866         [1].
11867
11868         * editfns.c:
11869         * editfns.c (Ftemp_directory):
11870         * editfns.c (user_login_name):
11871         * editfns.c (Fuser_real_login_name):
11872         * editfns.c (get_home_directory):
11873         [1].
11874
11875         * elhash.c (finish_marking_weak_hash_tables):
11876         [[[[5]]]]: Fix GCC warnings.
11877
11878         * emacs.c:
11879         * emacs.c (mswindows_handle_hardware_exceptions):
11880         * emacs.c (make_arg_list_1):
11881         * emacs.c (main_1):
11882         * emacs.c (Fkill_emacs):
11883         * emacs.c (Fdump_emacs):
11884         [1].
11885         Fix problems with nested crashes, add long comment.
11886
11887         * event-Xt.c (init_event_Xt_late):
11888         [1].
11889
11890         * event-msw.c:
11891         * event-msw.c (mswindows_dde_callback):
11892         * event-msw.c (mswindows_handle_sticky_modifiers):
11893         * event-msw.c (mswindows_wnd_proc):
11894         [1].
11895         [5].
11896
11897         * events.c (character_to_event):
11898         [1].
11899
11900         * fileio.c:
11901         * fileio.c (Ffile_name_directory):
11902         * fileio.c (Ffile_name_nondirectory):
11903         * fileio.c (directory_file_name):
11904         * fileio.c (Fexpand_file_name):
11905         * fileio.c (Fsubstitute_in_file_name):
11906         * fileio.c (Ffile_name_absolute_p):
11907         * fileio.c (check_executable):
11908         * fileio.c (Ffile_readable_p):
11909         * fileio.c (Ffile_accessible_directory_p):
11910         * fileio.c (Ffile_modes):
11911         * fileio.c (Funix_sync):
11912         * fileio.c (vars_of_fileio):
11913         [1]. [4].
11914
11915         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
11916
11917         Expand getdefdir defn.
11918         Fix bogus rename() comment.
11919
11920         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
11921         to use standard XEmacs include files, e.g. sysfile.h, rather
11922         than system-specific includes.
11923
11924         * fns.c:
11925         * fns.c (Fsubseq):
11926         [5]. [6].
11927
11928         * frame.c (vars_of_frame):
11929         [1].
11930
11931         * getloadavg.c:
11932         * getloadavg.c (getloadavg):
11933         [1]. [6].
11934         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
11935         (We don't use it elsewhere in the code; just add a comment.)
11936
11937         * gif_io.c:
11938         [6].
11939         Add config.h.
11940
11941         * glyphs-msw.c:
11942         * glyphs-msw.c (mswindows_resource_instantiate):
11943         [1].
11944
11945         * glyphs-x.c (x_native_layout_instantiate):
11946         [5].
11947
11948         * gui-msw.c (Fmswindows_shell_execute):
11949         [1].
11950
11951         * insdel.c:
11952         [4].
11953
11954         * lisp.h:
11955         [4]. [5].
11956
11957         * lread.c (locate_file_in_directory_mapper):
11958         [1].
11959
11960         * lstream.c:
11961         [4].
11962
11963         * mem-limits.h:
11964         * mem-limits.h (get_lim_data):
11965         [1].
11966
11967         * menubar-msw.c:
11968         [4].
11969
11970         * ndir.h:
11971         [1].
11972
11973         * nt.c:
11974         * nt.c (getwd):
11975         * nt.c (closedir):
11976         * nt.c (rva_to_section):
11977         * nt.c (mswindows_executable_type):
11978         [1]. [6].
11979         Fix closedir() defn.
11980
11981         * nt.h:
11982         [[[[8]]]]: *_OK defs moved to sysfile.h.
11983
11984         * ntproc.c:
11985         [6]. [7].
11986
11987         * objects-x.c:
11988         [4].
11989
11990         * print.c:
11991         * print.c (std_handle_out_external):
11992         [1]. [4].
11993
11994         * process-nt.c:
11995         * process-nt.c (nt_create_process):
11996         [6].
11997         try to fix process quoting somewhat.
11998
11999         * process-unix.c (unix_create_process):
12000         [1].
12001
12002         * process.c:
12003         * process.c (vars_of_process):
12004         Add Vnull_device.
12005
12006         * process.h:
12007         [1].
12008
12009         * realpath.c:
12010         * realpath.c (xrealpath):
12011         [1].
12012
12013         * redisplay-tty.c (init_tty_for_redisplay):
12014         [3].
12015
12016         * redisplay.c:
12017         [4]. [6].
12018
12019         * scrollbar-msw.c:
12020         [4].
12021
12022         * sheap.c:
12023         * sheap.c (more_static_core):
12024         * sheap.c (report_sheap_usage):
12025         [5]. [6].
12026
12027         * signal.c:
12028         * signal.c (alarm_signal):
12029         [1]. [6].
12030
12031         * sound.c:
12032         [6].
12033
12034         * strftime.c:
12035         * strftime.c (zone_name):
12036         [1]. [5].
12037
12038         * symsinit.h (init_sunpro):
12039         [1].
12040
12041         * syscommctrl.h:
12042         commctrl.h not in Cygwin b20.1.
12043
12044         * sysdep.c:
12045         * sysdep.c (endif):
12046         * sysdep.c (sys_subshell):
12047         * sysdep.c (init_baud_rate):
12048         * sysdep.c (emacs_get_tty):
12049         * sysdep.c (emacs_set_tty):
12050         * sysdep.c (tty_init_sys_modes_on_device):
12051         * sysdep.c (init_system_name):
12052         * sysdep.c (sys_open):
12053         * sysdep.c (interruptible_open):
12054         * sysdep.c (sys_fopen):
12055         * sysdep.c (sys_mkdir):
12056         * sysdep.c (sys_rename):
12057         * sysdep.c (get_process_times_1):
12058         [1]. [6].
12059
12060         * sysdep.h:
12061         [1].
12062
12063         * sysdir.h:
12064         * sysdir.h (DIRENTRY_NONEMPTY):
12065         [1]. [6].
12066
12067         * sysdll.c (dll_init):
12068         * sysdll.h:
12069         [1].
12070
12071         * sysfile.h:
12072         [1]. [6]. [8].
12073         added text/binary defs.
12074
12075         * sysfloat.h:
12076         [1].
12077
12078         * sysproc.h:
12079         * sysproc.h (EDESTADDRREQ):
12080         * sysproc.h (poll_fds_for_input):
12081         [1]. [6].
12082
12083         * syspwd.h:
12084         [6].
12085
12086         * syssignal.h:
12087         [1].
12088
12089         * systime.h:
12090         [1]. [6].
12091
12092         * systty.h:
12093         [1].
12094
12095         * syswindows.h:
12096         [1].
12097         Always define WIN32_LEAN_AND_MEAN.
12098
12099         * unexcw.c (unexec):
12100         [5].
12101
12102         * unexec.c:
12103         * unexec.c (copy_text_and_data):
12104         * unexec.c (adjust_lnnoptrs):
12105         [1].
12106
12107         * unexnt.c:
12108         * unexnt.c (_start):
12109         [1].
12110
12111 2000-06-07  Ben Wing  <ben@xemacs.org>
12112
12113         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
12114         was used only as a model.  We've long since extracted any useful
12115         logic or code out of this. (I just did an exhaustive search.)
12116
12117         * s\msdos.h: Removed.
12118
12119         * s\windows95.h: Removed.
12120
12121 2000-06-10  Ben Wing  <ben@xemacs.org>
12122
12123         * s\cygwin32.h:
12124         [1]. [5].
12125         Don't use extern with fun defs.
12126
12127         * s\mingw32.h:
12128         [1]. [7].
12129         Remove nt\inc include.
12130         Remove getdisk, getdefdir. (The former is unused, the latter
12131         expanded in fileio.h.)
12132
12133         * s\windowsnt.h:
12134         * s\windowsnt.h (WIN32_NATIVE):
12135         * s\windowsnt.h (HAVE_STRCASECMP):
12136         [1]. [7].
12137         Add long comment about preprocessor changes.
12138         Remove getdisk, getdefdir. (The former is unused, the latter
12139         expanded in fileio.h.)
12140
12141 2000-06-10  Ben Wing  <ben@xemacs.org>
12142
12143         * m\arm.h:
12144         * m\delta.h:
12145         * m\intel386.h:
12146         * m\sequent.h:
12147         * m\template.h:
12148         * m\windowsnt.h:
12149         [1].
12150         Remove bogus/unused NO_SOCK_SIGIO.
12151
12152 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
12153
12154         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
12155         not an Emchar.
12156
12157 2000-06-04  Mike Sperber <mike@xemacs.org>
12158
12159         * casetab.c (set_case_table): For `set-standard-case-table',
12160         actually deposit the new case tables where the rest of XEmacs can
12161         see them.
12162
12163 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
12164
12165         * data.c (Faset): Don't cast XCHAR() to unsigned char.
12166
12167 2000-06-05  Ben Wing  <ben@xemacs.org>
12168
12169         * callproc.c (child_setup): Don't do close_load_descs() under
12170         MS Windows.  Put in a comment explaining why.
12171
12172 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
12173
12174         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
12175         Toolkit shell" which breaks `kill-compilation' on Windows NT
12176         native, retaining STDERR handling improvements.
12177
12178 2000-06-01  Andreas Jaeger  <aj@suse.de>
12179
12180         * s/s390.h: Support for S390, based on a patch by Martin
12181         Schwidefsky <schwidefsky@de.ibm.com>.
12182
12183 2000-05-30  Andy Piper  <andy@xemacs.org>
12184
12185         * window.c (allocate_window):
12186         (make_dummy_parent):
12187         (Fset_window_configuration): use new hashtable type.
12188
12189         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
12190         (struct image_instantiator_methods):
12191         (struct Lisp_Image_Instance): make instance geometry signed.
12192
12193         * glyphs.c (instantiate_image_instantiator):
12194         (image_instance_query_geometry):
12195         (image_instance_layout):
12196         (image_instance_layout):
12197         (query_string_geometry):
12198         (text_query_geometry):
12199         (image_instantiate):
12200         (image_instantiate):
12201         (cache_subwindow_instance_in_frame_maybe):
12202         (subwindow_query_geometry): make instance geometry signed.
12203
12204         * glyphs-widget.c (widget_query_geometry):
12205         (widget_layout):
12206         (button_query_geometry):
12207         (tree_view_query_geometry):
12208         (tab_control_query_geometry):
12209         (layout_query_geometry):
12210         (layout_layout):
12211         (native_layout_layout): make instance geometry signed.
12212
12213 2000-05-29  Olivier Galibert  <galibert@pobox.com>
12214
12215         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
12216         constant.
12217
12218         * general.c (syms_of_general): Add Qfull_assoc symbol.
12219
12220         * data.c (finish_marking_weak_lists): Mark full-assoc lists
12221         correctly.
12222         (decode_weak_list_type): Decode full-assoc type.
12223         (encode_weak_list_type): Encode full-assoc type.
12224         (Fmake_weak_list): Update doc string.
12225
12226 2000-05-30  Andy Piper  <andy@xemacs.org>
12227
12228         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
12229
12230         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
12231         (decode_hash_table_weakness): ditto.
12232         (Fhash_table_weakness): ditto.
12233         (Fhash_table_type): ditto.
12234         (finish_marking_weak_hash_tables): ditto.
12235         (hash_table_weakness_validate): ditto.
12236         (syms_of_elhash): ditto.
12237
12238 2000-05-28  Martin Buchholz <martin@xemacs.org>
12239
12240         * XEmacs 21.2.34 is released.
12241
12242 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12243
12244         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
12245         start cache.
12246         (updating_line_start_cache): Gone.
12247         (regenerate_window): Replace resetting of VERTICAL_CLIP by
12248         generic code to force a minimum of 1 line laid out in the
12249         CMOTION_DISP case.
12250
12251 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
12252
12253         * glyphs.c (instantiate_image_instantiator): Check for initialized
12254         height & width no longer special cases IMAGE_NOTHING.
12255         (nothing_instantiate): Set height and width of instance.
12256
12257 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
12258
12259         * unexelf.c (unexec): Search for ".data" section.
12260         Initialize new_data2_offset from old_data_index.
12261         Remove redundant check for ElfW.
12262
12263 2000-05-23  Andy Piper  <andy@xemacs.org>
12264
12265         * glyphs.c (get_image_instantiator_governing_domain): allow more
12266         specific domains as the governing domain rather than expecting an
12267         exact match. This fixes problems with layouts.
12268
12269 2000-05-22  Andy Piper  <andy@xemacs.org>
12270
12271         * redisplay-output.c (compare_runes): check for non-images
12272
12273         * glyphs.c (set_glyph_dirty_p): ditto.
12274         (update_glyph_cachel_data): ditto.
12275
12276         * glyphs-widget.c (layout_post_instantiate): ditto.
12277         (layout_post_instantiate): ditto.
12278
12279         * event-msw.c (mswindows_wnd_proc): warning removal.
12280
12281 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
12282
12283         * s\mingw32.h: Added #undef for CLASH_DETECTION.
12284
12285         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
12286
12287         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
12288
12289         * nt.c (rva_to_section): mingw32 needs rva_to_section.
12290         (mswindows_executable_type): mingw32 now has enough headers for
12291         this to work.
12292
12293 2000-05-20  Andy Piper  <andy@xemacs.org>
12294
12295         * console-msw.c (mswindows_output_last_error): ; -> ,
12296
12297 2000-05-12  Andy Piper  <andy@xemacs.org>
12298
12299         * console-msw.c (FROB): compare ints with ints.
12300
12301 2000-05-11  Andy Piper  <andy@xemacs.org>
12302
12303         * glyphs-x.c (x_finalize_image_instance): make minimal build
12304         happy.
12305
12306 2000-05-20  Ben Wing  <ben@xemacs.org>
12307
12308         * event-Xt.c:
12309         * event-Xt.c (vars_of_event_Xt):
12310         move modifier-keys-are-sticky to event-stream.c.
12311
12312         * event-msw.c:
12313         * event-msw.c (mswindows_enqueue_mouse_button_event):
12314         * event-msw.c (key_needs_default_processing_p):
12315         * event-msw.c (XEMSW_LCONTROL):
12316         * event-msw.c (mswindows_handle_sticky_modifiers):
12317         * event-msw.c (FROB):
12318         * event-msw.c (clear_sticky_modifiers):
12319         * event-msw.c (output_modifier_keyboard_state):
12320         * event-msw.c (output_alt_keyboard_state):
12321         * event-msw.c (mswindows_wnd_proc):
12322         * event-msw.c (mswindows_modifier_state):
12323         * event-msw.c (emacs_mswindows_handle_magic_event):
12324         implement sticky modifiers.
12325
12326         * event-stream.c:
12327         * event-stream.c (vars_of_event_stream):
12328         move modifier-keys-are-sticky here.
12329
12330         * lisp.h:
12331         add CHECK_FUNCTION.
12332
12333         * rangetab.c:
12334         implement map-range-table.
12335
12336
12337 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
12338
12339         * redisplay-tty.c (reset_tty_modes):
12340         (tty_redisplay_shutdown): Adjust argument type to
12341         tty_frame_output_end.
12342
12343 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12344
12345         * eval.c (Fbacktrace): Don't output a line with only right
12346         parenthesis.
12347
12348 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
12349
12350         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
12351         (Fpq_reset_poll): Ditto.
12352
12353 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
12354
12355         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
12356
12357 2000-05-16  Ben Wing  <ben@xemacs.org>
12358
12359         * buffer.c:
12360         * buffer.c (dfc_convert_to/from_internal_format):
12361         * buffer.c (reinit_vars_of_buffer):
12362         Fix conversion functions to allow reentrancy.
12363
12364         * console-msw.c:
12365         * console-msw.c (mswindows_output_last_error):
12366         New fun, generally useful -- output a human-readable
12367         version of GetLastError() on the console.
12368
12369         * console-msw.h:
12370         * console-msw.h (struct mswindows_frame):
12371         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
12372
12373         * console-stream.c (stream_output_begin):
12374         * console-stream.c (stream_output_end):
12375         * console-stream.c (stream_output_vertical_divider):
12376         * console-stream.c (stream_clear_region):
12377         * console-stream.c (stream_flash):
12378         * console-stream.c (console_type_create_stream):
12379         Delete blank stream methods, not needed.
12380
12381         * console.h (struct console_methods):
12382         Split begin/end methods into window and frame.
12383
12384         * event-msw.c:
12385         * event-msw.c (mswindows_handle_paint):
12386         * event-msw.c (output_alt_keyboard_state):
12387         * event-msw.c (mswindows_wnd_proc):
12388         * event-msw.c (vars_of_event_mswindows):
12389         Comment about problems with ignored-expose.
12390         Define mswindows-debug-events; not really implemented.
12391
12392         * frame-msw.c (mswindows_init_frame_1):
12393         random cleanups.
12394
12395         * glyphs-msw.c:
12396         * glyphs-msw.c (begin_defer_window_pos):
12397         * glyphs-msw.c (mswindows_unmap_subwindow):
12398         * glyphs-msw.c (mswindows_map_subwindow):
12399         * glyphs-msw.c (mswindows_resize_subwindow):
12400         Use DeferWindowPos to reduce flashing when mapping/unmapping.
12401
12402         * glyphs.c (make_image_instance_1):
12403         Fix crash.
12404
12405         * gutter.c (Fredisplay_gutter_area):
12406         Use new begin/end methods.
12407
12408         * lisp.h (Dynarr_new2):
12409         New creation fun.
12410
12411         * redisplay-msw.c:
12412         * redisplay-msw.c (mswindows_frame_output_begin):
12413         * redisplay-msw.c (mswindows_frame_output_end):
12414         * redisplay-msw.c (console_type_create_redisplay_mswindows):
12415         New begin/end methods -- handle DeferWindowPos.
12416
12417         * redisplay-output.c (redisplay_move_cursor):
12418         * redisplay-output.c (redraw_cursor_in_window):
12419         * redisplay-output.c (redisplay_update_line):
12420         * redisplay-output.c (redisplay_output_window):
12421         New begin/end methods.
12422
12423         * redisplay-tty.c:
12424         * redisplay-tty.c (tty_frame_output_begin):
12425         * redisplay-tty.c (tty_frame_output_end):
12426         * redisplay-tty.c (console_type_create_redisplay_tty):
12427         New begin/end methods.
12428
12429         * redisplay-x.c:
12430         * redisplay-x.c (x_window_output_begin):
12431         * redisplay-x.c (x_window_output_end):
12432         * redisplay-x.c (console_type_create_redisplay_x):
12433         New begin/end methods.
12434
12435         * redisplay.c (redisplay_frame):
12436         * redisplay.c (Fredisplay_echo_area):
12437         New begin/end methods.
12438         use MAYBE_DEVMETH for clear_frame; it may not exist.
12439
12440         * window.h (WINDOW_XFRAME):
12441         WINDOW_XFOO macros -- get locale and decode struct pointer.
12442
12443
12444 2000-05-12  Ben Wing  <ben@xemacs.org>
12445
12446         * emacs.c:
12447         * emacs.c (ensure_no_quitting_from_now_on):
12448         * emacs.c (fatal_error_signal):
12449         * emacs.c (mswindows_handle_hardware_exceptions):
12450         * emacs.c (main):
12451         * emacs.c (Fkill_emacs):
12452         * emacs.c (shut_down_emacs):
12453         * emacs.c (assert_failed):
12454         various improvements in fatal error handling.
12455
12456         * eval.c:
12457         move preparing_for_armageddon to emacs.c.
12458
12459         * lisp.h:
12460         declare fatal_error_in_progress.
12461
12462         * print.c:
12463         * print.c (std_handle_out_external):
12464         * print.c (std_handle_out_va):
12465         * print.c (stderr_out):
12466         * print.c (stdout_out):
12467         use console under mswin when no standard output.
12468         don't do code conversion during fatal error.
12469
12470         * scrollbar.c (Fscrollbar_page_up):
12471         * scrollbar.c (Fscrollbar_page_down):
12472         fix missing else.  reindent.
12473
12474 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
12475
12476         Emergency fix.
12477
12478         * glyphs.h (GLYPH_CACHEL_DESCENT):
12479         (GLYPH_CACHEL_DESCENT):
12480         (GLYPH_CACHEL_DESCENT):
12481         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
12482         used in case these are inline functions.
12483         Use more absurd values to error check.
12484
12485         include window.h for error check functions.
12486
12487 2000-05-11  Ben Wing  <ben@xemacs.org>
12488
12489         * cmdloop.c (Freally_early_error_handler):
12490         Display message box under windows; otherwise, message will disappear
12491         before it can be viewed.
12492
12493         * console-msw.c:
12494         * console-msw.c (Fmswindows_message_box):
12495         * console-msw.c (FROB):
12496         * console-msw.c (syms_of_console_mswindows):
12497         Define new fun `mswindows-message-box'.
12498         #### I will merge this into `popup-dialog-box'; just give me
12499         a bit of time.
12500
12501         * general.c:
12502         * general.c (syms_of_general):
12503         Some new symbols used in `mswindows-message-box'.
12504
12505         * glyphs.c:
12506         * glyphs.c (Fset_image_instance_property):
12507         put warning in this fun.
12508
12509         * glyphs.h:
12510         * glyphs.h (GLYPH_CACHEL_WIDTH):
12511         * glyphs.h (GLYPH_CACHEL_ASCENT):
12512         * glyphs.h (GLYPH_CACHEL):
12513         * glyphs.h (GLYPH_CACHEL_GLYPH):
12514         define error-checking versions to try to catch a bug i've seen --
12515         redisplay gets in an infinite loop because the glyph width of the
12516         continuation glyph is 65535.
12517
12518         * lisp.h:
12519         Extern message-box stuff.
12520
12521         * window.c (allocate_window):
12522         * window.c (make_dummy_parent):
12523         * window.c (Fset_window_configuration):
12524         Use EQUAL not EQ for subwindow caches to make them work a bit
12525         better. (Something is still very broken.)
12526
12527
12528 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
12529
12530         * glyphs.c (image_instantiate): Suppress gcc warnings.
12531         (Fmake_image_instance): Fix doc string.
12532         * specifier.c (Fmake_specifier): Ditto.
12533
12534 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
12535
12536         * paths.h.in (PATH_LOCK): Removed.
12537         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
12538         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
12539
12540 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
12541
12542         * fns.c (Ffeaturep): Update e-mail address in doc-string.
12543         Document (featurep '(and xemacs 21.02)).
12544
12545 2000-05-09  Ben Wing  <ben@xemacs.org>
12546
12547         * buffer.c (complex_vars_of_buffer):
12548         update modeline-format doc.
12549
12550         * device.h:
12551         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
12552
12553         * emacs.c:
12554         timeline of all released versions of Emacs, for use in creating
12555         authorship comments and in synching up.
12556
12557         * glyphs-widget.c (image_instantiator_buttons):
12558         * glyphs-widget.c (image_instantiator_edit_fields):
12559         * glyphs-widget.c (image_instantiator_combo_box):
12560         * glyphs-widget.c (image_instantiator_scrollbar):
12561         * glyphs-widget.c (image_instantiator_progress_guage):
12562         * glyphs-widget.c (image_instantiator_tree_view):
12563         * glyphs-widget.c (image_instantiator_tab_control):
12564         * glyphs-widget.c (image_instantiator_labels):
12565         * glyphs-widget.c (image_instantiator_layout):
12566         * glyphs-widget.c (image_instantiator_native_layout):
12567         rename decode_domain method to governing_domain.
12568
12569         * glyphs.c:
12570         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
12571         * glyphs.c (add_entry_to_device_ii_format_list):
12572         make sure we don't put an entry more than once into the list.
12573         * glyphs.c (check_instance_cache_mapper):
12574         *************************************************************
12575         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12576         HAVE BEEN GETTING.
12577         *************************************************************
12578         * glyphs.c (get_image_instantiator_governing_domain):
12579         clean up, expand on new concept of governing domain.
12580         * glyphs.c (instantiate_image_instantiator):
12581         * glyphs.c (allocate_image_instance):
12582         use governing_domain instead of cache_domain in naming.
12583         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
12584         * glyphs.c (make_image_instance_1):
12585         * glyphs.c (Fmake_image_instance):
12586         allow for any domain (not just device), and process the
12587         governing domain correctly.  very big doc fix.
12588         * glyphs.c (Fimage_instance_domain):
12589         new primitive, to retrieve the governing domain of an image instance.
12590         * glyphs.c (image_instantiate):
12591         use new governing_domain stuff.  this fixes a crash you could get
12592         by instantiating certain widget glyphs in frame locales. (should
12593         signal an error instead of crashing.)
12594         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
12595         * glyphs.c (Fglyphp): clean up doc.
12596         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
12597         * glyphs.c (syms_of_glyphs):
12598         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
12599         * glyphs.c (image_instantiator_format_create): add some comments about
12600         bogus code.
12601         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
12602         for current-display-table. (Apparently Hrjove implemented in 1998 a
12603         design I wrote up in 1996, but didn't update the doc string.)
12604
12605         * glyphs.h: clean up a doc string.
12606         * glyphs.h (governing_domain):
12607         * glyphs.h (struct image_instantiator_methods):
12608         changes for governing_domain stuff.
12609
12610         * gutter.c:
12611         * gutter.c (Fgutter_specifier_p):
12612         * gutter.c (Fgutter_size_specifier_p):
12613         * gutter.c (Fgutter_visible_specifier_p):
12614         * objects.c:
12615         * objects.c (Fcolor_specifier_p):
12616         * objects.c (Ffont_specifier_p):
12617         * objects.c (Fface_boolean_specifier_p):
12618         doc strings moved to make-*-specifier.
12619
12620         * redisplay.c (add_disp_table_entry_runes_1):
12621         * redisplay.c (generate_fstring_runes):
12622         * redisplay.c (screen):
12623         add random comments and doc strings.
12624
12625         * specifier.c:
12626         * specifier.c (Fmake_specifier):
12627         major overhaul of this doc string.
12628
12629         * specifier.c (Fvalid_specifier_domain_p):
12630         comment about the bogosity of image instances being domains.
12631         * specifier.c (decode_domain):
12632         now non-static, used in glyphs.c.
12633         * specifier.c (specifier_instance):
12634         comment about the bogosity of image instances being domains.
12635         * specifier.c (Fgeneric_specifier_p):
12636         move doc string to make-generic-specifier.
12637         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
12638         rebackslashify.
12639
12640         * specifier.h:
12641         * specifier.h (DOMAIN_FRAME):
12642         * specifier.h (DOMAIN_LIVE_P):
12643         * specifier.h (DOMAIN_XDEVICE):
12644         rebackslashify.
12645         add comments about problems with these macros.
12646         prototype for decode_domain.
12647
12648         * toolbar.c:
12649         * toolbar.c (Ftoolbar_specifier_p):
12650         move doc string to `make-toolbar-specifier'.
12651
12652         * window.c (window_unmap_subwindows_cache_mapper):
12653         *************************************************************
12654         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
12655         HAVE BEEN GETTING.
12656         *************************************************************
12657
12658 2000-05-09  Andy Piper  <andy@xemacs.org>
12659
12660         * glyphs.h: declare reset_frame_subwindow_instance_cache.
12661
12662         * window.c (Fset_window_configuration): reset the frame subwindow
12663         cache and re-initialize the window subwindow caches.
12664
12665         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
12666
12667 2000-05-09  Ben Wing  <ben@xemacs.org>
12668
12669         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
12670         DWORD.
12671
12672 2000-04-26  Mike Woolley  <mike@bulsara.com>
12673
12674         * ntheap.c: Changed recreate_heap to limit the amount reserved
12675         for the heap to that which is actually available. Also now
12676         displays a message box (with some dignostics) in the event that
12677         it still can't start.
12678
12679 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
12680
12681         * callproc.c (Fold_call_process_internal): GCPRO path
12682
12683 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
12684
12685         Patch by Bill Perry.
12686
12687         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
12688         back data instead of #ifdef.
12689         (Fscrollbar_page_down): ditto.
12690
12691 2000-05-07  Ben Wing  <ben@xemacs.org>
12692
12693         * buffer.h:
12694         Kludge for defining Qmswindows_tstr.
12695
12696         * nt.c:
12697         * nt.c (open_input_file):
12698         * nt.c (open_output_file):
12699         * nt.c (rva_to_section):
12700         * nt.c (mswindows_executable_type):
12701         Move all memory-mapped-file routines here (some were in unexnt.c,
12702         which is bad because they are used by process-nt.c, and unexnt
12703         won't be around when portable dumping).  Synched the above routines
12704         with FSF 20.6.
12705
12706         * nt.h:
12707         Removed ifdef'd out bogus code.
12708         Fixed some prototypes.
12709
12710         * nt.h (file_data):
12711         * nt.h (OFFSET_TO_RVA):
12712         * nt.h (RVA_TO_OFFSET):
12713         * nt.h (RVA_TO_PTR):
12714         Moved the memory-mapped-file structures, macros and prototypes
12715         here, to parallel nt.c.  ntheap.h should really be removed
12716         entirely, and it's a non-portable-dumper specific file.
12717
12718         * ntheap.h (round_to_next):
12719         Moved the memory-mapped-file structures, macros and prototypes
12720         to nt.h.
12721
12722         * ntproc.c (compare_env):
12723         Moved rva_to_section and mswindows_executable_type to nt.c.
12724         Moved compare_env to process-nt.c.
12725         ntproc.c will die, one day.
12726
12727         * ntproc.c (sys_spawnve):
12728         Account for win32_ -> mswindows_.
12729
12730         * process-nt.c:
12731         * process-nt.c (struct nt_process_data):
12732         * process-nt.c (ensure_console_window_exists):
12733         * process-nt.c (compare_env):
12734         * process-nt.c (nt_create_process):
12735         * process-nt.c (nt_kill_process_by_pid):
12736         * process-nt.c (syms_of_process_nt):
12737         * process-nt.c (vars_of_process_nt):
12738         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
12739         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
12740         changes).  Eliminate our old `nt-quote-process-args' mechanism.
12741         Synch up nt_create_process with FSF 20.6 sys_spawnve.
12742         Move compare_env here from ntproc.c.
12743
12744         * process.c (Fprocess_send_region):
12745         Takes an optional fourth argument, BUFFER, which should fix some
12746         problems with call-process.
12747
12748         * syscommctrl.h:
12749         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
12750
12751         * syswindows.h:
12752         Move ICC_BAR_CLASSES to syscommctrl.h.
12753         Add preliminary macros for MSWindows/Mule.  More to come.
12754
12755         * unexnt.c:
12756         * unexnt.c (unexec):
12757         open_output_file moved to nt.c.
12758
12759
12760 2000-05-05  Andy Piper  <andy@xemacs.org>
12761
12762         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
12763         instance from the frame cache also since GC may catch up too late
12764         to make frame deletion sane.
12765
12766 2000-05-04  Andy Piper  <andy@xemacs.org>
12767
12768         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
12769         (x_finalize_image_instance): ungcpro on deletion.
12770
12771         * glyphs.c (image_instantiator_format_create): give pointers a
12772         query geometry method so that the geometry is at least set.
12773
12774         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
12775         initialize layouts if using widgets.
12776
12777 2000-05-03  Andy Piper  <andy@xemacs.org>
12778
12779         * nt.c: remove bogus reference to sysmmsystem.h
12780
12781         * gui-x.c (popup_selection_callback): fix no selection abort.
12782
12783 2000-05-02  Andy Piper  <andy@xemacs.org>
12784
12785         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
12786         (mswindows_widget_instantiate): ditto.
12787
12788         * glyphs-widget.c (initialize_widget_image_instance): initialize
12789         children correctly.
12790         (widget_instantiate): cope with children and items in the same
12791         instance.
12792
12793         * glyphs.c (mark_image_instance): cope with children as a first
12794         class member.
12795         (image_instance_equal): ditto.
12796         (image_instance_hash): ditto.
12797         (image_instance_changed): ditto.
12798
12799 2000-04-30  Andy Piper  <andy@xemacs.org>
12800
12801         * glyphs.c (subwindow_query_geometry): new function. Return some
12802         defaults.
12803         (subwindow_instantiate): don't assign dimensions if none have been
12804         given.
12805         (image_instantiator_format_create): add subwindow_query_geometry.
12806         (print_image_instance): cope with layouts as widgets.
12807
12808 2000-04-29  Andy Piper  <andy@xemacs.org>
12809
12810         * frame.c (delete_frame_internal): call
12811         free_frame_subwindow_instance_cache so that all subwindows are
12812         finalized before their parent.
12813         (mark_frame): remove subwindow_cachels.
12814         (Fmake_frame): remove subwindow_cachel manipulation.
12815         (allocate_frame_core): subwindow_instance_cache is a weak list.
12816         (delete_frame_internal): set subwindow_instance_cache to nil.
12817
12818         * glyphs-msw.c (mswindows_finalize_image_instance): make double
12819         finalization safe.
12820         (mswindows_finalize_image_instance): use the device
12821         not the domain as the domain may have died already.
12822
12823         * glyphs-x.c (x_finalize_image_instance): ditto.
12824         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
12825         HEIGHT.
12826
12827         * redisplay-output.c (redisplay_unmap_subwindows): update for
12828         subwindow instance cache as a weak list.
12829         (redisplay_unmap_subwindows_maybe): ditto.
12830         (redisplay_unmap_subwindows_except_us): ditto.
12831
12832         * glyphs.c (unmap_subwindow): error checking will check the domain
12833         so don't deal with it here. Don't use cachels anymore.
12834         (map_subwindow): ditto.
12835         (update_subwindow_cachel_data): remove old accessor names.
12836         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
12837         (Fresize_subwindow): don't update cachel.
12838         (mark_subwindow_cachels):
12839         (update_subwindow_cachel_data):
12840         (add_subwindow_cachel):
12841         (get_subwindow_cachel_index):
12842         (update_subwindow_cachel):
12843         (reset_subwindow_cachels):
12844         (mark_subwindow_cachels_as_not_updated): deleted.
12845         (cache_subwindow_instance_in_frame_maybe): new function. Add a
12846         subwindow instance to the frame cache.
12847         (find_matching_subwindow): update for subwindow instance cache as
12848         a weak list.
12849         (update_widget_instances): ditto.
12850         (image_instance_type_to_mask):inlined.
12851         (free_frame_subwindow_instance_cache): new function. finalize all
12852         subwindows that are instantiated.
12853
12854         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
12855         of cachel information.
12856         (IMAGE_INSTANCE_DISPLAY_X):
12857         (IMAGE_INSTANCE_DISPLAY_Y):
12858         (IMAGE_INSTANCE_DISPLAY_WIDTH):
12859         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
12860         (XIMAGE_INSTANCE_DISPLAY_X):
12861         (XIMAGE_INSTANCE_DISPLAY_Y):
12862         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
12863         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
12864         remove subwindow_cachel structure and function references.
12865         (image_instance_type_to_mask): inline from glyphs.c
12866
12867         * redisplay.c (redisplay_frame): remove subwindow_cachel
12868         references.
12869
12870         * frame.h (struct frame): remove subwindow_cachels.
12871         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
12872
12873         * frameslots.h: add subwindow_instance_cache.
12874
12875         * window.c (replace_window): check subwindow cache of replacement.
12876         (window_unmap_subwindows_cache_mapper):
12877         (window_unmap_subwindows): new functions. Unmap all subwindows
12878         cached on this window.
12879         (mark_window_as_deleted): unmap all subwindows.
12880
12881 2000-04-27  Andy Piper  <andy@xemacs.org>
12882
12883         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
12884
12885         * glyphs-widget.c (widget_layout): return something.
12886         (layout_layout): return something. Fail if not initialized.
12887         (layout_query_geometry): ditto.
12888         (image_instantiator_native_layout): new function. Initialized the
12889         native layout type.
12890         (widget_instantiate): don't do layout stuff here.
12891
12892         * glyphs.c (instantiate_image_instantiator): reorded calling or
12893         instantiate and post_instantiate with layout in between.
12894         (image_instance_layout): be more selective about deciding whether
12895         the layout has been done or not.
12896
12897         * glyphs.h (struct image_instantiator_methods): return a value
12898         from layout_method.
12899
12900 2000-04-26  Andy Piper  <andy@xemacs.org>
12901
12902         * glyphs.c (allocate_image_instance): make initial width and
12903         height unspecified. Set initialized to 0.
12904
12905         * syscommctrl.h new file. Encapsulates commctrl.h.
12906
12907         * syswindows.h new file. Encapsulates windows.h.
12908
12909         * ntplay.c: use new syswindows.h and syscommctrl.h header.
12910         * nt.c: ditto.
12911         * console-msw.h: ditto.
12912
12913         * redisplay-tty.c (tty_output_display_block): remove layout references.
12914
12915         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
12916         window handle rather than just the frame.
12917
12918         * glyphs.c (mark_image_instance): remove layout references.
12919         (print_image_instance): ditto.
12920         (image_instance_equal): ditto.
12921         (image_instance_hash): ditto.
12922         (decode_image_instance_type): ditto.
12923         (encode_image_instance_type): ditto.
12924         (image_instantiate): ditto.
12925         (allocate_glyph): ditto.
12926         (Fimage_instance_height): ditto.
12927         (Fimage_instance_width): ditto.
12928         (update_subwindow): ditto.
12929
12930         * redisplay-x.c (x_output_display_block): recode for layouts as
12931         widgets.
12932
12933         * redisplay-output.c (redisplay_output_layout): recode for layouts
12934         as widgets.
12935         (compare_runes): remove layout references.
12936
12937         * redisplay-msw.c (mswindows_output_display_block): recode for
12938         layouts as widgets.
12939
12940         * glyphs-widget.c (image_instantiator_layout): remove
12941         layout_possible_dest_types.
12942         (layout_possible_dest_types): deleted.
12943
12944         * glyphs.h (image_instance_type): remove layout references.
12945         (struct Lisp_Image_Instance): ditto. Add initialized flag.
12946         (IMAGE_INSTANCE_INITIALIZED): new accessor.
12947         (XIMAGE_INSTANCE_INITIALIZED): ditto.
12948
12949 2000-04-25  Andy Piper  <andy@xemacs.org>
12950
12951         * glyphs-widget.c (image_instantiator_buttons):
12952         (image_instantiator_edit_fields):
12953         (image_instantiator_combo_box):
12954         (image_instantiator_scrollbar):
12955         (image_instantiator_progress_guage):
12956         (image_instantiator_tree_view):
12957         (image_instantiator_tab_control):
12958         (image_instantiator_labels):
12959         (image_instantiator_layout): call default post_instantiate method.
12960         (widget_post_instantiate): new function. Simply lays out the
12961         widgets.
12962
12963         * glyphs.h (struct image_instantiator_methods): add
12964         post_instantiate method.
12965
12966         * glyphs.c (instantiate_image_instantiator): add post_instantiate
12967         method calls.
12968
12969 2000-04-23  Andy Piper  <andy@xemacs.org>
12970
12971         * glyphs.h (struct image_instantiator_methods): add
12972         decode_domain_method.
12973         (struct Lisp_Image_Instance): remove subwindow frame - it can be
12974         derived from the domain.
12975         (IMAGE_INSTANCE_FRAME): new accessor.
12976         (XIMAGE_INSTANCE_FRAME): ditto.
12977
12978         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
12979         instead of _SUBWINDOW_FRAME.
12980         (finalize_image_instance): ditto.
12981         (Fimage_instance_foreground): ditto.
12982         (Fimage_instance_background): ditto.
12983         (image_instantiate): ditto.
12984         (update_subwindow_cachel): ditto.
12985         (update_subwindow): ditto.
12986         (unmap_subwindow): ditto.
12987         (map_subwindow): ditto
12988         (subwindow_instantiate): ditto.
12989         * glyphs-msw.c (mswindows_update_widget): ditto.
12990         (mswindows_progress_gauge_instantiate): ditto.
12991         (mswindows_tab_control_update): ditto.
12992         * glyphs-x.c (x_update_widget): ditto.
12993         (x_widget_instantiate): ditto.
12994         (x_tab_control_instantiate): ditto.
12995         (x_tab_control_update): ditto.
12996         * event-msw.c (mswindows_wnd_proc): ditto
12997
12998         * glyphs-widget.c (image_instantiator_layout): use
12999         subwindow_decode_domain.
13000         (image_instantiator_buttons): ditto.
13001         (image_instantiator_edit_fields): ditto.
13002         (image_instantiator_combo_box): ditto.
13003         (image_instantiator_scrollbar): ditto.
13004         (image_instantiator_progress_guage): ditto.
13005         (image_instantiator_tree_view): ditto.
13006         (image_instantiator_tab_control): ditto.
13007         (image_instantiator_labels): ditto.
13008         (image_instantiator_layout): ditto.
13009
13010         * glyphs.c: add instance error checking to many functions.
13011         (instantiate_image_instantiator): decode device from cache_domain.
13012         (image_instantiate): partially rewrite by using
13013         decode_image_instantiator_domain to determine what domain the
13014         instance needs to be cached in.
13015         (decode_image_instantiator_domain): new function. Determine what
13016         domain the image needs to be cached in.
13017         (check_window_subwindow_cache): new error checking function.
13018         (check_instance_cache_mapper): ditto.
13019         (check_image_instance_structure): ditto.
13020         (subwindow_decode_domain): new function. Encodes a window as a
13021         subwindow's cache domain.
13022         (image_instantiator_format_create): use it for text and
13023         subwindows.
13024
13025 2000-04-21  Andy Piper  <andy@xemacs.org>
13026
13027         * glyphs.c (image_instance_device): new function.
13028         (image_instance_frame): new function.
13029         (image_instance_window): new function.
13030         (image_instance_live_p): new function.
13031
13032         * window.c (mark_window_as_deleted): reset the subwindow_instance_
13033         cache to nil.
13034
13035         * glyphs.h (struct Lisp_Image_Instance): device->domain.
13036         (IMAGE_INSTANCE_DOMAIN): new accessor.
13037         (XIMAGE_INSTANCE_DOMAIN): ditto.
13038
13039         * glyphs-x.c (x_finalize_image_instance): device->domain.
13040
13041         * glyphs-msw.c (init_image_instance_geometry): device->domain.
13042         (mswindows_finalize_image_instance): ditto.
13043
13044         * glyphs-eimage.c (jpeg_instantiate): device->domain.
13045         (gif_instantiate): ditto.
13046         (png_instantiate): ditto.
13047         (tiff_instantiate): ditto.
13048
13049         * glyphs.c (instantiate_image_instantiator): use domain rather
13050         than device.
13051         (mark_image_instance): device -> domain.
13052         (print_image_instance): ditto.
13053         (finalize_image_instance): ditto.
13054         (image_instance_equal): ditto.
13055         (allocate_image_instance): ditto.
13056         (Fcolorize_image_instance): ditto.
13057         (query_string_geometry): ditto.
13058         (image_instantiate): ditto
13059         (query_string_font): ditto.
13060         (image_instantiate): ditto.
13061         (update_subwindow): ditto.
13062         (unmap_subwindow): ditto.
13063         (map_subwindow): ditto.
13064         (subwindow_instantiate): ditto.
13065
13066         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
13067         (DOMAIN_FRAME): ditto.
13068         (DOMAIN_WINDOW): ditto.
13069         (DOMAIN_LIVE_P): ditto.
13070         (XDOMAIN_DEVICE): ditto.
13071         (XDOMAIN_FRAME): ditto.
13072         (XDOMAIN_WINDOW): ditto.
13073
13074         * specifier.c (Fvalid_specifier_domain_p): add image instances as
13075         a valid specifier domain.
13076
13077 2000-04-19  Andy Piper  <andy@xemacs.org>
13078
13079         * glyphs-widget.c (syms_of_glyphs_widget): remove
13080         widget-callback-current-channel.
13081         (vars_of_glyphs_widget): ditto.
13082         * glyphs.h: ditto
13083
13084         * gui.c (get_gui_callback): revert to previous behaviour.
13085
13086 2000-04-18  Andy Piper  <andy@xemacs.org>
13087
13088         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
13089         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
13090         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
13091
13092         * glyphs.c (image_instance_equal): add margin_width.
13093         (image_instance_hash): ditto.
13094
13095         * glyphs-widget.c (widget_instantiate): deal with margin-width.
13096         (layout_query_geometry): ditto.
13097         (layout_layout): ditto.
13098         (syms_of_glyphs_widget): add margin-width.
13099         (image_instantiator_layout): allow margin-width.
13100
13101         * glyphs.c (update_widget_instances): make a normal function.
13102         (syms_of_glyphs): remove Qupdate_widget_instances.
13103         * glyphs.h: ditto.
13104
13105         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
13106         so that we don't corrupt ideas about the last event or
13107         command. Remove widget-callback-current-channel fiddling.
13108         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
13109
13110 2000-05-01  Martin Buchholz <martin@xemacs.org>
13111
13112         * XEmacs 21.2.33 is released.
13113
13114 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
13115
13116         * make-src-depend: Allow dots in header file name.
13117
13118 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
13119
13120         * mule-charset.h (struct charset_lookup): Add
13121         next_allocated_1_byte_leading_byte and
13122         next_allocated_2_byte_leading_byte.
13123         * mule-charset.c: Move above two variables so that those values
13124         will be dumped.
13125
13126 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
13127
13128         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
13129         when string length is zero.
13130         (find_charsets_in_emchar_string): Ditto.
13131
13132 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
13133
13134         * lisp.h: extern Qdialog and Qmenubar.
13135
13136         * gui-x.c: added events.h.
13137                 also fixed typo which made the file uncompilable.
13138
13139         * general.c: Added Qmenubar and Qdialog
13140
13141 2000-04-28  Ben Wing  <ben@xemacs.org>
13142
13143         * frame-msw.c (mswindows_init_frame_1):
13144         * frame-msw.c (mswindows_mark_frame):
13145         * event-msw.c (mswindows_enqueue_dispatch_event):
13146         * console-msw.h:
13147         * console-msw.h (struct mswindows_frame):
13148         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
13149         there are now three hash tables for callbacks.
13150         mswindows_enqueue_dispatch_event is no longer static.
13151
13152         * dialog-x.c (maybe_run_dbox_text_callback):
13153         * dialog-x.c (dbox_descriptor_to_widget_value):
13154         switch to new cons3 form for callbacks.
13155
13156         * glyphs-msw.c (mswindows_register_gui_item):
13157         * glyphs-msw.c (mswindows_widget_instantiate):
13158         * glyphs-msw.c (add_tree_item):
13159         * glyphs-msw.c (add_tab_item):
13160         new image instance parameter, so it can be passed to callback-ex.
13161         respect :callback-ex as well as :callback.
13162
13163         * glyphs-widget.c (VALID_GUI_KEYWORDS):
13164         add :callback-ex.
13165
13166         * glyphs.c (print_image_instance):
13167         prettify, e.g. now prints widget type.
13168
13169         * gui-x.h:
13170         certain funs have new image instance parameter.
13171
13172         * gui.c:
13173         * gui.c (get_gui_callback):
13174         * gui.c (gui_item_add_keyval_pair):
13175         * gui.c (gui_item_init):
13176         * gui.c (gui_add_item_keywords_to_plist):
13177         * gui.c (mark_gui_item):
13178         * gui.c (gui_item_hash):
13179         * gui.c (gui_item_equal):
13180         * gui.c (copy_gui_item):
13181         * gui.c (syms_of_gui):
13182         recognize callback-ex in a number of places.
13183         also, fix the annoying "can't get out of yes-no dialog" bug.
13184
13185         * gui.h:
13186         * gui.h (struct Lisp_Gui_Item):
13187         recognize callback-ex in a number of places.
13188
13189         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
13190         new parameter in button_item_to_widget_value.
13191
13192         * glyphs-x.c (x_update_widget):
13193         * glyphs-x.c (x_button_instantiate):
13194         * glyphs-x.c (x_button_update):
13195         * glyphs-x.c (x_progress_gauge_instantiate):
13196         * glyphs-x.c (x_edit_field_instantiate):
13197         * glyphs-x.c (x_combo_box_instantiate):
13198         * glyphs-x.c (x_tab_control_instantiate):
13199         * glyphs-x.c (x_label_instantiate):
13200         new image instance parameter in various places.
13201
13202         * event-Xt.c:
13203         * event-Xt.c (enqueue_Xt_dispatch_event):
13204         this fun gets exported.
13205
13206         * gui-msw.c:
13207         * gui-msw.c (mswindows_handle_gui_wm_command):
13208         handle both :callback and :callback-ex, and generate our own
13209         event because it's one of the callback-ex arguments.
13210
13211         * gui-x.c:
13212         * gui-x.c (popup_selection_callback):
13213         handle both :callback and :callback-ex, and generate our own
13214         event because it's one of the callback-ex arguments.
13215         * gui-x.c (button_item_to_widget_value):
13216         * gui-x.c (gui_items_to_widget_values_1):
13217         * gui-x.c (gui_item_children_to_widget_values):
13218         * gui-x.c (gui_items_to_widget_values):
13219         new image instance parameter in various places.
13220
13221         * fns.c (Freplace_list):
13222         fix small typo in doc string.
13223
13224         * lisp.h:
13225         declare enqueue_Xt_dispatch_event.
13226
13227 2000-04-28  Ben Wing  <ben@xemacs.org>
13228
13229         * buffer.c:
13230         * buffer.c (Frecord_buffer):
13231         * buffer.c (syms_of_buffer):
13232         delete record-buffer-hook.
13233
13234         * fns.c:
13235         * fns.c (Freplace_list):
13236         * fns.c (syms_of_fns):
13237         new primitive replace-list.
13238
13239         * frameslots.h:
13240         slot for old buffer-alist.
13241
13242         * lisp.h:
13243         exfun replace-list.
13244
13245         * redisplay.c:
13246         * redisplay.c (redisplay_frame):
13247         * redisplay.c (syms_of_redisplay):
13248         * redisplay.c (vars_of_redisplay):
13249         new hook buffer-list-changed-hook.
13250         call it.
13251
13252 2000-04-27  Ben Wing  <ben@xemacs.org>
13253
13254         * extents.h: extern in_modeline_generation.
13255
13256         * redisplay.c (generate_formatted_string_db): set
13257         in_modeline_generation.
13258
13259         * extents.c (extent_changed_for_redisplay): don't mark redisplay
13260         flags if in modeline generation.  otherwise frame-modified-tick
13261         is ticked far too often.
13262         Declare in_modeline_generation.
13263
13264 2000-04-26  Ben Wing  <ben@xemacs.org>
13265
13266         * emacs.c (vars_of_emacs): document quick-build "error-checking"
13267         option.
13268         (vars_of_emacs): add quick-build as an error-checking option.
13269         A bit kludgy, but there doesn't seem much point in creating
13270         a real var for this.
13271
13272         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
13273
13274 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13275
13276         * redisplay.h (struct display_line): Add a new variable,
13277         line_continuation.
13278
13279         * redisplay.c (create_text_block): Set dl->line_continuation if
13280         the line continues.
13281         (create_string_text_block): Ditto.
13282         (regenerate_window_incrementally): Use line_continuation instead
13283         of searching continuation glyph.
13284         (add_margin_runes): Call add_glyph_rune.
13285         (add_glyph_rune): Handle margin glyph.
13286
13287 2000-04-20  Martin Buchholz  <martin@xemacs.org>
13288
13289         * filelock.c (fill_in_lock_file_name):
13290         ANSIfy.
13291         Check for IS_ANY_SEP instead of '/'.
13292         (lock_file_1):
13293         Avoid generating gratuitous garbage.  Call user_login_name() directly.
13294         Never check errno without first seeing that system call failed.
13295         (unlock_file): Add GCPRO.
13296         (Flock_buffer): Fix docstring.
13297         (Ffile_locked_p): Fix docstring.  Add GCPRO.
13298
13299 2000-04-19  Martin Buchholz  <martin@xemacs.org>
13300
13301         * sysdep.c (get_pty_max_bytes):
13302         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
13303         strings longer than 252 bytes.
13304
13305         * md5.c: Unconditionally include ANSI header <limits.h>
13306
13307         * glyphs-x.c (convert_EImage_to_XImage):
13308         * lisp-union.h (union Lisp_Object):
13309         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
13310
13311 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
13312
13313         * filelock.c (current_lock_owner): Remove unused variable o, p.
13314
13315 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
13316
13317         * callint.c: Remove multiply defined symbol Qlet
13318         (syms_of_callint): ditto.
13319
13320 2000-04-14  Andy Piper  <andy@xemacs.org>
13321
13322         * general.c (syms_of_general): add last-command, this-command, let
13323         and funcall.
13324
13325         * lisp.h: declare various symbols.
13326
13327         * glyphs.h: declare Qwidget_callback_current_channel;
13328
13329         * glyphs-widget.c (syms_of_glyphs_widget): add
13330         Qgui_callback_current_channel.
13331         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
13332
13333         * gui-msw.c (mswindows_handle_gui_wm_command): bind
13334         widget-callback-current-channel when invoking the interactive
13335         arg. Also bind last-command and next-command when invoking the
13336         widget updates.
13337         * gui-x.c (popup_selection_callback): ditto.
13338
13339         * gui.c (get_gui_callback): massage args so that we are always
13340         calling eval. This allows us to add our own variable bindings
13341         outside.
13342
13343         * glyphs-x.c (x_button_instantiate): use
13344         gui_items_to_widget_values since this is GC safe.
13345         (x_progress_gauge_instantiate): ditto.
13346         (x_edit_field_instantiate): ditto.
13347         (x_label_instantiate): ditto.
13348
13349         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
13350         (emacs_Xt_event_widget_focus_out): new function
13351         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
13352         focus.
13353         (emacs_Xt_event_add_widget_actions): new function. add focus
13354         functions as actions.
13355         (init_event_Xt_late): use it.
13356
13357 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
13358
13359         * event-stream.c (Fdispatch_event): Doc fix.
13360
13361 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
13362
13363         * postgresql.c: Remove all references to PQsetenv*.
13364
13365         * postgresql.h: Remove references to PGsetenvHandler object.
13366         * lrecord.h (lrecord_type): Ditto.
13367
13368 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13369
13370         * glyphs-msw.h (struct mswindows_image_instance_data): Added
13371         real_heigh and real_width members, and accessor macros for these.
13372
13373         * glyphs-msw.c (init_image_instance_geometry): New function.
13374         (init_image_instance_from_dibitmap): Use it.
13375         (mswindows_resource_instantiate): Use it.
13376         (init_image_instance_from_xbm_inline): Use it.
13377         (mswindows_initialize_image_instance_mask): Use real bitmap
13378         geometry.
13379         (mswindows_create_resized_bitmap): Ditto.
13380         (mswindows_create_resized_mask): Ditto.
13381
13382         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
13383         and bitmap to their surface size.
13384
13385 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
13386
13387         * process-unix.c (unix_send_process): Guard against process MIA
13388         after Faccept_process_output.
13389
13390 2000-04-11  Ben Wing  <ben@xemacs.org>
13391
13392         * eval.c (unbind_to_hairy): fix brokenness introduced by
13393         nanosecond speed improvements.
13394
13395 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
13396
13397         * sunplay.c (init_device): To play sounds correctly, the device
13398         apparently needs to be initialized at least once by XEmacs.  Make
13399         it so.
13400
13401 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13402
13403         * redisplay.c (add_margin_runes): Add text image glyph
13404           handling.
13405
13406 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
13407
13408         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
13409         gcc is newer than 2.5.
13410
13411 2000-04-06  Colin Rafferty  <colin@xemacs.org>
13412
13413         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
13414
13415         * fns.c (size_bit_vector):
13416         * alloc.c (size_vector):
13417         (make_vector_internal):
13418         (make_bit_vector_internal):
13419         (sweep_bit_vectors_1):
13420         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
13421
13422 2000-04-06  Andy Piper  <andy@xemacs.org>
13423
13424         * gmalloc.c (malloc): undo previous change.
13425         (malloc): ditto.
13426         (free): ditto.
13427         (realloc): ditto.
13428
13429 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
13430
13431         * line-number.c (buffer_line_number): Revert to former version.
13432
13433 2000-04-06  Andy Piper  <andy@xemacs.org>
13434
13435         * gmalloc.c (malloc): add error checking.
13436         (malloc): ditto.
13437         (free): ditto.
13438         (realloc): ditto.
13439
13440         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
13441         button_item_to_widget_value arg.
13442
13443         * glyphs-x.c (x_button_instantiate): add extra
13444         button_item_to_widget_value arg.
13445         (x_progress_gauge_instantiate): ditto.
13446         (x_edit_field_instantiate): ditto.
13447         (x_label_instantiate): ditto.
13448
13449         * gui-x.c (gui_items_to_widget_values_1): add extra
13450         button_item_to_widget_value arg.
13451         (button_item_to_widget_value): add extra menu_item_p arg.
13452
13453         * gui-x.h: change signature of button_item_to_widget_value.
13454
13455         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
13456         button_item_to_widget_value arg.
13457
13458 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
13459
13460         * buffer.h (struct buffer): auto_save_modified should be long.
13461
13462 2000-04-05  Andy Piper  <andy@xemacs.org>
13463
13464         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
13465         type.
13466         (button_query_geometry): give a little more room so that athena
13467         buttons fit.
13468
13469 2000-04-05  Andy Piper  <andy@xemacs.org>
13470
13471         * faces.c (complex_vars_of_faces): The widget face should inherit
13472         the font of the gui-element face.
13473
13474 2000-04-04  Andy Piper  <andy@xemacs.org>
13475
13476         * glyphs-x.c (x_button_update): new function. unconditionally
13477         update a button's state when the instance is dirty.
13478         (image_instantiator_format_create_glyphs_x): add x_button_update.
13479         (x_widget_instantiate): remove old resize cruft.
13480
13481 2000-04-02  Andy Piper  <andy@xemacs.org>
13482
13483         * frame.c (change_frame_size_1): The introduction of gutters means
13484         that we need to allow 0 as a potential frame dimension.
13485
13486 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13487
13488         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
13489         image glyph if allow_cursor.
13490         (add_hscroll_rune): Don't allow cursor to border glyph.
13491         (create_text_block): Ditto.
13492
13493         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
13494         text not in buffer.
13495         (redisplay_output_layout): Call ensure_face_cachel_complete for
13496         text image glyph.
13497
13498
13499 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
13500
13501         * redisplay.c (add_glyph_rune): Adding text image as text runes.
13502
13503         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
13504         not in buffer
13505
13506         * redisplay-tty.c (tty_output_display_block): Delete the routine
13507         for text image glyph
13508         * redisplay-x.c (x_output_display_block): ditto
13509         * redisplay-msw.c (mswindows_output_display_block): ditto
13510
13511 2000-02-02  Mike Alexander  <mta@arbortext.com>
13512
13513         Note: Some of these were committed by accident as part of other
13514         patches.
13515
13516         * regex.c (regex_compile): Avoid compiler warnings.
13517
13518         * ntproc.c (sys_spawnve): Avoid compiler warnings.
13519
13520         * nt.h: Declare term_ntproc correctly.
13521
13522         * nt.c: Remove incorrect declaration of get_home_directory which
13523         is declared correctly in lisp.h.
13524
13525         * keymap.c (get_keyelt): Avoid compiler warnings.
13526         (raw_lookup_key_mapper): Avoid compiler warnings.
13527
13528         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
13529
13530         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
13531
13532         * filemode.c (mode_string): Avoid compiler warnings.
13533
13534         * file-coding.c (Fcoding_system_aliasee): Add return statement to
13535         avoid warning.
13536
13537         * events-mod.h: Undef some things that winuser.h defines differently.
13538
13539         * data.c (Faset): Avoid compiler warnings.
13540
13541         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
13542
13543 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13544
13545         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
13546         Fall through to simple beep on error.
13547         Replace "extern" by real header file.
13548
13549         * linuxplay.c: Use nativesound.h
13550         (play_sound_data): Return error code. Be less verbose on error.
13551
13552         * sunplay.c: Use nativesound.h
13553         (play_sound_data): Return error code. Be less verbose on error.
13554
13555         * ntplay.c: Use nativesound.h
13556         (play_sound_data): Return fake error code
13557
13558         * sgiplay.c: Use nativesound.h
13559         (play_sound_data): Return error code
13560
13561         * hpplay.c: Use nativesound.h, partially implement
13562         new error code. Break compilation until finished.
13563         (play_sound_data): error code.
13564
13565         * nativesound.h (play_sound_file):
13566           (play_sound_data): Prototype in new header.
13567
13568 2000-03-31  Andy Piper  <andy@xemacs.org>
13569
13570         * glyphs-widget.c: (button_query_geometry): new function. Adjust
13571         for toggle and radio buttons.
13572         (image_instantiator_buttons): use it.
13573
13574 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
13575
13576         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
13577         (x_update_horizontal_scrollbar_callback): Return if no mirror was
13578         found. Scrollbar event probably belonged to some old config.
13579
13580 2000-03-31  Andy Piper  <andy@xemacs.org>
13581
13582         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
13583         than 1.
13584         (initialize_widget_image_instance): default layout to
13585         LAYOUT_HORIZONTAL rather than 0.
13586         (widget_instantiate): reverse the item list at the end rather than
13587         every iteration.
13588         (layout_layout): re-code for the border text at the front of the
13589         item list rather than at the end.
13590         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
13591         provided by the user.
13592         (widget_query_geometry): comment.
13593
13594 2000-03-30  Andy Piper  <andy@xemacs.org>
13595
13596         * glyphs-widget.c (image_instantiator_layout): allow standard
13597         widget keywords in layouts.
13598
13599         * gutter.c (output_gutter): cope with nil gutter contents.
13600
13601         * frame.c (Fset_frame_properties): add gutter docs.
13602
13603 2000-03-29  Andy Piper  <andy@xemacs.org>
13604
13605         * toolbar-msw.c (TBSTYLE_FLAT): add.
13606         (mswindows_output_toolbar): minor fiddling.
13607
13608 2000-03-29  Andy Piper  <andy@xemacs.org>
13609
13610         * gutter.c (output_gutter): force gutter size recalculation if
13611         what we are trying to display won't fit.
13612         (update_gutter_geometry): new function. A per-gutter version of
13613         update_frame_gutter_geometry.
13614         (update_frame_gutter_geometry): use it.
13615         (redraw_exposed_gutter): add extra debugging output.
13616
13617 2000-03-28  Mike Alexander  <mta@arbortext.com>
13618
13619         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
13620         (pdump_file_unmap): Implement it on Windows
13621         (pdump_file_get): Save alocated handles for pdump_file_unmap
13622
13623 2000-03-28  Andy Piper  <andy@xemacs.org>
13624
13625         * gui.c (get_gui_callback): treat Quit specially.
13626
13627 2000-03-27  Andy Piper  <andy@xemacs.org>
13628
13629         * glyphs.c (image_instantiate): be careful to check in the same
13630         way we assigned.
13631
13632 2000-03-27  Didier Verna  <didier@xemacs.org>
13633
13634         * config.h.in: define the proper SMART_INCLUDE macro.
13635         handle renaming of `foo_h_path' to `foo_h_file'.
13636
13637         * database.c: ditto.
13638
13639         * emacs.c: ditto.
13640
13641         * linuxplay.c: ditto.
13642
13643         * terminfo.c: ditto.
13644
13645         * tooltalk.h: ditto.
13646
13647 2000-03-27  Andy Piper  <andy@xemacs.org>
13648
13649         * glyphs-msw.c (mswindows_update_widget): make sure the widget
13650         gets updated whenever the face might have changed.
13651
13652 2000-03-26  Mike Alexander  <mta@arbortext.com>
13653
13654         * dumper.c (pdump_resource_free): Fix the comment.
13655
13656 2000-03-21  Olivier Galibert  <galibert@pobox.com>
13657
13658         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
13659
13660 2000-03-22  Mike Alexander  <mta@arbortext.com>
13661
13662         * dumper.c: Include Windows headers on Windows
13663         (pdump_resource_free): Add a body to the function
13664         (pdump_load): exe_name -> exe_path and add some comments.
13665
13666 2000-03-25  Mike Alexander  <mta@arbortext.com>
13667
13668         * gui.c (copy_gui_item_tree): Return a value in all cases
13669
13670 2000-03-21  Didier Verna  <didier@xemacs.org>
13671
13672         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
13673         lwlib/config.h.in.
13674         (SMART_INCLUDE): new macro.
13675         (POSTGRES_INCLUDE): new macro to include postgresql headers from
13676         the proper location.
13677
13678         * postgresql.c: use it.
13679
13680         * inline.c: ditto.
13681
13682 2000-03-24  Andy Piper  <andy@xemacs.org>
13683
13684         * gutter.c (redraw_exposed_gutters): must be "in display" when we
13685         do this.
13686
13687 2000-03-24  Andy Piper  <andy@xemacs.org>
13688
13689         * redisplay-output.c (compare_runes): use image_instance_changed
13690         to detect changes. Do not depend on glyphs_changed, only depend on
13691         dirtiness.
13692          (redisplay_output_layout): add debug messages.
13693         (compare_runes): ditto.
13694
13695         * glyphs.h: declare new functions.
13696         (struct Lisp_Image_Instance): remove percent and associated
13697         accessors.
13698
13699         * gui.h: declare new copying functions.
13700
13701         * gui.c (copy_gui_item_tree): new function.
13702         (copy_gui_item): new function.
13703         (gui_item_id_hash): revert to standard hash.
13704         (gui_item_hash): ditto.
13705         (gui_item_hash_internal): deleted.
13706         (mark_gui_item): mark value.
13707         (gui_item_add_keyval_pair): add value.
13708         (gui_item_init): ditto.
13709         (gui_add_item_keywords_to_plist): ditto.
13710         (gui_item_equal): ditto.
13711         (syms_of_gui): add Q_value.
13712
13713         * glyphs-x.c (x_progress_gauge_update): use pending items and
13714         value for setting the state.
13715         (x_update_widget): don't set items from pending here.
13716
13717         * glyphs-widget.c (update_widget): update items here.
13718         (progress_gauge_set_property): use items for storing value. Put
13719         new value in pending items.
13720
13721         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
13722         items for new value. Convert percent -> value.
13723         (mswindows_tab_control_update): don't update items here.
13724
13725         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
13726         (update_subwindow): ditto.
13727         (image_instance_changed): new function. Compare hash values and
13728         past and present widget items.
13729         (image_instantiate): We more careful about where we instantiate
13730         things.
13731         (image_instantiate): add error checking.
13732
13733         * gutter.c (syms_of_gutter): use -hook.
13734
13735 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
13736
13737         * console-tty.c (Fset_console_tty_input_coding_system): Use
13738         Qkeyboard.
13739         (Fset_console_tty_output_coding_system): Use Qterminal.
13740         (tty_init_console): Use Qkeyboard and Qterminal.
13741
13742 2000-03-21  Ben Wing  <ben@xemacs.org>
13743
13744         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
13745         From Mike Alexander <mta@arbortext.com>.
13746
13747 2000-03-21  Ben Wing  <ben@xemacs.org>
13748
13749         * event-msw.c (mswindows_need_event): Horrible kludge to fix
13750         process brokenness.  Proper implementation to come.
13751         * callproc.c:
13752         Rename call-process-internal to old-call-process-internal.
13753         New impl. in process.el.
13754
13755 2000-03-21  Martin Buchholz  <martin@xemacs.org>
13756
13757         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
13758
13759 2000-03-20  Andy Piper  <andy@xemacs.org>
13760
13761         * glyphs.c (full_list_hash): make hashes of the same elements in
13762         different orders return different values.
13763
13764 2000-03-20  Martin Buchholz <martin@xemacs.org>
13765
13766         * XEmacs 21.2.32 is released.
13767
13768 2000-03-20  Martin Buchholz  <martin@xemacs.org>
13769
13770         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
13771         (DFC_MALLOC_USE_CONVERTED_DATA):
13772         Add aliasing-safe casts to allow use with char* or unsigned char*
13773         lvalues.
13774
13775         * eldap.c (Fldap_open):
13776         (Fldap_search_basic):
13777         (Fldap_add):
13778         (Fldap_modify):
13779         Make C++-compilable.
13780         Make sure GCPRO'ed variables are initialized.
13781         Use temp variables to avoid repeated calls to Flength.
13782
13783 2000-03-16  Martin Buchholz  <martin@xemacs.org>
13784
13785         * sysfile.h:
13786         Make sure PATH_MAX is always defined.
13787         Include limits.h for PATH_MAX.
13788         Deprecate use of MAXPATHLEN.
13789
13790 2000-03-10  Martin Buchholz  <martin@xemacs.org>
13791
13792         * emacs.c: Add reinit_vars_of_fileio.
13793         * symsinit.h: Add reinit_vars_of_fileio.
13794         * fileio.c (reinit_vars_of_fileio): New.
13795         * fileio.c (Fmake_temp_name):
13796         Initialize temp_name random number from microseconds to make
13797         collisions even less likely.  Initialize always at process startup
13798         time.  (make-temp-name) used to return the same file name twice in
13799         a row when PDUMP.
13800         Random stylistic fiddling.
13801         Comment fixes.
13802
13803 2000-03-20  Andy Piper  <andy@xemacs.org>
13804
13805         * glyphs.c (image_instantiate): allow text glyphs to be
13806         instantiated in the minibuffer window.
13807
13808 2000-03-19  Andy Piper  <andy@xemacs.org>
13809
13810         * glyphs.c (image_instance_hash): be careful about which items we
13811         hash on.
13812
13813         * glyphs-widget.c (tab_control_set_property): record into pending
13814         items rather than the actual items.
13815
13816         * glyphs-x.c (x_update_widget): use pending items to update with.
13817
13818         * glyphs-msw.c (mswindows_tab_control_update): use pending items
13819         to update with.
13820
13821         * glyphs.c (mark_image_instance): mark pending items.
13822
13823         * window.c (Fset_window_configuration): record the buffer.
13824         (Fselect_window): totally revert previous change which breaks many
13825         things.
13826
13827 2000-03-18  Andy Piper  <andy@xemacs.org>
13828
13829         * glyphs-msw.c (mswindows_tab_control_update): force selected
13830         item.
13831
13832         * glyphs.c (image_instantiate): don't allow the minibuffer as a
13833         window domain cache, otherwise we get inconsistencies at
13834         startup. There is something fishy at startup which can lead to the
13835         minibuffer being the selected window when the gutter content is
13836         instantiated.
13837
13838         * gui.c (parse_gui_item_tree_list): add probably unnecessary
13839         gcpros.
13840         (parse_gui_item_tree_children): ditto.
13841         (parse_gui_item_tree_item): ditto.
13842
13843         * glyphs.c (Fupdate_widget_instances): return something.
13844
13845 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
13846
13847         * window.c (Fselect_window): Undo 2000-03-17 change.
13848
13849 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
13850
13851         * postgresql.c (Fpq_setenv): Remove this turkey when linking
13852         against v7.0 libraries.  Insta-coredump city until the postgres
13853         folks fix it.
13854
13855 2000-03-17  Andy Piper  <andy@xemacs.org>
13856
13857         * faces.c (complex_vars_of_faces): don't give the widget face an
13858         inherited background pixmap.
13859
13860         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
13861         selected item.
13862
13863         * event-stream.c (Fdispatch_non_command_events): return something.
13864
13865         * gutter.c (output_gutter): use widget face.
13866         (clear_gutter): ditto.
13867
13868         * NEWS: adjust again.
13869
13870         * window.c (Fselect_window): make sure this runs to completion to
13871         avoid oddities with Fset_window_configuration.
13872         (Fcurrent_window_configuration): in general do not save the
13873         minibuffer as the selected window.
13874
13875         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
13876
13877 2000-03-16  Olivier Galibert  <galibert@pobox.com>
13878
13879         * emacs.c (Frunning_temacs_p): Revert previous patch.
13880         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
13881
13882 2000-03-16  Andy Piper  <andy@xemacs.org>
13883
13884         * glyphs-x.c (x_tab_control_update): if no widget values then
13885         return.
13886
13887         * NEWS: update for new features.
13888
13889         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
13890         synthetic event to the native system.
13891         (reinit_vars_of_event_Xt): set force_event_pending to
13892         emacs_Xt_force_event_pending.
13893
13894         * events.h (struct event_stream): add force_event_pending.
13895
13896         * specifier.c (recompute_one_cached_specifier_in_window): add
13897         comment.
13898
13899         * redisplay.c (redisplay_frame): don't call
13900         update_frame_subwindows. Reset subwindow cachels when
13901         subwindows_changed, removing this was an optimization too far.
13902
13903         * redisplay-output.c (compare_runes): reorganize so that we catch
13904         glyph changes when we want them. Set optimize_output when this
13905         would help layouts.
13906         (redisplay_output_layout): remove frame_really_changed, use
13907         optimize_output instead.
13908
13909         * redisplay-msw.c (mswindows_output_display_block): reset
13910         optimize_output after outputting a glyph.
13911         * redisplay-x.c (x_output_display_block): ditto.
13912         * redisplay-tty.c (tty_output_display_block): ditto.
13913
13914         * gutter.c: (specifier_vars_of_gutter): use new spec changed
13915         functions.
13916         (gutter_specs_changed): do specific gutter positions.
13917         (top_gutter_specs_changed): new function. Only update the
13918         specified gutter specs.
13919         (bottom_gutter_specs_changed): ditto.
13920         (left_gutter_specs_changed): ditto.
13921         (right_gutter_specs_changed): ditto.
13922
13923         * gui.c (gui_item_hash_internal): new function, does a real hash.
13924         (gui_item_id_hash): use it.
13925         (gui_item_hash): hash the eval'ed gui_item.
13926
13927         * gui-x.c (popup_selection_callback): send an eval event to call
13928         Fupdate_widget_instances.
13929
13930         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
13931         to call Fupdate_widget_instances.
13932
13933         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
13934         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
13935
13936         * glyphs.c: (update_frame_subwindows): deleted.
13937         (Fupdate_widget_instances): new function for updating the dirty
13938         state of widgets that might have changed.
13939         (syms_of_glyphs): add Qupdate_widget_instances.
13940         (full_list_hash): hash a list completely.
13941         (image_instance_hash): use it for items and properties.
13942
13943         * frame-msw.c (mswindows_size_frame_internal): remove unused
13944         variable.
13945
13946         * faces.h (struct face_cachel): fix comment.
13947
13948         * event-stream.c (Fdispatch_non_command_events): new
13949         function. Process non-command events, forcing an event cycle
13950         beforehand.
13951         (syms_of_event_stream): declare.
13952         (event_stream_force_event_pending): new function. Force an event
13953         on the native event queue so that an event cycle will occur next
13954         time we check.
13955
13956         * event-msw.c:
13957         (struct ntpipe_shove_stream):
13958         (mswindows_enqueue_dispatch_event):
13959         (mswindows_dequeue_dispatch_event):
13960         (mswindows_cancel_dispatch_event):
13961         (mswindows_pump_outstanding_events):
13962         (mswindows_drain_windows_queue):
13963         (mswindows_handle_paint):
13964         (mswindows_wnd_proc):
13965         (mswindows_key_to_emacs_keysym):
13966         (get_process_input_waitable):
13967         (emacs_mswindows_delete_stream_pair): re-indent file.
13968         (mswindows_need_event): do not process further fds if the windows
13969         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
13970         fixes the 100% cpu problem.
13971         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
13972
13973 2000-03-15  Olivier Galibert  <galibert@pobox.com>
13974
13975         * alloc.h: New.
13976         * dumper.h: New.
13977         * dumper.c: New.
13978
13979         * emacs.c: Moved dump file searching to dumper.c.
13980         (Frunning_temacs_p): Fixed.
13981
13982         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
13983         last_lrecord_type_index_assigned.
13984
13985 2000-02-20  Olivier Galibert  <galibert@pobox.com>
13986
13987         * symsinit.h: Added reinit parameter to init_console_stream
13988         declaration.
13989
13990         * lisp.h: Added file parameter to pdump_load declaration.
13991
13992         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
13993         support.  Added dump file searching.
13994
13995         * config.h.in: Added EMACS_PROGNAME.
13996
13997         * console-stream.c (init_console_stream): Fix reinitialisation
13998         when running from temacs.
13999
14000         * alloc.c (pdump): Add id support.
14001         (pdump_load): Add file parameter and signature/id support.
14002
14003         * Makefile.in.in: Add full pdump support.
14004
14005 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
14006
14007         * postgresql.c: Update documentation to reflect latest code
14008         status.
14009         (print_result): Show tuple counts in printed representation when
14010         appropriate.
14011         (Fpq_put_nbytes): MULE-ize.
14012         (Fpq_get_line_async): Ditto.
14013
14014 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14015
14016         * postgresql.c (Fpq_lo_import): Fix return value.
14017         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
14018
14019 2000-03-13  Ben Wing  <ben@xemacs.org>
14020
14021         * alloc.c (pdump_load):
14022         Fix compile warning under mswin.
14023
14024 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
14025
14026         * postgresql.c: Mule-ization, bug fixes.
14027         Use PG_CODING to encapsulate coding system name changes.
14028         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
14029         (pg-coding-system): Create.
14030
14031         (Fpq_conn_defaults): Mule-ize.
14032         (Fpq_connectdb): Mule-ize & bug fix.
14033         (Fpq_connect_start): Mule-ize.
14034         (Fpq_set_client_encoding): Mule-ize.
14035         (Fpq_finish): Document `DEAD' connection status.
14036         (Fpq_clear): Ditto.
14037         (Fpq_pgconn): Mule-ize.
14038         (Fpq_exec): Mule-ize & bug fix.
14039         (Fpq_send_query): Ditto.
14040         (Fpq_get_result): Ditto.
14041         (Fpq_res_status): Mule-ize.
14042         (Fpq_result_error_message): Mule-ize.
14043         (Fpq_ntuples): fix comments.
14044         (Fpq_fname): Mule-ize.
14045         (Fpq_fnumber): Mule-ize.
14046         (Fpq_ftype): fix comments.
14047         (Fpq_get_value): Mule-ize.
14048         (Fpq_cmd_status): Ditto.
14049         (Fpq_cmd_tuples): Ditto.
14050         (Fpq_oid_value): Ditto.
14051         (Fpq_notifies): Ditto.
14052         (Fpq_lo_import): Ditto.
14053         (Fpq_lo_export): Ditto.
14054         (Fpq_get_line): Ditto.
14055         (Fpq_put_line): Mule-ize and bug fix.
14056         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
14057
14058 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14059
14060         * postgresql.c (vars_of_postgresql): Mule-ize.
14061         (Fpq_conn_defaults): Ditto.
14062
14063 2000-03-12  Ben Wing  <ben@xemacs.org>
14064
14065         * alloc.c (Fmake_byte_code):
14066         * alloc.c (debug_string_purity_print):
14067         * alloc.c (pdump_backtrace):
14068         * alloc.c (pdump_get_indirect_count):
14069         * alloc.c (pdump_register_sub):
14070         * alloc.c (pdump_register_object):
14071         * alloc.c (pdump_register_struct):
14072         * alloc.c (pdump_dump_data):
14073         * alloc.c (pdump_reloc_one):
14074         Minor cleanups.
14075
14076         * console-msw.c:
14077         * console-msw.c (GetConsoleHwnd):
14078         * console-msw.c (msw_hide_console):
14079         * console-msw.c (msw_show_console):
14080         * console-msw.c (msw_ensure_console_buffered):
14081         * console-msw.c (msw_output_console_string):
14082         * console-msw.c (console_type_create_mswindows):
14083
14084         a) Added functions to manipulate the console window for use with
14085         shell support.
14086
14087         b) Added support for writing text to the console, which is now
14088         used under Windows when xemacs is not being run non-interactively,
14089         to write text that would otherwise be destined for stdout because
14090         under these circumstances, text written to stdout tends to
14091         disappear and not be seen.
14092
14093         * console-msw.h:
14094         * event-Xt.c:
14095         * event-Xt.c (x_event_to_emacs_event):
14096         * event-Xt.c (describe_event_window):
14097         * events-mod.h (XEMACS_MOD_CONTROL):
14098         * events.c:
14099         * events.c (Fmake_event):
14100         * events.c (character_to_event):
14101         * events.c (event_to_character):
14102         * events.c (format_event_object):
14103         * events.c (Fevent_modifiers):
14104         * events.h:
14105         * events.h (struct key_data):
14106         * events.h (struct button_data):
14107         * events.h (struct misc_user_data):
14108         * frame-x.c (Fcde_start_drag_internal):
14109         * frame-x.c (Foffix_start_drag_internal):
14110         * gpmevent.c (Freceive_gpm_event):
14111         * keymap.c:
14112         * keymap.c (bucky_sym_to_bucky_bit):
14113         * keymap.c (control_meta_superify):
14114         * keymap.c (make_key_description):
14115         * keymap.c (keymap_lookup_directly):
14116         * keymap.c (create_bucky_submap):
14117         * keymap.c (keymap_store):
14118         * keymap.c (define_key_check_and_coerce_keysym):
14119         * keymap.c (define_key_parser):
14120         * keymap.c (define_key_alternate_name):
14121         * keymap.c (Fdefine_key):
14122         * keymap.c (raw_lookup_key_mapper):
14123         * keymap.c (struct map_keymap_unsorted_closure):
14124         * keymap.c (map_keymap_unsorted_mapper):
14125         * keymap.c (map_keymap_sort_predicate):
14126         * keymap.c (map_keymap_sorted):
14127         * keymap.c (accessible_keymaps_mapper_1):
14128         * keymap.c (where_is_recursive_mapper):
14129         * keymap.c (describe_map_mapper):
14130         * keymap.c (describe_map_sort_predicate):
14131         * keymap.c (describe_map):
14132         * keymap.c (complex_vars_of_keymap):
14133         And a number of other files, the key modifier preprocessor
14134         constants that xemacs uses have names that conflict with constants
14135         defined under MS Windows for other purposes, so they were renamed
14136         to begin with the prefix XEMACS_. The variables that hold such
14137         modifiers were changed to consistently be of type int to fix
14138         various compile warnings.
14139
14140         * console.c (complex_vars_of_console):
14141         * device.c:
14142         * device-msw.c:
14143         * device-msw.c (mswindows_finish_init_device):
14144         * device-msw.c (msw_get_workspace_coords):
14145         * device-msw.c (mswindows_device_system_metrics):
14146         and various other files, added support for a new
14147         device property called offset-workspace which returns the position
14148         of the upper left corner of the workspace area and goes along with
14149         the existing size-workspace property.
14150
14151         * dialog-msw.c:
14152         * dialog-msw.c (push_bufbyte_string_as_unicode):
14153         * dialog-msw.c (mswindows_popup_dialog_box):
14154         Added support for XEmacs-style accelerator specifications in
14155         button text.  Note: I didn't add support for this under X Windows,
14156         and somebody needs to do this.
14157
14158         * dialog.c:
14159         * dialog.c (Fpopup_dialog_box):
14160         Documented the support for accelerators that was just mentioned.
14161
14162         editfns.c (get_home_directory): Changed behavior under Windows
14163         when HOME not defined; former behavior was irretrievably broken.
14164
14165         * emacs.c:
14166         * emacs.c (main_1):
14167         * emacs.c (main):
14168         * minibuf.c (clear_echo_area_internal):
14169         * minibuf.c (echo_area_append):
14170         * print.c:
14171         * print.c (std_handle_out_external):
14172         * print.c (std_handle_out_va):
14173         * print.c (fatal):
14174         * print.c (write_string_to_stdio_stream):
14175         * print.c (output_string):
14176         * print.c (debug_print):
14177         * print.c (debug_backtrace):
14178         * print.c (debug_short_backtrace):
14179         Cleaned up the code that prints text to stdout so that this can be
14180         changed to output into a console window instead under MS Windows,
14181         as described above.
14182
14183         * eval.c:
14184         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
14185         * eval.c (internal_catch):
14186         * eval.c (unwind_to_catch):
14187         * eval.c (throw_or_bomb_out):
14188         * eval.c (condition_case_1):
14189         * eval.c (signal_1):
14190         * eval.c (check_error_state_sanity):
14191         * eval.c (call_with_suspended_errors_1):
14192         * eval.c (call_with_suspended_errors):
14193         * eval.c (reinit_vars_of_eval):
14194         Added code to catch throw loops and check for a pesky bug that may
14195         be gone now.
14196
14197         * event-msw.c:
14198         * event-msw.c (key_needs_default_processing_p):
14199         * event-msw.c (mswindows_wnd_proc):
14200         * event-msw.c (mswindows_modifier_state):
14201         * event-msw.c (emacs_mswindows_quit_p):
14202         * event-msw.c (vars_of_event_mswindows):
14203         a) Added support for using the alt key to select menu items as is
14204         standard under MS Windows.  This is controlled using the variable
14205         menu-accelerator-enabled, just like under X Windows.  There is an
14206         option on the options menu to turn this support on.  I really
14207         think that it should be on by default under Windows, but I'm not
14208         going to make this change yet.
14209
14210         b)  Added support for dynamic display size changes under Windows.
14211
14212         * event-stream.c:
14213         * event-stream.c (maybe_echo_keys):
14214         * event-stream.c (Fnext_event):
14215         * event-stream.c (command_builder_find_leaf):
14216         * event-stream.c (lookup_command_event):
14217         * event-stream.c (execute_command_event):
14218         * event-stream.c (pre_command_hook):
14219         * event-stream.c (post_command_hook):
14220         * event-stream.c (syms_of_event_stream):
14221         * event-stream.c (vars_of_event_stream):
14222         * event-stream.c (complex_vars_of_event_stream):
14223         * events.h (struct command_builder):
14224
14225         a) Tried to clean up a little bit the horribly written x-specific
14226         accelerator code that crept into this file.  I moved this code
14227         into menubar-x.c where it belongs. I also needed to move the
14228         command builder structure into the file events.h because it is
14229         accessed directly by this accelerator code.  What I didn't do, but
14230         which should be done at some point, is to properly abstract this
14231         code using device methods instead of the kludgy way that it
14232         currently hooks into the event code.
14233
14234         b) Added the lisp variables this-command-properties and
14235         last-command- properties, which should be used to synchronize two
14236         adjacent commands in preference to playing games with the variable
14237         this-command, which is typically what happens.
14238
14239         c) Added some slightly nasty code to hook into the lisp support
14240         for shifted- motion-key selection.  This is actually necessary for
14241         somewhat complicated reasons, which are described in
14242         simple.el. (NB: I think the proper thing would be to have the code
14243         that calls the pre and post command hooks also call out to generic
14244         lisp functions in simple.el, where all built-in stuff could be
14245         added.  I will think about this more.)
14246
14247         * event-unixoid.c (poll_fds_for_input):
14248         * lread.c (readchar):
14249         * redisplay-tty.c (tty_clear_frame):
14250         * redisplay-x.c (x_get_gc):
14251         * signal.c (interrupt_signal):
14252         And a whole bunch of other files: fixed up places that printed
14253         directly to stderr to instead call the function stderr_out so that
14254         the changes I made under Windows work correctly.
14255
14256         * filemode.c (mode_string):
14257         Warning fixes.
14258
14259         * frame-msw.c:
14260         * frame-msw.c (mswindows_size_frame_internal):
14261         Fixed the computation of frame size and position to keep the frame
14262         within the workspace area, rather than within the physical
14263         dimensions of the screen, so that the frame doesn't overlap window
14264         manager decorations, such as the start menu and toolbar, typically
14265         at the bottom of the screen.
14266
14267         * frame.c (vars_of_frame):
14268         Changed the default frame title format under MS Windows to consist
14269         of buffername-XEmacs, which is standard under MS Windows.  I think
14270         it might be a good idea to change this everywhere because I think
14271         it is superior to the current frame title format, but this is the
14272         kind of change that is likely to cause some people to get annoyed,
14273         so I'm not making it.
14274
14275         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
14276
14277         * gui-msw.c (mswindows_handle_gui_wm_command):
14278         Fixed compile warnings.
14279
14280         * gui-x.c:
14281         * gui-x.c (strdup_and_add_accel):
14282         * gui-x.c (button_item_to_widget_value):
14283         * gui-x.h:
14284         Added code to automatically put an accelerator onto the beginning
14285         of menu items that don't have one as is now the standard, and is
14286         described more later.  Also fixed things so that the menu item
14287         name can be an evaluated expression, again a new standard.
14288
14289         * gui.c:
14290         * gui.c (gui_item_add_keyval_pair):
14291         * gui.c (make_gui_item_from_keywords_internal):
14292         * gui.c (gui_add_item_keywords_to_plist):
14293         * gui.c (gui_item_accelerator):
14294         * gui.c (gui_name_accelerator):
14295         * gui.c (gui_item_included_p):
14296         * gui.c (gui_item_display_flush_left):
14297         * gui.c (gui_item_display_flush_right):
14298         * gui.c (parse_gui_item_tree_item):
14299         * gui.c (parse_gui_item_tree_children):
14300         * gui.c (parse_gui_item_tree_list):
14301         Mule-ized.  Cleanup.  GCPRO addition.
14302
14303         * line-number.c (buffer_line_number):
14304         * lisp.h:
14305         * lisp.h (EMACS_INT_MAX):
14306         Added the manifest constant EMACS_INT_MIN corresponding to the
14307         existing constant EMACS_INT_MAX.  This is partially to fix compile
14308         warnings under Windows, and partly for cleanliness.
14309
14310         * menubar-msw.c:
14311         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
14312         * menubar-msw.c (msw_translate_menu_or_dialog_item):
14313         * menubar-msw.c (displayable_menu_item):
14314         * menubar-msw.c (populate_menu_add_item):
14315         * menubar-msw.c (populate_or_checksum_helper):
14316         * menubar-msw.c (populate_menu):
14317         * menubar-msw.c (update_frame_menubar_maybe):
14318         * menubar-msw.c (prune_menubar):
14319         * menubar-msw.c (msw_char_is_accelerator):
14320         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
14321         * menubar-msw.c (mswindows_handle_wm_command):
14322         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
14323         * menubar-msw.c (mswindows_handle_wm_initmenu):
14324         * menubar-msw.c (mswindows_update_frame_menubars):
14325         * menubar-msw.c (mswindows_free_frame_menubars):
14326         * menubar-msw.c (mswindows_popup_menu):
14327         Fixed a bug in handling accelerators where an extra character
14328         would be displayed in the menu item.  Also generalized the
14329         function displayable_menu_item because it is now used by the
14330         dialog box code as well.  And finally, added code in the functions
14331         that create the menubar to extract a list of accelerators for the
14332         top level menubar, which is used in the event code to determine
14333         whether a particular alt-key combination should be used to invoke
14334         a menu item, or should be passed through to access the standard
14335         XEmacs keymap binding for this key combination.
14336
14337         Much needed GCPROing.
14338
14339         * menubar-x.c:
14340         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14341         * menubar-x.c (menu_item_descriptor_to_widget_value):
14342         * menubar-x.c (restore_in_menu_callback):
14343         * menubar-x.c (x_popup_menu):
14344         * menubar-x.c (menu_move_up):
14345         * menubar-x.c (menu_move_down):
14346         * menubar-x.c (menu_move_left):
14347         * menubar-x.c (menu_move_right):
14348         * menubar-x.c (menu_select_item):
14349         * menubar-x.c (command_builder_operate_menu_accelerator):
14350         * menubar-x.c (menu_accelerator_junk_on_error):
14351         * menubar-x.c (command_builder_find_menu_accelerator):
14352         * menubar-x.c (Faccelerate_menu):
14353         * menubar.h:
14354         Moved a whole bunch of code here that was previously in
14355         event-stream.c as described above.  There is also code connected
14356         to the new standard of adding an accelerator to the beginning of
14357         menu items that don't have one as described above and below.
14358
14359         * menubar.c:
14360         * menubar.c (menu_parse_submenu_keywords):
14361         * menubar.c (Fmenu_find_real_submenu):
14362         * menubar.c (Fnormalize_menu_item_name):
14363         * menubar.c (syms_of_menubar):
14364         * menubar.c (vars_of_menubar):
14365         * menubar.c (complex_vars_of_menubar):
14366
14367         a) Cleaned up a bunch of documentation and improved it.
14368
14369         b) XEmacs now automatically adds an accelerator onto the beginning
14370         of any menu items that don't have one.  I did this because there
14371         will inevitably be some menu items on the main menubar that don't
14372         have accelerators on them because the package that adds that
14373         particular menu item hasn't yet been fixed up to have accelerators
14374         in them and it looked rather strange to have some items with and
14375         some items without accelerators, especially since even in items
14376         without accelerators, you can, at least under windows, still
14377         access the item through an accelerator corresponding to the first
14378         character in the item's name.  If people don't like this behavior,
14379         I can add a variable to turn it off optionally, but I'm not sure
14380         this is a good idea because we really do need to have accelerators
14381         on all of the menu items, and if a package doesn't like the
14382         accelerators being put on the first character, then it should put
14383         the accelerators where they belong.
14384
14385         c) I made a behavior change, which is that the descriptor that
14386         specifies the text of the menu item, which formerly was just a
14387         string, can now also be an evaluated expression.  This makes this
14388         descriptor parallel with all of the others, which could also be
14389         evaluated expressions.  This also obviates the need for the
14390         keyword :label, which was previously listed in the documentation
14391         as unimplemented, and which was for the same purpose.
14392
14393         d) GCPROing.
14394
14395         * ntproc.c:
14396         * ntproc.c (new_child):
14397         * ntproc.c (sys_spawnve):
14398         * ntproc.c (find_child_console):
14399         * ntproc.c (sys_kill):
14400         Fixed compile warnings.  By the way, this file should really go
14401         away entirely, and this will happen as soon as Kirill makes his
14402         final round of process cleanups, which affect the function
14403         call-process.
14404
14405         * process-nt.c:
14406         * process-nt.c (struct nt_process_data):
14407         * process-nt.c (find_process_from_pid):
14408         * process-nt.c (send_signal_the_nt_way):
14409         * process-nt.c (enable_child_signals):
14410         * process-nt.c (find_child_console):
14411         * process-nt.c (send_signal_the_95_way):
14412         * process-nt.c (nt_finalize_process_data):
14413         * process-nt.c (ensure_console_window_exists):
14414         * process-nt.c (nt_create_process):
14415         * process-nt.c (nt_kill_child_process):
14416         * process-nt.c (nt_kill_process_by_pid):
14417         * process-nt.c (nt_open_network_stream):
14418         * process-nt.c (vars_of_process_nt):
14419         Copied over code from Emacs 20.5 to correctly send signals to sub-
14420         processes under Windows 95.  Also added code to automatically
14421         create and hide console window when a sub-process is created under
14422         Windows 95, which obviates the need for the separate runemacs.exe
14423         executable, and finally implemented some variables that were
14424         implemented in Emacs 20.5, but previously not in XEmacs.  These
14425         include mswindows- start-process-share-console and
14426         mswindows-start-process-inherit-error-mode. (Both of these only
14427         apply to Windows 95.)
14428
14429         * regex.c (regex_compile): Fixed a compile warning.
14430
14431         * select-msw.c:
14432         * select-msw.c (mswindows_own_selection):
14433         * select-msw.c (mswindows_get_foreign_selection):
14434         * select-msw.c (mswindows_disown_selection):
14435         * select-msw.c (console_type_create_select_mswindows):
14436         * select-msw.c (syms_of_select_mswindows):
14437         Cleaned up the file and implemented the device method
14438         selection_exists_p, which had accidentally been left out.  Also
14439         removed four lisp functions that were remnants from before the
14440         time when the selection code was properly device abstracted.
14441         These functions are no longer needed because there are generic
14442         equivalents, and because they were added recently and don't exist
14443         in FSF Emacs, I don't think there's any problem with just deleting
14444         them.
14445
14446         * sysdep.c:
14447         * sysdep.c (sys_subshell):
14448         Fixed a compile warning, although in this case there's probably
14449         something wrong with this code, and it ought to be looked into
14450         more thoroughly by somebody who understands it.
14451
14452         * window.c:
14453         * window.c (Fwindow_text_area_height):
14454         * window.c (Fwindow_width):
14455         * window.c (Fwindow_full_width):
14456         * window.c (Fwindow_pixel_width):
14457         * window.c (debug_print_window):
14458         * window.c (syms_of_window):
14459         Added functions window-text-area-height and window-full-width,
14460         which are functions for returning various width and height
14461         characteristics of a window. (One of these functions is necessary
14462         for making the file dialog box work correctly, and the other one
14463         was added for completeness.)  Also added a table to the
14464         documentation for window-height which describes the entire scheme
14465         for accessing width and height characteristics of a window.
14466
14467 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14468
14469         * nt.c (fstat): Added a comment for another problem with
14470         non-encapsulated [f]stat(), reported by Adrian Aichner
14471         <aichner@ecf.teradyne.com>.
14472
14473 2000-03-11  Andy Piper  <andy@xemacs.org>
14474
14475         * window.c (make_dummy_parent): initialize subwindow instance
14476         cache.
14477         (Fset_window_configuration): zero extent_modiff.
14478
14479 2000-03-10  Andy Piper  <andy@xemacs.org>
14480
14481         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
14482         more changes can be triggered.
14483         (Fredisplay_frame): ditto.
14484         (Fredraw_device): ditto.
14485         (Fredisplay_device): ditto.
14486         (redisplay_frame): make non-static.
14487         (redisplay_frame): call update_frame_gutter_geometry outside of
14488         display proper.
14489
14490         * gutter.h: declare update_frame_gutter_geometry.
14491
14492         * redisplay.h: declare redisplay_frame.
14493
14494         * gutter.c (update_frame_gutter_geometry): move geometry changes
14495         in update_frame_gutters here. Geometry changes can only occur
14496         outside of redisplay.
14497         (update_frame_gutters): remove geometry change code.
14498         (Fredisplay_gutter_area): make sure that we are in display when we
14499         update and that we have flushed any size changes.
14500
14501 2000-03-11  Andy Piper  <andy@xemacs.org>
14502
14503         * alloc.c (pdump_dump_data): remove i & count shadows.
14504
14505 2000-02-27  Mike Alexander  <mta@arbortext.com>
14506
14507         * sysdep.h: Declare pdump_read_file
14508
14509         * sysdep.c (pdump_read_file): New function
14510
14511         * alloc.c (pdump_load): Call pdump_read_file to get the portable
14512         dump data
14513
14514 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
14515
14516         * lrecord.h: add `lrecord_type_pgsetenv'.
14517
14518 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
14519
14520         * symsinit.h: declare (vars|syms)_of* functions.
14521         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
14522
14523 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
14524
14525         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
14526
14527         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
14528         GCCs.
14529
14530         * emacs.c (main_1): Call postgres initialization code.
14531
14532         * postgresql.h: New file.  PostgreSQL RDBMS support.
14533         * postgresql.c: New file.
14534
14535 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14536
14537         * redisplay-output.c (redisplay_output_display_block): Disable
14538         redundant code.
14539
14540 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14541
14542         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
14543         (Fcanna_henkan_next): Ditto.
14544         (Fcanna_bunsetu_henkou): Ditto.
14545         (Fcanna_henkan_kakutei): Ditto.
14546         (Fcanna_henkan_end): Ditto.
14547         (Fcanna_henkan_quit): Ditto.
14548         (Fcanna_henkan_next): Set retun value correctly.
14549         (c2mu): Use unsigned char instead of signed char.
14550
14551 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14552
14553         * emacs.c (main_1): Always call syms_of_gui.
14554         * inline.c: include gui.h
14555
14556 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
14557
14558         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
14559         converted to Lisp_Object.
14560         (Qtop_bottom): New variable.
14561         (syms_of_redisplay): Initialize it.
14562         * redisplay.h (Vvisible_bell): Ditto.
14563         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
14564         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
14565         only flash top and bottom.
14566
14567 2000-03-08  Andy Piper  <andy@xemacs.org>
14568
14569         * buffer.c (Frename_buffer): record new buffer name the right way.
14570
14571 2000-03-08  Andy Piper  <andy@xemacs.org>
14572
14573         * glyphs.c (update_subwindow): increase hash depth so that widget
14574         items get picked up properly.
14575
14576         * redisplay-output.c (compare_runes): increase hash depth so that
14577         widget items get picked up properly.
14578
14579 2000-03-08  Andy Piper  <andy@xemacs.org>
14580
14581         * gutter.c (output_gutter): add some debug.
14582
14583         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
14584         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
14585         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
14586
14587         * redisplay-output.c (compare_runes): use display_hash to
14588         determine if glyphs really are not the same.
14589
14590         * glyphs.c (update_subwindow): check display_hash to see if
14591         anything really needs to be updated. If not then do
14592         nothing. Record the display_hash after updating.
14593         (image_instance_equal): compare the image_instance face also.
14594
14595 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
14596
14597         * redisplay.h: Fix comment style.
14598
14599 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14600
14601         * consle-msw.h (struct mswindows_frame):
14602         Added new member paint_pending to indicate whether a WM_PAINT
14603         magic event has been queued for this frame.
14604
14605         * event-msw.c (mswindows_drain_windows_queue):
14606         Don't queue a WM_PAINT magic event if one is already queued.
14607         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
14608
14609         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
14610
14611 2000-03-07  Didier Verna  <didier@xemacs.org>
14612
14613         * dired.c: #include `regex.h' after `sysfile.h'.
14614
14615 2000-03-06  Martin Buchholz  <martin@xemacs.org>
14616
14617         * sound.c (init_nas_sound): Fix compiler warning.
14618
14619         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
14620         (FREE_STRUCT_P):
14621         (MARK_STRUCT_AS_FREE):
14622         (MARK_STRUCT_AS_NOT_FREE):
14623         Make `gcc -fstrict-aliasing' work properly.
14624
14625 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14626
14627         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
14628         (mswindows_delete_device): Call CoUnnitialize().
14629
14630         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
14631
14632 2000-02-25    <CraigL@DyCon.com>
14633
14634         * process-nt.c: MinGW now has <shellapi.h>, but still needs
14635         <errno.h>.
14636
14637         * sysdep.c: This extern declaration for environ prevents MinGW
14638         from finding the variable in CRTDLL.DLL.
14639
14640         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
14641         windows headers.
14642         (SHGFI_EXETYPE): ..
14643         (WM_MOUSEWHEEL): ..
14644         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
14645         definitions.
14646         (MMRESULT): Removed, now defined in cygwin's windows headers.
14647         (TIMECAPS): ..
14648         (uid_t,gid_t,pid_t,ssize_t): ..
14649         (_timeb): Removed, MinGW defines both _timeb and timeb.
14650         (HAVE_H_ERRNO): Added.
14651         (HAVE_TZNAME): Added, configure is not detecting this.
14652
14653 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
14654
14655         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
14656         * syntax.c (syntax_match): Use it.
14657
14658         * cmds.c: Import auto-fill-chars from FSF Emacs.
14659         (Vauto_fill_chars): New variables.
14660         (internal_self_insert): Check Vauto_fill_chars.
14661         (vars_of_cmds):
14662         Declare auto-fill-chars as a Lisp variable and initialize it.
14663
14664 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14665
14666         * fileio.c (Fmake_symbolic_link):
14667         (Ffile_symlink_p):
14668         Run handlers even if local machine doesn't have symlinks.
14669
14670 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
14671
14672         * event-msw.c (mswindows_drain_windows_queue):
14673         Don't generate paint magic events for non-XEmacs frames.
14674
14675 2000-03-05  Andy Piper  <andy@xemacs.org>
14676
14677         * redisplay.c (redisplay_frame): generate_displayable_area and
14678         friends assumes that we are not in GC, we therefore have to make
14679         sure that this doesn't happen.
14680
14681         * gutter.c (calculate_gutter_size): generate_displayable_area
14682         assumes that we are not in GC, we therefore have to make sure that
14683         this doesn't happen.
14684
14685 2000-03-05  Martin Buchholz  <martin@xemacs.org>
14686
14687         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
14688
14689 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14690
14691         * redisplay.c (regenerate_window): Make sure we set a sane value
14692         for end_pos even if we jump out of the loop.
14693         (regenerate_window): Answer Ben's question :-).
14694         (start_end_of_last_line): Add may_error argument.
14695         (start_of_last_line):
14696         (end_of_last_line): Pass may_error = 0.
14697         (end_of_last_line_may_error): New function.
14698         (pixel_to_glyph_translation): Use it, so we don't crash in
14699         event_to_glyph.
14700
14701 2000-03-04  Andy Piper  <andy@xemacs.org>
14702
14703         * window.h (struct window): add gutter_extent_modiff.
14704
14705         * window.c (allocate_window): zero out gutter_extent_modiff.
14706
14707         * redisplay.h: declare sync_display_line_structs.
14708
14709         * redisplay.c (add_glyph_rune): add a better comment.
14710
14711         * redisplay-output.c (sync_display_line_structs): made non-static.
14712         (compare_runes): remove unneccesary glyph cachel access.
14713
14714         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
14715
14716         * gutter.c (output_gutter): don't output the gutter if extent
14717         changes only involve extents in buffers. use 4 sets of display
14718         lines.
14719         (gutter_extent_signal_changed_region_maybe): new function. Mark
14720         extents in gutters as changed.
14721         (update_frame_gutters): use 4 sets of display lines.
14722         (reset_gutter_display_lines): ditto.
14723         (free_frame_gutters): ditto.
14724         (redraw_exposed_gutter): force output of gutters.
14725
14726         * frame.h (struct frame): add 4 sets of gutter display lines.
14727
14728         * extents.c: (extent_changed_for_redisplay): signal changes to
14729         extents in strings in the gutter as well as extents in buffers.
14730
14731 2000-03-02  Andy Piper  <andy@xemacs.org>
14732
14733         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
14734
14735         * frame.c (Fmake_frame): make sure the gutters get initialized
14736         after the frame is visible.
14737         (set_frame_selected_window): re-arrange compilation macros a
14738         little.
14739         (change_frame_size_1): mark gutters changed.
14740
14741         * device.c (Fset_device_class): mark gutters changed.
14742
14743 2000-03-01  Andy Piper  <andy@xemacs.org>
14744
14745         * window.c (window_top_frame_gutter_height): deleted.
14746         (window_bottom_frame_gutter_height): ditto.
14747         (window_left_frame_gutter_height): ditto.
14748         (window_right_frame_gutter_height): ditto.
14749         (window_top_gutter_height): don't use them.
14750         (window_bottom_gutter_height): ditto.
14751         (window_left_gutter_width): ditto.
14752         (window_right_gutter_width): ditto.
14753         (Fsplit_window): ditto.
14754         (Fwindow_pixel_edges): don't use border dimensions here.
14755
14756         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
14757         (update_scrollbar_instance): ditto.
14758
14759         * redisplay.c (generate_modeline): don't take gutters into account.
14760         (generate_modeline): ditto.
14761         (redisplay_frame): small gutter display optimization.
14762
14763         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
14764
14765         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
14766         gutters into account.
14767
14768         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
14769         for window position and type.
14770
14771         * gutter.c (get_gutter_coords): fix for frame gutters.
14772         (update_frame_gutters): update frame geometry if the gutters have
14773         changed.
14774         (init_frame_gutters): record current gutter geometries.
14775
14776         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
14777         var.
14778         (mswindows_widget_instantiate): ditto.
14779
14780         * frame.h (struct frame): add current_gutter_bounds.
14781
14782         * frame.c (change_frame_size_1): position window and minibuffer
14783         appropriately taking into account the frame gutters.
14784
14785         * frame-x.c: (x_initialize_frame_size): take into account the
14786         frame gutters.
14787
14788 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14789
14790         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
14791
14792 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
14793
14794         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
14795
14796 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
14797
14798         * file-coding.c (reset_decoding_stream): Clear previous
14799         detection state when autodetect.
14800
14801 2000-02-29  Didier Verna  <didier@xemacs.org>
14802
14803         * extents.c (set_extent_glyph_1): don't require extents to be
14804         attached.
14805
14806 2000-02-27  Andy Piper  <andy@xemacs.org>
14807
14808         * gutter.c (Fset_default_gutter_position): don't default left and
14809         right gutter visibility to t.
14810         (Fset_default_gutter_position): run
14811         default-gutter-position-changed-hook.
14812         (syms_of_gutter): add default-gutter-position-changed-hook.
14813
14814 2000-02-26  Andy Piper  <andy@xemacs.org>
14815
14816         * specifier.c (Fmake_specifier): add gutter references.
14817
14818         * gutter.h (RAW_WINDOW_GUTTER): new macro.
14819
14820         * lisp.h: declare Fvalid_plist_p.
14821
14822         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
14823         as changed.
14824         (default_gutter_visible_p_changed_in_window): invalidate gutter as
14825         well as its visibility so that it gets reconstructed.
14826         (construct_window_gutter_spec): new function. Construct a string
14827         to be displayed in the gutter from a plist of strings. Take care
14828         to only use elements that are declared as visible.
14829         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
14830         WINDOW_GUTTER.
14831         (gutter_validate): allow plists of strings in the specifier.
14832         (gutter_specs_changed): construct the real_gutter from the gutter
14833         specs using construct_window_gutter_spec.
14834         (gutter_visible_validate): gutter-visible is a new specifier type.
14835         (Fgutter_visible_specifier_p): new function for the new specifier.
14836         (syms_of_gutter): declare gutter-visible and
14837         Fgutter_visible_specifier_p.
14838         (specifier_type_create_gutter): intitalize new gutter-visible
14839         specifier.
14840         (reinit_specifier_type_create_gutter): ditto.
14841         (specifier_vars_of_gutter): use new specifier type for gutter
14842         visibility.
14843         (init_frame_gutters): construct real_gutter correctly.
14844         (Fgutter_specifier_p): beef up documentation.
14845         (Fgutter_size_specifier_p): ditto.
14846
14847         * winslots.h: add real_gutter slots.
14848
14849 2000-02-25  Andy Piper  <andy@xemacs.org>
14850
14851         * device-msw.c: Be kind to older cygwin versions. From Raymond
14852         Toy <toy@rtp.ericsson.se>.
14853
14854         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
14855         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
14856
14857 2000-02-25  Martin Buchholz  <martin@xemacs.org>
14858
14859         * elhash.c (MARK_OBJ): Practice macro hygiene.
14860
14861 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14862
14863         * miscplay.c: s/__inline__/inline/g;
14864         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
14865         (get_device_compdc): INLINE ==> static inline
14866         * *.[ch]: Change INLINE to INLINE_HEADER globally.
14867         find -name '*.h' | \
14868         xargs global-replace \
14869         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
14870
14871 2000-02-25  Andy Piper  <andy@xemacs.org>
14872
14873         * window.c (window_top_frame_gutter_height): new function.
14874         (window_top_window_gutter_height): ditto.
14875         (window_top_gutter_height): use them.
14876         (window_bottom_frame_gutter_height): new function.
14877         (window_bottom_window_gutter_height): ditto.
14878         (window_bottom_gutter_height): use them.
14879         (window_left_window_gutter_width): new function.
14880         (window_left_frame_gutter_width): ditto.
14881         (window_left_gutter_width): use them.
14882         (window_right_window_gutter_width): new function.
14883         (window_right_frame_gutter_width): ditto.
14884         (window_right_gutter_width): use them.
14885         (window_pixel_height): new function. calulate window pixel height
14886         with frame gutter involvement.
14887         (Fsplit_window): calculate new sizes taking frame gutters into
14888         account.
14889         (window_char_height_to_pixel_height): don't include frame gutters.
14890         (window_char_height): use window_pixel_height.
14891         (window_pixheight): rename from window_pixel_height.
14892         (change_window_height): use it.
14893         (window_pixel_height_to_char_height): don't include frame gutters.
14894         (window_char_width_to_pixel_width): ditto.
14895
14896 2000-02-25  Andy Piper  <andy@xemacs.org>
14897
14898         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
14899         if it is.
14900
14901 2000-02-24  Martin Buchholz  <martin@xemacs.org>
14902
14903         * alloc.c (staticpro):
14904         (staticpro_nodump):
14905         (dumpstruct):
14906         (dumpopaque):
14907         (pdump_wire):
14908         (pdump_wire_list):
14909         (compact_string_chars):
14910         (pdump_dump_wired):
14911         Convert:  if (foo) abort();  ==>  assert (! foo);
14912
14913         * eldap.c (Fldap_search_basic):
14914         (Fldap_add):
14915         (Fldap_modify):
14916         (Fldap_delete):
14917         Fix compiler warnings, and possible crashes if (random) return
14918         value were to be used.
14919
14920 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14921
14922         * device-msw.c: Workaround ResetDC failure.
14923
14924         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
14925         applying a devmode.
14926
14927         * redisplay-msw.c (get_frame_dc): Added start_page_p.
14928         (mswindows_text_width): Do not start printer page.
14929
14930         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
14931
14932         * glyphs-msw.c: Added image methods to msprinter console and
14933         msprinter-specific image instantiation.
14934
14935 2000-02-20  Mike Alexander  <mta@arbortext.com>
14936
14937         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
14938         to avoid crashes when selection-sets-clipboard is on
14939         (mswindows_own_selection): ditto
14940
14941 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14942
14943         * glyphs-msw.c:
14944         * redisplay-msw.c (get_frame_dc):
14945         (get_frame_compdc):
14946         * console-msw.h:
14947         * device-msw.c (mswindows_init_device):
14948         (mswindows_delete_device):
14949         (msprinter_init_device):
14950         (msprinter_delete_device):
14951         * frame-msw.c (mswindows_init_frame_1):
14952         (mswindows_delete_frame):
14953         (msprinter_init_frame_3):
14954         (msprinter_delete_frame): Move compatible DC to device object from
14955         frame object, for both mswindows and msprinter. Only one at a time
14956         is needed, it is a real waste to have one per frame!
14957
14958 2000-02-23  Andy Piper  <andy@xemacs.org>
14959
14960         * glyphs.c: add dynamic width and height elements.
14961         (image_instance_equal): ditto.
14962
14963         * glyphs-widget.c (widget_query_geometry): calculate width and
14964         height dynamically if required.
14965         (initialize_widget_image_instance): initialize dynamic dimensions.
14966         (widget_instantiate): pick-up dynamic dimensions.
14967
14968         * glyphs.h (struct Lisp_Image_Instance): add width and height for
14969         dynamic determination. Add appropriate macros.
14970
14971         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
14972         dimensions safe.
14973         (WINDOW_GUTTER_SIZE): ditto.
14974         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
14975
14976         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
14977         inline.
14978         (get_frame_dc): ditto.
14979
14980         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
14981         here.
14982
14983 2000-02-23  Martin Buchholz <martin@xemacs.org>
14984
14985         * XEmacs 21.2.31 is released.
14986
14987 2000-02-22  Ben Wing <ben@xemacs.org>
14988
14989         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
14990
14991 2000-02-22  Andy Piper  <andy@xemacs.org>
14992
14993         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
14994
14995 2000-02-21  Mike Sperber <mike@xemacs.org>
14996
14997         * .dbxrc:
14998         * .gdbinit:
14999         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
15000         variables.
15001
15002 2000-02-21  Mike Sperber <mike@xemacs.org>
15003
15004         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
15005
15006 2000-02-21  Martin Buchholz <martin@xemacs.org>
15007
15008         * XEmacs 21.2.30 is released.
15009
15010 2000-02-20  Martin Buchholz  <martin@xemacs.org>
15011
15012         Performance hacking.
15013         * *.c (syms_of_*):
15014         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
15015         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
15016         * emacs.c (main_1):
15017         * lisp.h (DEFUN):
15018         * console.c (DEFVAR_CONSOLE_LOCAL_1):
15019         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
15020         * symeval.h (DEFVAR_SYMVAL_FWD):
15021         * symbols.c (guts_of_unbound_marker):
15022         Make all c_readonly objects also lisp_readonly and marked for life.
15023         * lrecord.h (struct lrecord_implementation):
15024         Document flags better.
15025         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
15026         * lrecord.h (DECLARE_LRECORD):
15027         * lrecord.h (XSETRECORD):
15028         * lrecord.h (RECORDP):
15029         * lrecord.h (RECORD_TYPEP):
15030         * lrecord.h (RECORD_MARKER): New.
15031         * lrecord.h (error_check_*):
15032         * lrecord.h (CONCHECK_NONRECORD):
15033         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
15034         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
15035         * lrecord.h (set_lheader_implementation):
15036         * lrecord.h (enum lrecord_type): New.
15037         * symeval.h (SYMBOL_VALUE_MAGIC_P):
15038         * alloc.c (disksave_object_finalization_1):
15039         * alloc.c (mark_object):
15040         * alloc.c (lrecord_type_index):
15041         * alloc.c (tick_lcrecord_stats):
15042         * alloc.c (Fgarbage_collect):
15043         * alloc.c (init_alloc_once_early):
15044         * alloc.c (pdump_load):
15045         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
15046         * alloc.c (lrecord_type_index): Delete.
15047         Make lisp object type indexes be constant.
15048           Makes (byte-compile) 5% faster.
15049         Put all marker functions into their own array.
15050           Makes (garbage-collect) 5% faster.
15051         Optimize SYMBOL_VALUE_MAGIC_P.
15052           Makes (byte-compile) 2-3% faster.
15053         * config.h.in (gc_checking_assert): New.
15054         * alloc.c: Use gc_checking_assert().
15055         * .dbxrc: Make compatible with new object type implementation.
15056         * .gdbinit: Make compatible with new object type implementation.
15057         * alloc.c: Delete all symbols defined only for debugging, such as
15058         Lisp_Type_Vector and lrecord_charset.
15059
15060 2000-02-21  Andy Piper  <andy@xemacs.org>
15061
15062         * gui-msw.c (Fmswindows_shell_execute): fix file location
15063         problems.
15064
15065         * buffer.c (Fkill_buffer): remove buffer from alist buffer
15066         unshowing so that set_window_buffer doesn't undo
15067         kill_buffer_hook's hard work.
15068
15069         * glyphs-widget.c (tab_control_query_geometry): don't count the
15070         first item when calculating geometry.
15071
15072         * glyphs.c (map_subwindow): remove redundant code.
15073         (update_frame_subwindows): be more circumspect about when to
15074         update subwindows.
15075
15076         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
15077         when items haven't changed. Update faces if faces have changed as
15078         well as just the widget face.
15079         (x_tab_control_update): Update faces if faces have changed as well
15080         as just the widget face.
15081
15082 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15083
15084         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
15085         registration.
15086         (build_syscolor_string): Use mswindows_color_to_string to try to
15087         get a named color.
15088         (mswindows_device_system_metrics): Reverse the foreground and
15089         background colors so that they match the documentation.
15090
15091         * objects-msw.c: (mswindows_X_color_map): tweak some values so
15092         they match the default Windows palette.
15093         (mswindows_color_to_string): New function.
15094
15095 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15096
15097         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
15098
15099 2000-02-18  Olivier Galibert  <galibert@pobox.com>
15100
15101         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
15102         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
15103
15104         * symbols.c (init_symbols_once_early): Removed obsolete
15105         DATA_SEG_BITS related kludge.
15106         (defvar_magic): Ditto.
15107
15108         * malloc.c: Removed obsolete DATA_SEG_BITS
15109         * ralloc.c: Ditto.
15110         * mem-limits.h: Ditto.
15111
15112         * Makefile.in.in: Removed obsolete HAVE_SHM
15113         * emacs.c: Ditto.
15114
15115 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15116
15117         *  device-msw.c (mswindows_delete_device): Free DDE string
15118         handles.
15119
15120 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15121
15122         * keymap.c (get_keyelt):
15123         * unexnt.c (unexec):
15124         * vm-limit.c (memory_warnings):
15125         * ntheap.c (recreate_heap):
15126         * ntheap.h (UNINIT_PTR):
15127         * select-msw.c (Fmswindows_get_clipboard):
15128         (Fmswindows_set_clipboard):
15129         * objects-msw.h (MSWINDOWS_BAD_HFONT):
15130         * objects-msw.c:
15131         * menubar-msw.c (displayable_menu_item):
15132         * glyphs-msw.c:
15133         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
15134         * sysdep.c (sys_subshell):
15135         * process-nt.c (nt_create_process):
15136         * nt.c (normalize_filename):
15137         (dostounix_filename):
15138         (unixtodos_filename):
15139         * ntproc.c (win32_executable_type):
15140         * ntplay.c (play_sound_data_1):
15141         (play_sound_file):
15142         * editfns.c (get_home_directory):
15143         * event-msw.c (struct winsock_stream):
15144         (mswindows_dde_callback):
15145         * device-msw.c (msprinter_init_device):
15146         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
15147
15148         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
15149         mswindows_clear_toolbar were swapped!
15150
15151         * objects-msw.c:(colormap_t):
15152         (fontmap_t):
15153         * emacs.c (struct standard_args): Fixed const jumble.
15154
15155         * glyphs-widget.c (update_widget): Fixed comparison notation.
15156
15157         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
15158
15159         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
15160         __declspec(noreturn) syntax.
15161
15162 2000-02-19  Martin Buchholz  <martin@xemacs.org>
15163
15164         * eldap.c (Fldap_open):
15165         (Fldap_search_basic):
15166         (Fldap_add):
15167         (Fldap_modify):
15168         Use new coding system conversion macros.
15169
15170 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15171
15172         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
15173
15174 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
15175
15176         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
15177         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15178
15179         * eldap.c (Qadd, Qreplace): New constant symbols
15180         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
15181         interruptions by XEmacs signals
15182         Remove unnecessary calls to slow_down_interrupts and
15183         speed_up_interrupts
15184         (Fldap_search_basic): Renamed from Fldap_search_internal
15185         Added new optional parameter VERBOSE that triggers the
15186         display of progress messages
15187         Remove unnecessary calls to slow_down_interrupts and
15188         speed_up_interrupts
15189         LDAP result code analysis rewritten
15190         (Fldap_add, Fldap_modify, Fldap_delete): New functions
15191         (syms_of_eldap): Define the new symbols and functions
15192
15193
15194 2000-02-17  Martin Buchholz  <martin@xemacs.org>
15195
15196         * realpath.c: Determine PATH_MAX maximally portably.
15197
15198         * insdel.c (bytecount_to_charcount): Optimize.
15199         The function used to be optimized for entirely ASCII sequences.
15200         Now it is optimized for successive characters from the same
15201         charset.  This also wins big for _mostly_ ASCII sequences.
15202
15203         * fileio.c (Ffile_truename): convert return from realpath() using
15204         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
15205         - Rewrite GCPROing slightly.
15206
15207         * sysdep.c (sys_open): Do filename conversion, like all other
15208         sys_* functions.  Fixes bug:
15209         (let ((file-name-coding-system 'iso-8859-2))
15210            (write-region x y latin2-name))
15211         ==> writes filename using internal encoding.
15212
15213 2000-02-18  Martin Buchholz  <martin@xemacs.org>
15214
15215         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
15216         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
15217         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
15218         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
15219         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
15220         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
15221         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
15222         (CONST_IF_NOT_DEBUG): Delete.
15223         * alloc.c (this_one_is_unmarkable): Delete.
15224         (mark_object): Don't check for this_one_is_unmarkable. Use the
15225         c_readonly flag instead.
15226         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
15227
15228 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15229
15230         * event-msw.c (mswindows_drain_windows_queue):
15231         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
15232         away redundant repaint events.
15233
15234 2000-02-17  Andy Piper  <andy@xemacs.org>
15235
15236         * redisplay.h: declare mark_redisplay_structs.
15237
15238         * redisplay.c (redisplay_window):
15239         (redisplay_frame): don't check subwindows_state_changed.
15240         (mark_redisplay): mark gutters here.
15241
15242         * glyphs.c: (instantiate_image_instantiator): always layout if we
15243         haven't done so already.
15244         (allocate_image_instance): don't mark as dirty.
15245         (update_subwindow): bind inhibit_quit.
15246
15247         * gutter.c (mark_gutters): new function.
15248
15249         * glyphs-x.c (x_update_widget): Always resize to get round a
15250         widget bug.
15251
15252         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
15253         breaking absolutely everything.
15254
15255         * gutter.h: declare mark_gutters.
15256
15257 2000-02-16  Martin Buchholz <martin@xemacs.org>
15258
15259         * XEmacs 21.2.29 is released.
15260
15261 2000-02-15  Olivier Galibert  <galibert@pobox.com>
15262
15263         * fns.c (size_bit_vector): Fix computation of the size.
15264
15265 2000-02-15  Martin Buchholz  <martin@xemacs.org>
15266
15267         * *.[ch]: Change CONST to const globally.
15268         find -name '*.[ch]' | \
15269         xargs global-replace \
15270         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
15271         - Remove vestigial references to CONST_IS_LOSING
15272
15273 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15274
15275         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
15276         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
15277         events instead of dispatching them directly.
15278         (mswindows_handle_paint): New function to do repainting.
15279         (mswindows_wnd_proc):
15280         (emacs_mswindows_handle_magic_event): Call above function.
15281
15282 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15283
15284         * objects-msw.c (mswindows_create_font_variant): Return the new
15285         font handle.
15286         (initialize_font_instance): Get font metrics from the underlined
15287         variant of the font to cope with the case where the underlined
15288         font has a bigger descent.
15289
15290 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15291
15292         * gui.c (gui_item_accelerator): Return the first underlined
15293         character in item name.
15294
15295 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15296
15297         * lisp.h: Added Qprinter.
15298
15299         * general.c (syms_of_general): Initialized it.
15300
15301         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
15302         (get_frame_dc):
15303         (get_frame_compdc): Made inline.
15304
15305         * console.h (struct console_methods): Added eject_page method.
15306
15307         * frame.h: Added FRAME_DISPLAY_P and friends.
15308         Aligned backslahes in many macros in more readable fashion.
15309         Added page_number to struct frame, and an accessor macro
15310         for it.
15311
15312         * defice.h: Added DEVICE_DISPLAY_P and friends.
15313
15314         * device.c (Fdevice_printer_p): Used these.
15315
15316         * frame.c (allocate_frame_core): Initialize page number.
15317         (Fprint_job_page_number):
15318         (Fprint_job_eject_page): Implemented.
15319
15320         * frame-msw.c (msprinter_eject_page): Added method.
15321         (msprinter_start_page): Added.
15322
15323         * window.c (Fwindow_truncated_p): Fixed docstring.
15324         (Fwindow_last_line_visible_height): Implemented.
15325
15326 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15327
15328         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
15329
15330 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
15331
15332         * syntax.c (scan_words): Always advance at least one character.
15333
15334 2000-02-13  Andy Piper  <andy@xemacs.org>
15335
15336         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
15337         to make sure the glyph is in the cachels.
15338
15339         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
15340         global image instance flag.
15341         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
15342         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
15343
15344         * glyphs.c (allocate_image_instance): set dirty bits correctly.
15345         (Fset_image_instance_property): mark layout as changed.
15346         (invalidate_glyph_geometry_maybe): mark layout as changed.
15347         (glyph_width): use new NEEDS_LAYOUT macro.
15348         (glyph_ascent): ditto.
15349         (glyph_descent): ditto.
15350         (glyph_height): ditto.
15351         (image_instance_layout): mark layout as clean after laying out.
15352         (update_subwindow): don't mark layout as clean here.
15353
15354         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
15355         should no longer be needed.
15356
15357         * glyphs-x.c (x_update_widget): sanitize asserts.
15358         (x_finalize_image_instance): sanitize assignment to widgets.
15359
15360         * glyphs-widget.c (widget_instantiate): don't need to clear the
15361         layout flag here.
15362
15363 2000-02-13  Martin Buchholz  <martin@xemacs.org>
15364
15365         * sysdep.c (getcwd): Use standard prototype.
15366         * sysdep.h (getcwd): Use standard prototype.
15367
15368         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
15369         (sequence, start, end).
15370         Remove redundant type checking.
15371         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
15372         view of `caller-protects') to avoid a crash where the real fix was
15373         found elsewhere.
15374
15375 2000-02-12  Martin Buchholz  <martin@xemacs.org>
15376
15377         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
15378
15379         * s/sol2.h: Remove feature macro initialization.
15380
15381         * alloc.c (alloc_lcrecord): Add more type checking assertions.
15382         (vector_hash): New.  Code from internal_hash.
15383         * lrecord.h:
15384         Fix up allocation subsystem comments.
15385
15386         * config.h.in: Add __EXTENSIONS__ for Solaris.
15387
15388         * systime.h (EMACS_GETTIMEOFDAY): New.
15389         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
15390         Remove Solaris-specific code.
15391         Use void* for the (ignored) second arg for gettimeofday().
15392
15393         * elhash.c (hash_table_hash): Implement it, finally.
15394         * elhash.c:  Use hashcode_t.
15395
15396         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
15397         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
15398
15399         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
15400         * fns.c (size_bit_vector):
15401         * alloc.c (size_vector):
15402         (make_vector_internal):
15403         (make_bit_vector_internal):
15404         (sweep_bit_vectors_1):
15405         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
15406
15407 2000-02-10  Martin Buchholz  <martin@xemacs.org>
15408
15409         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
15410         Include strings.h to avoid warnings for bzero and strcasecmp.
15411
15412 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15413
15414         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
15415         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
15416
15417         * fns.c (size_bit_vector): New.  Declare bit vectors as a
15418         sequence.
15419
15420 2000-02-10  Olivier Galibert  <galibert@pobox.com>
15421
15422         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
15423         use a value field instead.
15424         (symbol_value_forward_forward): Use value field.
15425         (DEFVAR_SYMVAL_FWD): Use value field.
15426         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
15427         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
15428         (DEFVAR_CONST_INT): Ditto.
15429         (DEFVAR_BOOL): Ditto.
15430         (DEFVAR_CONST_BOOL): Ditto.
15431         (DEFVAR_INT_MAGIC): Ditto.
15432         (DEFVAR_BOOL_MAGIC): Ditto.
15433
15434         * symbols.c (guts_of_unbound_marker): Use value field.
15435         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
15436         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
15437
15438         * lisp.h: Declare dumpopaque and noninteractive1.
15439
15440         * alloc.c (dumpopaque): Added.
15441         (pdump_dump_opaquevec): Added.
15442         (pdump): Call pdump_dump_opaquevec to dump opaque data.
15443         (pdump_load): Reload opaque data.  Sync noninteractive1 with
15444         noninteractive.
15445
15446 2000-02-10  Andy Piper  <andy@xemacs.org>
15447
15448         * glyphs.c (image_instance_layout): if the size changes, mark it
15449         as such.
15450
15451         * redisplay-output.c (redisplay_output_layout): Update the
15452         subwindow here.
15453         (redisplay_output_subwindow): ditto.
15454
15455         * glyphs.c (update_subwindow): make sure we reset flags for
15456         layouts as well as everything else.
15457
15458         * glyphs-widget.c (layout_layout): don't need to set the instances
15459         dimensions here.
15460
15461 2000-02-09  Martin Buchholz  <martin@xemacs.org>
15462
15463         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
15464         not HAVE_DLOPEN, which is a lower-level thing.
15465
15466         * .cvsignore: Ignore gmon.out
15467
15468 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
15469
15470         * .cvsignore: Ignore portable dumper xemacs.dmp file
15471
15472 2000-02-09  Andy Piper  <andy@xemacs.org>
15473
15474         * redisplay-output.c (redisplay_output_layout): be more clever
15475         about when we output based on the changed flags.
15476
15477         * glyphs.h (struct image_instantiator_methods): add update_method.
15478         (struct Lisp_Image_Instance): add changed flags. Declare new
15479         macros for manipulating them.
15480
15481         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
15482         (image_instance_parent_glyph): find an image_instance's parent
15483         glyph or image_instance.
15484         (image_instance_layout): mark the size as changed.
15485         (set_image_instance_dirty_p): new function. mark an image
15486         instance, plus all of its parents, as dirty.
15487         (Fset_image_instance_property): use it.
15488         (Fglyph_animated_timeout_handler): use it.
15489         (update_subwindow): call update_widget and device methods for
15490         update_subwindow. Mark all changed flags as clean.
15491         (Fresize_subwindow): mark size as changed.
15492
15493         * glyphs-x.c (x_finalize_image_instance): try and detect gc
15494         failures.
15495         (x_update_subwindow): only resize subwindows here.
15496         (x_update_widget): new function. Update all changed properties of
15497         a widget.
15498         (x_resize_subwindow): deleted.
15499         (x_widget_set_property): deleted.
15500         (x_progress_gauge_set_property): deleted.
15501         (x_progress_gauge_update): new function. Implement recorded
15502         changes.
15503         (x_tab_control_update): ditto.
15504         (x_tab_control_set_property): deleted.
15505         (console_type_create_glyphs_x): declare new functions.
15506         (image_instantiator_format_create_glyphs_x): ditto.
15507
15508         * glyphs-widget.c (widget_set_property): mark text changed.
15509         (update_widget): new function. Update properties of a widget.
15510         (widget_instantiate): for layouts make sure we set their
15511         children's parent correctly.
15512         (tab_control_set_property): new function. Record changes that will
15513         take place under redisplay's control.
15514         (progress_gauge_set_property): ditto.
15515         (image_instantiator_progress_guage): declare new functions.
15516         (image_instantiator_tab_control): ditto.
15517
15518         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
15519         now.
15520         (mswindows_update_widget): new function. Update all properties on
15521         a widget that have changed.
15522         (mswindows_button_update): new function. Update a button's set
15523         state.
15524         (mswindows_tab_control_update): new function. Update the items in
15525         a tab.
15526         (mswindows_tab_control_set_property): deleted.
15527         (mswindows_progress_gauge_update): new function. Update the
15528         progress gauge's progress.
15529         (mswindows_widget_set_property): deleted. This is all done
15530         asynchronously now.
15531         (mswindows_progress_gauge_set_property): ditto.
15532         (console_type_create_glyphs_mswindows): declare new methods.
15533         (image_instantiator_format_create_glyphs_mswindows): ditto.
15534
15535         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
15536         (msprinter_set_frame_properties): ditto.
15537
15538         * console.h (struct console_methods): Add update_widget_method.
15539
15540 2000-02-09  Andy Piper  <andy@xemacs.org>
15541
15542         * gui-msw.c (Fmswindows_shell_execute): Make
15543         mswindows-shell-execute industrial strength.
15544
15545 2000-02-08  Martin Buchholz  <martin@xemacs.org>
15546
15547         * lrecord.h: Make macro argument `props' match member function `plist'.
15548         * fns.c (Fget):
15549         * fns.c (Fput):
15550         * fns.c (Fremprop):
15551         * fns.c (Fobject_plist):
15552         * alloc.c:
15553         * symbols.c:
15554         Object property list frobbing cleanup.
15555         - Allow any lisp object (compared with `eq'), not just symbols, as
15556           keys in object plists.
15557         - Move symbol plist frobbing into symbols.c, where it belongs.
15558         - Move string plist frobbing into alloc.c, where it belongs.
15559         - Everything's an lrecord now, so no need to test for symbolp, etc.
15560         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
15561
15562         * extents.c: Reorder code to remove declarations.
15563
15564         * frame.h (store_in_alist): Remove useless declaration.
15565
15566 2000-02-07  Martin Buchholz  <martin@xemacs.org>
15567
15568         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
15569         * config.h.in: Add HAVE_XCONVERTCASE.
15570
15571 2000-02-07  Andy Piper  <andy@xemacs.org>
15572
15573         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
15574         it breaks many things.
15575
15576 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
15577
15578         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
15579         actually can start a common comment type.
15580         * src/syntax.h (SYNTAX_END_P): ditto for end.
15581
15582 2000-02-07  Martin Buchholz <martin@xemacs.org>
15583
15584         * XEmacs 21.2.28 is released.
15585
15586 2000-02-06  Martin Buchholz  <martin@xemacs.org>
15587
15588         * event-Xt.c (x_keysym_to_character): New.
15589         (maybe_define_x_key_as_self_inserting_character): New.
15590         (x_has_keysym): New.
15591         Auto-define all keys on the keyboard as self-insert-key.
15592
15593 2000-02-02  Martin Buchholz  <martin@xemacs.org>
15594
15595         * menubar.c (vars_of_menubar): A small code simplification.
15596
15597         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
15598
15599         * ExternalShell.c:
15600         * ExternalClient.c:
15601         * EmacsShell-sub.c:
15602         * EmacsManager.c:
15603         * EmacsFrame.c:
15604         Use consistent style for specifying X resources.
15605
15606         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
15607         This makes (dontusethis-set-symbol-value-handler) actually usable.
15608
15609         * lrecord.h (lrecord_decription_type):
15610         * alloc.c (pdump_register_sub):
15611         (pdump_dump_data):
15612         (pdump_reloc_one):
15613         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
15614         Comply with XEmacs coding style.
15615         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
15616         args, and XD_LISP_OBJECT_ARRAY with 3 args.
15617
15618         * keymap.c (Faccessible_keymaps):
15619         Make (accessible-keymaps map "\C-h") do the Right Thing.
15620         Make (accessible-keymaps map []) do the Right Thing.
15621         Make (accessible-keymaps map "") do the Right Thing.
15622         (check_keymap_definition_loop): New function.
15623         (keymap_store_internal): Keep luser from shooting self in foot,
15624           via (define-key ctl-x-4-map "p" global-map).
15625         Remove fullness slot from struct Lisp_Keymap, since hash tables
15626         are now reliable.
15627         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
15628
15629 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15630
15631         * redisplay.c (init_redisplay): Fix small memory leak.
15632         * elhash.h:
15633         * elhash.c (pdump_reorganize_hash_table):
15634         Rename from reorganize_hash_table. Change prototype.
15635         Reuse the original memory for hentries.  Save 100k.
15636         * alloc.c (PDUMP_READ): new macro.
15637         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
15638         * alloc.c: No need to #ifndef before #undef.
15639
15640         * print.c: Allow debug_print() to print readably by modifying
15641         debug_print_readably.  Use consistent variable names.
15642
15643         * .dbxrc: Try to get things to work even if stopped in a function
15644         without source available by explicitly specifying source files.
15645 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15646
15647         * unexnt.c (_start): Removed bogus code which caused loading heap
15648         from differrent executable file.
15649         Removed bogus assignment to _fmode, which caused inconsistencies.
15650
15651 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15652
15653         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
15654         Have spawnve encapsulation regard DONT_ENCAPSULATE.
15655         Do not preliminary `#define signal sigset'.
15656
15657         * systime.h: Do not prototype environ on windows nt and cygwin,
15658         this conflicts with system header.
15659
15660         * syssignal.h: Use correct define for WINDOWSNT
15661
15662         * sysdep.h: Do not prototype environ on windows nt, this conflicts
15663         with system header.
15664
15665         * sysdep.c (near start of file): Fixed commentary and rearranged
15666         ifdefs in readable order.
15667         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
15668         (start_of_text):
15669         (end_of_text):
15670         (end_of_data): Do not compile in if using PDUMP.
15671
15672         * symsinit.h: Prototyped vars_of_nt().
15673
15674         * ntproc.c (windows9x_p): Added, instead of os_subtype.
15675         (find_child_console): Use it.
15676         (sys_kill): Use it.
15677
15678         * ntheap.h: Do not extern os_subtype.
15679
15680         * ntheap.c (cache_system_info): Do not cache unneeded:
15681         nt_major_version, nt_minor_version and os_subtype.
15682         (recreate_heap): Do not compile in when PDUMPing.
15683
15684         * nt.c (geteuid and friends): Use the new varibale
15685         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
15686         (init_user_info): Removed the above mentioned hackery.
15687         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
15688         stat has been fixed in the C runtime.
15689         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
15690
15691         * file-coding.c (struct file_coding_dump): Do not define
15692         ucs_to_mule_table in the struct if not MULE.
15693         (struct struct lrecord_description fcd_description_1): Do not dump
15694         the above.
15695
15696         * emacs.c (main_1): Call vars_of_nt().
15697         (right before Fdump_emacs_data): Don't need lastfile if using both
15698         portabe dumper and system malloc.
15699
15700         * alloc.c (Fmemory_limit): Conditionalized out.
15701         (pdump): Use OPEN_BINARY for the portable dump file.
15702         (pdump_load): Ditto.
15703
15704 2000-02-02  Mike Alexander  <mta@arbortext.com>
15705
15706         * nt.c (convert_time): Set tm_isdst before calling mktime and
15707         avoid calling it at all if the compiler supports 64 bit integers.
15708         Also initialize utc_base_ft before using it.
15709
15710 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
15711
15712         * frame.c (change_frame_size_1): Take f->internal_border_width
15713         into consideration when calculating the width of the frame.
15714
15715 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15716
15717         * window.c (frame_min_height):
15718         (frame_size_valid_p):
15719         (frame_pixsize_valid_p): Added.
15720         (check_frame_size): Generalized.
15721
15722         * window.h: Prototyped the above.
15723
15724         * lisp.h:
15725         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
15726         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
15727         Deleted Vwin32_* and Vbinary_process_* unused variables.
15728
15729         * device-msw.c (msprinter_init_device): Do not get printer font
15730         list; Added DEVMODE functions.
15731
15732         * frame-msw.c: Added lots of printer code.
15733
15734         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
15735         general.c.
15736
15737         * console-msw.h: Added more msprinter device private slots.
15738
15739 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15740
15741         * event-msw.c (key_needs_default_processing_p): Added.
15742         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
15743
15744 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15745
15746         * glyphs.c (image_instance_layout): Mark image instance as clean
15747         after layout.
15748         (glyph_dirty_p): Removed redundant function.
15749         (invalidate_glyph_geometry_maybe): Added.
15750         (update_glyph_cachel_data): Call it.
15751
15752         * glyphs.h: Prototyped it.
15753
15754         * redisplay.c (add_glyph_rune): Call it.
15755         (redisplay_window): Reset glyphs cachels when frame faces have
15756         changed, thus forcing recomputation of built-in border glyphs.
15757
15758 2000-01-30  Martin Buchholz  <martin@xemacs.org>
15759
15760         * Makefile.in.in: Make portable dumper and purify play well together.
15761         Add imperfect, but better than nothing, support for pdump.
15762         Remove xemacs.dmp when temacs is re-generated.
15763         Don't ignore errors when dumping xemacs.
15764
15765         * symbols.c (maybe_call_magic_handler): Remove one magic number.
15766
15767 2000-01-28  Andy Piper  <andy@xemacs.org>
15768
15769         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
15770         (setup_normal_frame): ditto.
15771         (setup_frame_without_minibuffer): ditto.
15772         (setup_minibuffer_frame): ditto.
15773         (delete_frame_internal): ditto.
15774         (Fmake_frame_invisible): ditto.
15775         (Ficonify_frame): ditto.
15776
15777         * window.h: change Fset_window_buffer signature.
15778
15779         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
15780         (Fset_window_buffer): allow recording of buffer if the window is
15781         the selected window.
15782         (window_loop): Use new Fset_window signature.
15783
15784 2000-01-23  Daniel Pittman  <daniel@danann.net>
15785
15786         * config.h.in: Added template for `HAVE_ATHENA_3D'
15787
15788 2000-01-29  Andy Piper  <andy@xemacs.org>
15789
15790         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
15791
15792         * gutter.c (output_gutter): Don't output if the window isn't live.
15793
15794 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15795
15796         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
15797         of 01/12/00: Moved SetFocus back here where it belongs.
15798
15799 2000-01-23  Andy Piper  <andy@xemacs.org>
15800
15801         * s/cygwin32.h: declare printer things.
15802
15803 2000-01-26  Andy Piper  <andy@xemacs.org>
15804
15805         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
15806         Alexander.
15807
15808 2000-01-24  Andy Piper  <andy@xemacs.org>
15809
15810         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
15811         (mswindows_button_instantiate): Make sure glyph is a pixmap.
15812
15813         * glyphs-widget.c (widget_instantiate): Avoid shadows.
15814
15815         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
15816
15817         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
15818
15819         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
15820         (mswindows_output_display_block): Avoid local shadows.
15821
15822         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
15823         (mswindows_enqueue_mouse_button_event): ditto.
15824         (mswindows_handle_gui_wm_command): remove declaration.
15825
15826         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
15827         warnings.
15828
15829         * console-msw.h: Avoid shadows.
15830         (mswindows_get_toolbar_button_text):
15831         (emacs_mswindows_create_stream_pair):
15832         (emacs_mswindows_delete_stream_pair):
15833         (mswindows_handle_toolbar_wm_command): declare.
15834
15835         * device-msw.c (build_syscolor_string): Avoid shadows.
15836
15837 2000-01-23  Andy Piper  <andy@xemacs.org>
15838
15839         * glyphs-widget.c (widget_instantiate): reverse the items for
15840         layouts so that children are in the expected order.
15841
15842 2000-01-28  Martin Buchholz  <martin@xemacs.org>
15843
15844         * ralloc.c: safe_bcopy ==> memmove
15845         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
15846         * s/msdos.h: Remove BCOPY macros.
15847         * insdel.c (gap_right): Remove BCOPY conditional code.
15848         * insdel.c (gap_left): Remove BCOPY conditional code.
15849         XEmacs demands a working ANSI C compiler - hence memmove.
15850
15851         * regex.c (regex_compile): Remove accidental use of trigraphs.
15852
15853 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15854
15855         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
15856         event timestamp.
15857
15858 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15859
15860         * event-msw.c (mswindows_drain_windows_queue): Added the
15861         parameter.
15862         (mswindows_need_event): Commented the call to
15863         mswindows_drain_windows_queue().
15864         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
15865         only.
15866
15867         * console-msw.h: Moved a few function prototypes here from
15868         event-msw.c.
15869
15870         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
15871         parameter from unsigned short to unsigned long.
15872         (Fmswindows_shell_execute): Added return value.
15873
15874 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15875
15876         * sysdep.c (init_system_name):
15877           process-unix.c (unix_canonicalized_host_name):
15878         Don't call freeaddrinfo() if getaddrinfo() fails.
15879
15880         * process-unix.c (unix_open_unix_network_stream):
15881         Moved the code to get a port # into address loop.
15882
15883 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15884
15885         * buffer.c (reinit_vars_of_buffer):
15886         The right place to initialize conversion_in_dynarr and
15887         conversion_out_dynarr.
15888
15889         * alloc.c (pdump): Use the real open() till sys_open() is functional.
15890
15891         * process-unix.c (unix_canonicalize_host_name): Muleize.
15892         (unix_open_network_stream): Muleize.
15893
15894         * buffer.h: Fix up prototypes for ralloc.c functions.
15895
15896 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
15897         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
15898         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
15899                 instead of gethostbyname()
15900         * process-unix.c: In unix_canonicalize_host_name() and
15901                 unix_open_network_stream(), add code to use getaddrinfo()
15902                 instead of gethostbyname().
15903
15904 2000-01-27  Daniel Pittman <daniel@danann.net>
15905
15906         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
15907         libs when built with flat Athena.
15908
15909 2000-01-27  Martin Buchholz  <martin@xemacs.org>
15910
15911         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
15912         Use coding standards for function prototypes.
15913
15914 2000-01-25  Martin Buchholz  <martin@xemacs.org>
15915
15916         * dialog-msw.c (push_lisp_string_as_unicode):
15917         * doc.c (unparesseuxify_doc_string):
15918         * dired.c (Fuser_name_completion_1):
15919         * dired.c (Fuser_name_all_completions):
15920         * dired.c (free_user_cache):
15921         * dired.c (user_name_completion):
15922         * console-x.c (get_display_arg_connection):
15923         * minibuf.c (clear_echo_area_internal):
15924         * minibuf.c (echo_area_append):
15925         * eldap.c (Fldap_open):
15926         * eldap.c (Fldap_search_internal):
15927         * frame-x.c (x_set_frame_text_value):
15928         * frame-x.c (x_set_frame_properties):
15929         * frame-x.c (x_create_widgets):
15930         * redisplay-tty.c (term_get_fkeys_1):
15931         * objects-x.c (x_parse_nearest_color):
15932         * objects-x.c (x_valid_color_name_p):
15933         * objects-x.c (x_initialize_font_instance):
15934         * objects-x.c (x_list_fonts):
15935         * objects-x.c (x_find_charset_font):
15936         * tooltalk.c (Fadd_tooltalk_message_arg):
15937         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
15938         * tooltalk.c (Fadd_tooltalk_pattern_arg):
15939         * process-unix.c (unix_create_process):
15940         * ntproc.c (sys_spawnve):
15941         * sound.c (Fplay_sound_file):
15942         * sound.c (Fplay_sound):
15943         * buffer.c (init_initial_directory):
15944         * buffer.c (init_buffer):
15945         * editfns.c (init_editfns):
15946         * editfns.c (Ftemp_directory):
15947         * editfns.c (Fuser_full_name):
15948         * editfns.c (uncache_home_directory):
15949         * editfns.c (get_home_directory):
15950         * editfns.c (Fuser_home_directory):
15951         * editfns.c (Fformat_time_string):
15952         * editfns.c (Fcurrent_time_string):
15953         * gui-x.c (button_item_to_widget_value):
15954         * database.c (Fopen_database):
15955         * event-Xt.c (x_to_emacs_keysym):
15956         * event-Xt.c (x_event_to_emacs_event):
15957         * event-Xt.c (describe_event_window):
15958         * event-msw.c (mswindows_wnd_proc):
15959         * glyphs-eimage.c (jpeg_instantiate):
15960         * glyphs-eimage.c (gif_instantiate):
15961         * glyphs-eimage.c (png_instantiate):
15962         * glyphs-eimage.c (tiff_instantiate):
15963         * glyphs-x.c (xbm_instantiate_1):
15964         * glyphs-x.c (x_xbm_instantiate):
15965         * glyphs-x.c (x_xface_instantiate):
15966         * glyphs-x.c (autodetect_instantiate):
15967         * glyphs-x.c (cursor_font_instantiate):
15968         * glyphs-x.c (x_widget_instantiate):
15969         * glyphs-x.c (x_widget_set_property):
15970         * glyphs-x.c (x_widget_property):
15971         * glyphs-x.c (BUILD_GLYPH_INST):
15972         * print.c (write_string_to_stdio_stream):
15973         * print.c (output_string):
15974         * print.c (Falternate_debugging_output):
15975         * print.c (Fexternal_debugging_output):
15976         * glyphs-msw.c (extract_xpm_color_names):
15977         * glyphs-msw.c (mswindows_xpm_instantiate):
15978         * glyphs-msw.c (bmp_instantiate):
15979         * glyphs-msw.c (resource_name_to_resource):
15980         * glyphs-msw.c (mswindows_resource_instantiate):
15981         * glyphs-msw.c (xbm_instantiate_1):
15982         * glyphs-msw.c (mswindows_xbm_instantiate):
15983         * glyphs-msw.c (mswindows_xface_instantiate):
15984         * glyphs-msw.c (mswindows_widget_instantiate):
15985         * glyphs-msw.c (add_tree_item):
15986         * glyphs-msw.c (add_tab_item):
15987         * glyphs-msw.c (mswindows_combo_box_instantiate):
15988         * glyphs-msw.c (mswindows_widget_property):
15989         * glyphs-msw.c (mswindows_combo_box_property):
15990         * glyphs-msw.c (mswindows_widget_set_property):
15991         * console.c (stuff_buffered_input):
15992         * objects-msw.c (mswindows_initialize_color_instance):
15993         * objects-msw.c (mswindows_valid_color_name_p):
15994         * objects-msw.c (mswindows_list_fonts):
15995         * objects-msw.c (mswindows_font_instance_truename):
15996         * bytecode.c (optimize_compiled_function):
15997         * select-x.c (symbol_to_x_atom):
15998         * select-x.c (x_atom_to_symbol):
15999         * select-x.c (hack_motif_clipboard_selection):
16000         * select-x.c (selection_data_to_lisp_data):
16001         * select-x.c (lisp_data_to_selection_data):
16002         * select-x.c (Fx_get_cutbuffer_internal):
16003         * select-x.c (Fx_store_cutbuffer_internal):
16004         * buffer.h (TO_EXTERNAL_FORMAT): New function.
16005         * buffer.h (TO_INTERNAL_FORMAT): New function.
16006         * emacs.c (make_arg_list_1):
16007         * emacs.c (make_argc_argv):
16008         * emacs.c (main_1):
16009         * emacs.c (Fdump_emacs):
16010         * emacs.c (split_string_by_emchar_1):
16011         * file-coding.h:
16012         * lisp.h:
16013         * lstream.h:
16014         * symsinit.h:
16015         * device-x.c (x_init_device):
16016         * device-x.c (Fx_valid_keysym_name_p):
16017         * device-x.c (Fx_get_font_path):
16018         * device-x.c (Fx_set_font_path):
16019         * glyphs.c (bitmap_to_lisp_data):
16020         * glyphs.c (pixmap_to_lisp_data):
16021         * alloc.c (make_ext_string): Use coding system arguments.  Update
16022         all callers.
16023         * alloc.c (build_string):
16024         * callproc.c (child_setup):
16025         * callproc.c (init_callproc):
16026         * fileio.c (lisp_strerror):
16027         * fileio.c (directory_file_name):
16028         * fileio.c (Fexpand_file_name):
16029         * fileio.c (Ffile_truename):
16030         * fileio.c (Fsysnetunam):
16031         * fileio.c (Fdo_auto_save):
16032         * sysdep.c (sys_readdir):
16033         * tests.c: New file.  Allow adding C tests.
16034         Replace GET_* macros with a more comprehensible and flexible
16035         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
16036         Modify all calls.
16037         Any coding system can be used to do format conversion.
16038         Eliminate enum external_data_format.
16039         Eliminate convert_to_external_format.
16040         Eliminate convert_to_internal_format.
16041         Make sure file-name, keyboard, terminal, and ctext are always
16042         defined as coding systems or aliases.  Make
16043         file-name-coding-system, terminal-coding-system, and
16044         keyboard-coding-system magical variables that are equivalent to
16045         defining the corresponding coding system aliases.
16046
16047         * file-coding.c (Fcoding_system_canonical_name_p): New function.
16048         * file-coding.c (Fcoding_system_alias_p): New function.
16049         * file-coding.c (Fcoding_system_aliasee): New function.
16050         * file-coding.c (append_suffix_to_symbol): New function.
16051         * file-coding.c (dangling_coding_system_alias_p): New function.
16052         * file-coding.c (Ffind_coding_system):
16053         * file-coding.c (Fcopy_coding_system):
16054         * file-coding.c (encode_coding_no_conversion):
16055         * file-coding.c (syms_of_file_coding):
16056         * file-coding.c (vars_of_file_coding):
16057         Rewrite coding system alias code.
16058         Allow nested aliases, like symbolic links.
16059         Allow redefinition of coding system aliases.
16060         Prevent existence of dangling coding system aliases.
16061
16062         * dired.c (Fuser_name_completion_1):
16063         * dired.c (Fuser_name_all_completions):
16064         A crash would happen if user did QUIT in the middle of building
16065         user_name_cache.  Remove redundant code in mainline and unwind_protect.
16066
16067         * lisp.h:
16068         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
16069
16070         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
16071         an unsigned char *.  Update all callers.
16072
16073 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16074
16075         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
16076
16077 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16078
16079         * elhash.c (hentry_description): Use more portable definition.
16080         (resize_hash_table): Initialize new hentries using
16081         xnew_array_and_zero, thereby simplifying the code.
16082
16083         * mule-charset.c (make_charset): Make sure entire object is
16084         initialized, to avoid Purify warnings.
16085
16086         * alloc.c (resize_string): Fix unlikely crash with big strings.
16087
16088 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16089
16090         * realpath.c (xrealpath):
16091         Don't call getwd().
16092
16093 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16094
16095         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
16096
16097 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
16098
16099         * unexelfsgi.c (unexec): Change the way we decide which segment
16100         should be extended.
16101
16102         Assumption that .bss section should be outside the PT_LOADable
16103         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
16104         it's present) is inside the 'data' segment. This would fail the
16105         test which was used to find a segment to grow and cover new
16106         heap. Instead of this assumption, I created another one - on IRIX
16107         the segment to grow should start below .bss and it's address
16108         should extent above the end of .bss. Once this segment is
16109         identified, it's grown to accommodate the new heap and new
16110         zero-length .bss section is added at the end of .data2.
16111
16112 2000-01-25  Martin Buchholz  <martin@xemacs.org>
16113
16114         * eval.c (Feval): Wrong number of arguments should use original
16115         function, not the indirect_function version of it.
16116
16117 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
16118
16119         * glyphs-x.c (x_button_instantiate): Don't add image if
16120         it is not a pixmap.
16121         (x_locate_pixmap_file): Call Fexpand_file_name when file name
16122         is relative.
16123
16124 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
16125
16126         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
16127         declaration.
16128         (DEFVAR_INT_MAGIC): Ditto.
16129         (DEFVAR_BOOL_MAGIC): Ditto.
16130         * glyphs.h: Reindent backslash.
16131
16132 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16133
16134         * glyphs-widget.c (layout_query_geometry):
16135         (layout_layout): Use correct types for gheight, gwidth.
16136
16137 2000-01-24  Martin Buchholz  <martin@xemacs.org>
16138
16139         * EmacsManager.c (QueryGeometry): Purified.
16140
16141 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16142
16143         * alloc.c (make_float): Make sure entire object is initialized, to
16144         avoid Purify warnings.
16145         (pdump_register_sub): Remove useless assignment.
16146         (pdump): Use xmalloc, not malloc.
16147         (pdump_load): Use xmalloc, not malloc.
16148
16149 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16150
16151         * callproc.c:
16152         * dired-msw.c:
16153         * fileio.c:
16154         * process-nt.c:
16155         * redisplay-msw.c:
16156         * sysdep.c: Removed redundant #include <windows.h>
16157
16158 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16159
16160         * frame.c (delete_frame_internal): Do not delete device when its
16161         implementation so declares.
16162         (delete_frame_internal): Set device selected frame to nil when
16163         last frame goes away.
16164
16165         * device-msw.c (msprinter_device_system_metrics): Implemented.
16166         (mswindows_device_system_metrics): Added 'device-dpi property.
16167
16168         * device.c: (Fdevice_printer_p): Added.
16169         Added 'offset-workspace device metric.
16170
16171         * console.h (device_metrics): Declared DM_offset_workspace.
16172
16173 2000-01-23  Martin Buchholz  <martin@xemacs.org>
16174
16175         * fileio.c (Ffile_truename): Remove pointless and confusing
16176         initialization of elen.
16177
16178         * glyphs-widget.c: Compiler warning fixes.
16179
16180 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
16181
16182         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
16183         instead of a Lisp_Object as argument to make it consistent with
16184         the other LIVE_P macros.
16185         (CHECK_LIVE_PROCESS): New macro.
16186
16187         * process.c: Declare Qprocess_live_p.
16188         (Fprocess_live_p): New function.
16189         (create_process): Use PROCESS_LIVE_P.
16190         (read_process_output): Ditto.
16191         (set_process_filter): Ditto.
16192         (Fdelete_process): Ditto.
16193         (kill_buffer_processes): Ditto
16194         (process_send_signal): Use CHECK_LIVE_PROCESS.
16195         (Fprocess_input_coding_system): Check whether process is still
16196         alive (fix PR#1061).
16197         (Fprocess_output_coding_system): Ditto.
16198         (Fprocess_coding_system): Ditto.
16199         (Fset_process_input_coding_system): Ditto.
16200         (Fset_process_output_coding_system): Ditto.
16201
16202 2000-01-23  Andy Piper  <andy@xemacs.org>
16203
16204         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
16205         layout and widget.
16206
16207         * glyphs.c (mark_image_instance): take into account changed
16208         image_instance format.
16209         (image_instance_equal): ditto.
16210         (image_instance_hash): ditto.
16211
16212         * glyphs-widget.c (widget_instantiate): Incorporate layout
16213         instantiation here. Delay layout of the layout until later.
16214         (layout_instantiate): deleted.
16215         (layout_query_geometry): new function. get the geometry of a
16216         layout.
16217         (layout_layout): layout a layout dynamically.
16218         (image_instantiator_widget): New function - splitting up
16219         image_instantiator_format_create_glyphs_widget for netwinder
16220         compilation.
16221         (image_instantiator_buttons):
16222         (image_instantiator_edit_fields):
16223         (image_instantiator_combo_box):
16224         (image_instantiator_scrollbar):
16225         (image_instantiator_progress_guage):
16226         (image_instantiator_tree_view):
16227         (image_instantiator_tab_control):
16228         (image_instantiator_labels):
16229         (image_instantiator_layout): ditto.
16230         (image_instantiator_format_create_glyphs_widget): Call preceding
16231         functions.
16232
16233 2000-01-22  Martin Buchholz  <martin@xemacs.org>
16234
16235         * process.c (Fset_process_coding_system):
16236         * device-x.c (Fx_keysym_hash_table):
16237         Docstring fixes.
16238
16239         * lstream.c (Lstream_write): Return documented value, not 0.
16240
16241         * fileio.c (directory_file_name):
16242         (Fsubstitute_in_file_name):
16243         (Fsubstitute_insert_file_contents_internal):
16244         (Fwrite_region_internal):
16245         * emacs.c:
16246         * sysdep.c:
16247         * getloadavg.c:
16248         * systty.h:
16249         Remove vestigial APOLLO-conditional code.
16250
16251 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16252
16253         * getpagesize.h: Add guard macros.
16254         * libsst.h: Add guard macros.
16255         * libst.h: Add guard macros.
16256         * line-number.h: Add guard macros.
16257         * ndir.h: Add guard macros.
16258         * sysfloat.h: Add guard macros.
16259         * sysfile.h: Add guard macros.
16260         * sysproc.h: Add guard macros.
16261         * syswait.h: Add guard macros.
16262         * xintrinsic.h: Add guard macros.
16263         * xintrinsicp.h: Add guard macros.
16264         * xmmanager.h: Add guard macros.
16265         * xmmanagerp.h: Add guard macros.
16266         * xmprimitive.h: Add guard macros.
16267         * xmu.h: Add guard macros.
16268         * gpmevent.h: Add copyright statement. Add guard macros.
16269         * miscplay.h: Add guard macros.
16270         * *.h: Use consistent C-standards-approved guard macro names.
16271
16272         * opaque.c (make_opaque): Switch parameter order.
16273         * opaque.h (make_opaque): Switch parameter order.
16274         Update all callers.
16275         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
16276
16277         * config.h.in (type_checking_assert): Added.
16278         (bufpos_checking_assert): Added.
16279
16280 2000-01-21  Martin Buchholz  <martin@xemacs.org>
16281
16282         * alloc.c: Harmless pdump changes.
16283         - Use countof().
16284         - spell alignment correctly.
16285         * sysdep.c: Use countof()
16286
16287 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16288
16289         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
16290         initially_selected_for_input() console method, default to 0.
16291         (semi_canonicalize_console_connection): Try to delegate to
16292         canonicalize_console_connection if no such console method.
16293         (canonicalize_console_connection): Vice versa.
16294         (print_console): Do not print nil connection.
16295
16296         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
16297         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
16298         (XDEVIMPF_FRAMELESS_OK): Added.
16299         (CONSOLE_INHERITS_METHOD): Added.
16300
16301         * console-msw.c (mswindows_canonicalize_console_connection):
16302         Added.
16303         (mswindows_canonicalize_device_connection): Added.
16304
16305         * console-msw.h (struct msprinter_device): Added this struct and
16306         accessor macros.
16307         (mswindows_device): Made fontlist a lisp object.
16308
16309         * device.c (semi_canonicalize_device_connection):  Try to delegate
16310         to canonicalize_device_connection if no such console method.
16311         (canonicalize_device_connection): Vice versa.
16312         (print_device): Do not print nil connection.
16313
16314         * device-msw.c (mswindows_init_device): Call InitCommonControls
16315         when have widgets.
16316         (mswindows_delete_device): Removed fontlist deallocation.
16317         (mswindows_mark_device): Added.
16318
16319         * events.c (event_equal): Added abort() at unreached code.
16320         (event_hash): Ditto.
16321
16322         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
16323         fallback tags of Windows devices.
16324
16325         * general.c (syms_of_general): Initialized Qmsprinter.
16326
16327         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
16328         of fallback tags of Windows devices.
16329
16330         * lisp.h: Declared Qmsprinter.
16331
16332         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
16333         of strings.
16334         (mswindows_list_fonts): Ditto.
16335         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
16336         that it can be used by both mswindows and msprinter devices.
16337         (initialize_font_instance): Added.
16338         (mswindows_initialize_font_instance): Use it.
16339         (msprinter_initialize_font_instance): Added.
16340
16341         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
16342         and implementation flags check.
16343         (redisplay_without_hooks): Changed the call to the above.
16344         (Fredraw_device): Ditto.
16345         (Fredisplay_device): Ditto.
16346
16347         * redisplay-msw.c (get_frame_dc): Implemented.
16348         (get_frame_compdc): Implemented.
16349         (many functions): Use the two functions above to get device
16350         contexts, ether for a window or a printer.
16351
16352 2000-01-21  Olivier Galibert  <galibert@pobox.com>
16353
16354         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
16355         initialization here.
16356         (init_symbols_once_early): Call it.
16357         * emacs.c (main_1): Call it.
16358         * symsinit.h: Declare it.
16359
16360 2000-01-19  Olivier Galibert  <galibert@pobox.com>
16361
16362         * alloc.c: Use a lrecord_header * in the backtrace instead of a
16363         Lisp_Object.
16364         (pdump_backtrace): Ditto.
16365         (pdump_register_object): Ditto.  Cleanup use of the pointers.
16366         (pdump_get_entry): Abort if trying to register a null pointer.
16367         (pdump_dump_data): Cleanup types when relocating.
16368         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
16369         (pdump_dump_rtables): Remove bad casts.
16370         (pdump_load): Cleanup relocation w.r.t union type.  Use a
16371         Lisp_Object instead of a EMACS_INT for the hashtable
16372         reorganization.
16373
16374 2000-01-20  Martin Buchholz  <martin@xemacs.org>
16375
16376         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
16377
16378         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
16379
16380         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
16381
16382         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
16383
16384 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16385
16386         * faces.h (FACE_STRIKETHRU_P): Added.
16387
16388         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
16389         of font variants.
16390
16391         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
16392         (mswindows_set_dc_font): New function, aware of font variants,
16393         separated from mswindows_update_dc.
16394
16395         * objects-msw.h (struct mswindows_font_instance_data): Added
16396         definition.
16397
16398         * objects-msw.c (mswindows_finalize_font_instance): Delete all
16399         cached fonts and the data structure.
16400         (mswindows_initialize_font_instance): Added creation of font data
16401         structure.
16402         (mswindows_print_font_instance): Print at least something.
16403         (mswindows_create_font_variant): Implemented.
16404         (mswindows_get_hfont): Implemented.
16405
16406 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
16407
16408         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
16409         prototyping problem with msvc.
16410
16411         * emacs.c (main_1): added syms_of_gui_mswindows() call
16412
16413         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
16414         syms_of_gui_mswindows() function
16415
16416         * symsinit.h: added the prototype for syms_of_gui_mswindows()
16417
16418 2000-01-18  Martin Buchholz <martin@xemacs.org>
16419
16420         * XEmacs 21.2.27 is released.
16421
16422 2000-01-18  Martin Buchholz  <martin@xemacs.org>
16423
16424         * glyphs-eimage.c (struct tiff_error_struct):
16425         (tiff_error_func):
16426         (tiff_warning_func):
16427         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
16428
16429         * unexmips.c:
16430         * unexhp9k3.c:
16431         * unexfreebsd.c:
16432         * unexec.c: Remove vestigial Lucid C code.
16433         * unexalpha.c:
16434         * unexaix.c:
16435         * termcap.c:
16436         * libsst.c: Ansify.
16437         Remove declarations of errno and strerror().
16438
16439         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
16440
16441         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
16442
16443 2000-01-16  Martin Buchholz  <martin@xemacs.org>
16444
16445         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
16446         Optimize.
16447
16448 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16449
16450         * md5.c:
16451         * file-coding.c:
16452         * file-coding.h:
16453         Change enum eol_type to eol_type_t.
16454
16455 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16456
16457         * gui.c (get_gui_callback): Check cons before accessing car.
16458
16459 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16460
16461         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
16462         (XSETSPECIFIER_TYPE): Ditto.
16463
16464 2000-01-17  Didier Verna  <didier@xemacs.org>
16465
16466         * redisplay.c (generate_fstring_runes): compute string size in
16467         characters, not bytes.
16468
16469 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16470
16471         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
16472
16473 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
16474
16475         * print.c (print_error_message): Call print_prepare().
16476
16477 2000-01-14  Martin Buchholz  <martin@xemacs.org>
16478
16479         * .dbxrc: Renamed from dbxrc.
16480
16481         * events.c (event_to_character):
16482         Use `assert (foo)' instead of `if (!foo) abort()'
16483
16484         * .gdbinit (xtype): Add documentation.
16485         * .gdbinit (check-temacs): New function.
16486         * .gdbinit (check-xemacs): New function.
16487         * dbxrc (check-xemacs): New function.
16488         * dbxrc (check-xemacs): New function.
16489
16490 2000-01-14  Andy Piper  <andy@xemacs.org>
16491
16492         * glyphs-widget.c (widget_query_geometry): Make sure that we
16493         calculate default dimensions correctly.
16494
16495 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16496
16497         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
16498
16499         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
16500         pdump_wire'd variable.
16501
16502         * emacs.c: (main_1): Conditionalized calls to
16503         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
16504
16505 2000-01-13  Martin Buchholz  <martin@xemacs.org>
16506
16507         * window.c (Fset_window_configuration):
16508         * sysdep.c (_start):
16509         * input-method-motif.c (res):
16510         * event-Xt.c (Xt_process_to_emacs_event):
16511         Simple compiler warning fixes.
16512
16513         * bytecode.c (funcall_compiled_function): Use the original
16514         function symbol on the backtrace list in preference to the
16515         compiled_function object in error messages.
16516
16517 2000-01-13  Andy Piper  <andy@xemacs.org>
16518
16519         * glyphs-x.c (update_widget_face): Make sure we update the widget
16520         background as well as foreground.
16521
16522 2000-01-13  Andy Piper  <andy@xemacs.org>
16523
16524         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
16525         fields to subwindow.
16526         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
16527         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
16528         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16529         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
16530
16531         * glyphs-widget.c (check_valid_tab_orientation): new function.
16532         (initialize_widget_image_instance): zero orientation and
16533         justification.
16534         (widget_instantiate): pick up orientation.
16535         (tab_control_query_geometry): return appropriate values for
16536         vertical tabs.
16537
16538         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
16539         appropriate creation flags for left, right and bottom tabs.
16540
16541         * s/cygwin32.h: add tab definitions.
16542
16543 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16544
16545         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
16546         frame upon hiding a subwindow.
16547         (mswindows_button_instantiate): Changed the push button style to
16548         BS_PUSHBUTTON.
16549         (mswindows_button_instantiate): Removed button BS_NOTIFY
16550         style.
16551         (mswindows_button_instantiate): Removed redundant check for
16552         a disabled gui item.
16553         (mswindows_button_instantiate): Made use of WS_TABSTOP
16554         consistent: "operable" controls (edit, button, tree, scroll) have
16555         this style, "display-only" ones (static, progress gauge) do
16556         not. This style is currently ignored by XEmacs though. Also,
16557         removed the WS_EX_CONTROLPARENT style - it is not for children,
16558         it is for their parents!
16559         (mswindows_edit_field_instantiate): Ditto.
16560         (mswindows_progress_gauge_instantiate): Ditto.
16561         (mswindows_tree_view_instantiate): Ditto.
16562         (mswindows_tab_control_instantiate): Ditto.
16563         (mswindows_scrollbar_instantiate): Ditto.
16564         (mswindows_combo_box_instantiate): Ditto.
16565         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
16566         style to the "clip" window.
16567         (mswindows_button_instantiate): Removed compilation warning by
16568         equally typing terms of the ?: operator.
16569
16570 2000-01-12  Didier Verna  <didier@xemacs.org>
16571
16572         * redisplay.c (generate_fstring_runes): new parameter holding the
16573         last modeline-format extent.
16574         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
16575         extent, fill the glyph block with it.
16576         (generate_fstring_runes): handle these parameters.
16577         (generate_formatted_string_db): ditto.
16578
16579         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
16580         glyphs'extents in the modeline.
16581
16582 1999-01-11  Mike Woolley  <mike@bulsara.com>
16583
16584         * ntheap.c: Reduced the reserved heap space from 1Gb down to
16585         256Mb, as a workaround for the non-starting problem many people
16586         have experienced.
16587
16588 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16589
16590         * console-tty.c (Fset_console_tty_output_coding_system):
16591         Force redrawing tty frame.
16592
16593 2000-01-10  Didier Verna  <didier@xemacs.org>
16594
16595         * redisplay.c (generate_fstring_runes): fix size computation bug.
16596
16597 2000-01-09  William M. Perry <wmperry@aventail.com>
16598
16599         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
16600
16601 2000-01-09  Andy Piper  <andy@xemacs.org>
16602
16603         * glyphs-msw.c: index -> i to avoid shadows.
16604         (xbm_create_bitmap_from_data): make static.
16605         (check_valid_string_or_int): deleted.
16606         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
16607
16608         * glyphs-x.c (x_update_subwindow): remove unused args.
16609
16610         * glyphs.c (glyph_image_instance): return the thing. Don't set the
16611         back pointer - this is done in allocate_image_instance.
16612         (query_string_font): return Qnil to make the compiler happy.
16613         (unmap_subwindow): set to ~0 to make the compiler happy.
16614         (glyph_query_geometry): comment out until used.
16615         (glyph_layout): ditto.
16616
16617 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
16618
16619         * insdel.c (signal_after_change): Remove extraneous unbind_to().