update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2010-03-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * chartab.c (save_uint8_byte_table): Fixed problem when a property
4         is unloaded.
5         (save_uint16_byte_table): Likewise.
6
7 2010-02-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * chartab.c (Fchar_feature_property): New function when LIBCHISE
10         is enabled.
11         (Fput_char_feature_property): Likewise.
12         (syms_of_chartab): Add new builtin functions
13         `char-feature-property' and `put-char-feature-property' when
14         LIBCHISE is enabled.
15
16 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
17
18         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
19         '=>iso-ir.
20         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
21
22 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
23
24         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
25         (make_charset): Add new argument `iso_ir'.
26         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
27         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
28         XEmacs CHISE.
29         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
30         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
31         XEmacs CHISE.
32         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
33         function `make_charset'.
34
35         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
36         (struct Lisp_Charset): Add new member `iso_ir'.
37         (CHARSET_ISO_IR): New macro.
38
39 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
42         code-point by GL charset.
43
44 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * concord.c (concord_id_validate): New function.
47         (structure_type_create_concord): Use `concord_id_validate' instead
48         of `concord_name_validate' to accept integer and character as =id.
49
50 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
51
52         * concord.c (func_for_each_object): Fix bug about GC-protection.
53
54 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
55
56         * concord.c (Fconcord_object_put): Check argument FEATURE is a
57         symbol.
58
59 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
60
61         * text-coding.c (struct decoding_stream): Add new member
62         `bom_flag' in XEmacs CHISE.
63         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
64         in XEmacs CHISE.
65
66 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * mule-charset.c: Move definition of `=jis-x0208@1978' to
69         lisp/mule/mule-conf.el.
70
71 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
74         (make_charset): Add new argument `partial'.
75         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
76         (Fmake_reverse_direction_charset): Modify for `make_charset'.
77         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
78         CHISE.
79         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
80         `=jis-x0208' as a partial coded-charset.
81
82 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * text-coding.c (decode_add_er_char): Fix problem when a character
85         represented by an entity-reference is not defined.
86
87 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
88
89         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
90         Qrep_*.
91
92 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
93
94         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
95         (Kasagi).
96
97 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
98
99         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
100         is a relation feature.
101
102 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
103
104         * chartab.c (syms_of_chartab): Define
105         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
106
107         * chartab.h (Q_denotational): New extern when UTF2000 or
108         HAVE_CONCORD is defined.
109         (Q_denotational_from): Likewise.
110         (Q_subsumptive): Likewise.
111         (Q_subsumptive_from): Likewise.
112
113 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * concord.c (concord_object_put): New function.
116         (Fconcord_object_put): Use `concord_object_put'.
117
118 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
119
120         * concord.c (Fconcord_define_object): New function.
121         (syms_of_concord): Add new builtin function
122         `concord-define-object'.
123
124 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
127         (Kamo).
128
129 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
130
131         * concord.c: Add EXFUN for Fconcord_object_get.
132         (Vconcord_genre_object_hash_table): New variable.
133         (concord_genre_cache_get_object): New function.
134         (concord_genre_cache_put_object): New function.
135         (Fconcord_make_object): Use object cache; put object-ID into `=id'
136         feature.
137         (Fconcord_object_put): Call `concord_index_sync' after
138         `concord_index_strid_put_obj'.
139         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
140
141 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
142
143         * concord.c (Fconcord_decode_object): Do GCPRO for
144         Fconcord_make_object.
145         (func_for_each_object): Likewise; do GCPRO for
146         for_each_object_closure->function.
147         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
148         for_each_object_closure->function, for_each_object_closure->genre,
149         for_each_object_closure->ds and for_each_object_closure->ret.
150         (concord_object_validate): Do GCPRO for Fconcord_make_object.
151
152 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
153
154         * concord.c: Add EXFUNs for Fconcord_decode_object and
155         Fconcord_object_put.
156         (Fconcord_make_object): Change order of arguments.
157         (Fconcord_decode_object): Modify for Fconcord_make_object.
158         (func_for_each_object): Likewise.
159         (concord_object_validate): Likewise.
160         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
161
162 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
163
164         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
165
166 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * concord.c (Fconcord_decode_object): Try to use readable print
169         form as a key of Concord-index.
170         (Fconcord_object_get): Try to use readable print form as an ID of
171         Concord-object.
172         (Fconcord_object_put): Try to use readable print form as an ID of
173         Concord-object and a feature value.
174         (Fconcord_object_spec): Try to use readable print form as an ID of
175         Concord-object.
176
177 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
178
179         * concord.c (print_concord_object): Support readable form.
180
181 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
182
183         * emacs.c (main_1): Call `structure_type_create_concord' when
184         HAVE_CONCORD is defined.
185
186         * symsinit.h (structure_type_create_concord): New prototype.
187
188         * concord.c (Qconcord_object): New variable.
189         (Qgenre): Likewise.
190         (Q_id): Likewise.
191         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
192         for directory.
193         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
194         char*> for genre-name.
195         (Fconcord_feature_list): Likewise.
196         (Fconcord_make_object): Likewise.
197         (Fconcord_decode_object): Likewise; use <char*> instead of
198         <unsigned char*> for feature_name and strid.
199         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
200         c_obj and feature_name.
201         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
202         char*> for c_value.
203         (struct closure_for_object_spec): Use <char*> instead of <unsigned
204         char*> for member `object_id'.
205         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
206         char*> for feature-name.
207         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
208         for c_obj.
209         (func_for_each_object): Cast to avoid warnings.
210         (Fconcord_foreach_object_in_feature): Use <char*> instead of
211         <unsigned char*> for genre_name and feature_name.
212         (concord_name_validate): New function.
213         (concord_object_validate): Likewise.
214         (concord_object_instantiate): Likewise.
215         (syms_of_concord): Add new builtin symbols `concord-object',
216         `genre' and `=id'.
217         (structure_type_create_concord): New function.
218
219 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * concord.c (Vconcord_ds_hash_table): New variable.
222         (Vconcord_genre_hash_table): New variable.
223         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
224         (Fconcord_ds_directory): New function.
225         (Fconcord_assign_genre): New function.
226         (Fconcord_genre_directory): New function.
227         (Fconcord_genre_ds): New function.
228         (Fconcord_feature_list): Allow to omit `ds'.
229         (Fconcord_make_object): Likewise.
230         (Fconcord_decode_object): Likewise.
231         (Fconcord_foreach_object_in_feature): Likewise.
232         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
233         Fconcord_assign_genre, Fconcord_genre_directory and
234         Fconcord_genre_ds.
235         (vars_of_concord): Setup Vconcord_ds_hash_table and
236         Vconcord_genre_hash_table.
237
238 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * concord.c (struct closure_for_each_object): Add new member
241         `ret'.
242         (func_for_each_object): Setup the return value to
243         `for_each_object_closure->ret'.
244         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
245         returns the value instead of Qt.
246
247 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
248
249         * concord.c: New file.
250
251 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
254         `lrecord_type_concord_object'.
255
256 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * symsinit.h (syms_of_concord): New prototype.
259         (vars_of_concord): New prototype.
260
261         * emacs.c (main_1): Setup symbols and variable about concord if
262         HAVE_CONCORD is defined.
263
264         * config.h.in (HAVE_CONCORD): New macro.
265
266 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * chartab.c (Fput_char_attribute): For each character relation
269         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
270
271 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
272
273         * chartab.c (Fput_char_attribute): Use
274         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
275         calling `put_char_composition'.
276
277 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
278
279         * chartab.c (Q_halfwidth_of): New variable.
280         (put_char_composition): Return `<-halfwidth' instead of
281         `=decomposition' for compatibility mapping to single character
282         tagged `narrow'.
283         (Fput_char_attribute): Convert char-specs in value of
284         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
285         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
286         for `<-halfwidth'.
287         (syms_of_chartab): Add new symbol `<-halfwidth'.
288
289 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
290
291         * chartab.c (put_char_composition): Return
292         `<-formed@{isolated|initial|medial|final}' for compatibility
293         mapping to single character tagged
294         `{isolated|initial|medial|final}'.
295
296 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
297
298         * chartab.c (Q_compat_of): Deleted.
299         (put_char_composition): Return `<-FOO' for compatibility mapping
300         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
301         of `symbol_name (XSYMBOL(...))'.
302         (Fput_char_attribute): Convert char-specs in value of
303         `{<-|->}font[^*]*' to characters and put reverse links.
304         (Fsave_char_attribute_table): Don't refer Q_compat_of.
305         (syms_of_chartab): Delete builtin symbol `<-compat'.
306
307 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
308
309         * chartab.c (Q_circled_of): New variable.
310         (put_char_composition): Return `<-circled' instead of
311         `=decomposition' for compatibility mapping to single character
312         tagged `circle'.
313         (Fput_char_attribute): Convert char-specs in value of
314         `{<-|->}circled[^*]*' to characters and put reverse links.
315         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
316         for `<-circled'.
317         (syms_of_chartab): Add new symbol `<-circled'.
318
319 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
320
321         * chartab.c (Qto_decomposition_at_circled): New variable.
322         (put_char_composition): Return `=>decomposition@circled' instead
323         of `=decomposition' for compatibility decomposition mapping tagged
324         `circle'.
325         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
326
327 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
328
329         * chartab.c (Q_subscript_of): New variable.
330         (put_char_composition): Return `<-subscript' instead of
331         `=decomposition' for compatibility mapping to single character
332         tagged `sub'.
333         (Fput_char_attribute): Convert char-specs in value of
334         `{<-|->}subscript[^*]*' to characters and put reverse links.
335         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
336         for `<-subscript'.
337         (syms_of_chartab): Add new symbol `<-subscript'.
338
339 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * chartab.c (Q_superscript_of): New variable.
342         (put_char_composition): Return `<-superscript' instead of
343         `=decomposition' for compatibility mapping to single character
344         tagged `super'.
345         (Fput_char_attribute): Convert char-specs in value of
346         `{<-|->}superscript[^*]*' to characters and put reverse links.
347         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
348         for `<-superscript'.
349         (syms_of_chartab): Add new symbol `<-superscript'.
350
351 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
352
353         * chartab.c (Qto_decomposition_at_compat): Deleted.
354         (Qto_decomposition_at_superscript): New variable.
355         (put_char_composition): Use `=>decomposition@superscript' instead
356         of `=decomposition' for compatibility decomposition mapping tagged
357         `super'.
358         (Fput_char_attribute): Fix condition about `put_char_composition'.
359         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
360         add news symbol `=>decomposition@superscript'.
361
362 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
363
364         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
365         for compatibility decomposition mapping tagged FOO.
366         (Fput_char_attribute): Modify for `put_char_composition'.
367
368 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
369
370         * chartab.c (Qto_decomposition_at_compat): New variable.
371         (Q_compat_of): Renamed from `Q_compatibility_of'.
372         (put_char_composition): Rename `Q_compatibility_of' to
373         `Q_compat_of'; return `=>decomposition@compat' for compatibility
374         decomposition mapping.
375         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
376         `Q_compat_of'.
377         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
378         `<-compatibility' to `<-compat'.
379
380 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
381
382         * chartab.c (Q_compatibility_of): New variable.
383         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
384         object is proved to be a cons cell; return `<-compatibility' if
385         the first element of argument `value' is `compat'.
386         (Fput_char_attribute): Eliminate the first value if
387         `put_char_composition' returns `<-compatibility'.
388         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
389         for `<-compatibility'.
390         (syms_of_chartab): Add new symbol `<-compatibility'.
391
392 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
393
394         * chartab.c (Q_canonical): New variable.
395         (put_char_composition): Return a feature name: return
396         `->canonical' if argument `value' specifies single character.
397         (Fput_char_attribute): Use `put_char_composition' to determine
398         feature name for `=decomposition' or `->denotational'.
399         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
400         for `->canonical'.
401         (syms_of_chartab): Add new symbol `->canonical'.
402
403 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
404
405         * chartab.c (Qmap_decomposition): New variable.
406         (Fput_char_attribute): Convert `->decomposition' to
407         `=decomposition'.
408         (syms_of_chartab): Add new symbol `=decomposition'.
409
410 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
411
412         * chartab.c (Fget_range_char_table): Fix serious problem when
413         `range' is nil.
414
415 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
416
417         * chartab.c (char_table_get_db): Use `read_from_c_string'.
418
419 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
420
421         * lread.c (read_from_c_string): New function.
422
423         * lisp.h (read_from_c_string): New prototype.
424
425 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
426
427         * chartab.c (Fput_char_attribute): Convert char-specs in value of
428         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
429         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
430         for `{<-|->}Oracle-Bones[^*]*'.
431
432 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
433
434         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
435         (Kizu).
436
437 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
438
439         * text-coding.c (Qccs_priority_list): New variable in XEmacs
440         CHISE.
441         (Fmake_coding_system): Support new property `ccs-priority-list' in
442         XEmacs CHISE.
443         (Fcoding_system_property): Likewise.
444         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
445         Vdefault_coded_charset_priority_list in XEmacs CHISE.
446         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
447         XEmacs CHISE.
448         (complex_vars_of_file_coding): Define new coding-system-property
449         `ccs-priority-list' in XEmacs CHISE.
450
451         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
452
453 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
454
455         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
456         changed to normal function.
457         (encode_char_2): Likewise.
458
459         * mule-charset.c (decoding_table_put_char): Copied from
460         char-ucs.h; changed to normal function.
461         (encode_char_2): Likewise.
462
463 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
464
465         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
466         New extern.
467         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
468         (encode_char_2_search_children): New inline function.
469         (encode_char_2): Refer
470         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
471         and use `encode_char_2_search_children'.
472
473 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * mule-charset.c
476         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
477         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
478         (vars_of_mule_charset): Add new variable
479         `display-coded-charset-priority-use-inheritance' and
480         `display-coded-charset-priority-use-hierarchy-order'.
481
482 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
483
484         * char-ucs.h (Q_subsumptive): New extern.
485         (Q_denotational): Likewise.
486         (encode_char_2): Search children specified by `->subsumptive' and
487         `->denotational'.
488
489 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
490
491         * mule-charset.c (complex_vars_of_mule_charset): Modify the
492         X-registry of `ucs-bmp'.
493
494 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
495
496         * chartab.c (char-variants): Refer `->subsumptive',
497         `->denotational' and `->identical' as same as `->ucs-unified'.
498
499 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
500
501         * chartab.c (Fput_char_attribute): Convert char-specs in value of
502         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
503         links.
504
505 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
506
507         * text-coding.c: Add EXFUN for `Fregexp_quote'.
508         (decode_add_er_char): Fix problem about infinite loop when a CCS
509         specified in `coded-charset-entity-reference-alist' is not
510         existed.
511
512 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
513
514         * mule-charset.c (syms_of_mule_charset): Rename
515         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
516
517 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
518
519         * fns.c (simplify_char_spec): Don't allocate new character-object
520         if specified char_spec does not have any CCS-features.
521
522         * chartab.h: Add EXFUN for Fdefine_char.
523
524         * chartab.c: Delete EXFUN for Fdefine_char.
525
526 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
527
528         * fns.c (simplify_char_spec): Use Fdefine_char instead of
529         Ffind_char for char-spec.
530
531 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
532
533         * lisp-disunion.h (XCHARVAL): Fix condition about
534         SIZEOF_EMACS_INT.
535
536 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
537
538         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
539         <int> for `code'.
540         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
541         point; use <Emchar> instead of <int> for character-id.
542
543 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
544
545         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
546         (make_char): Likewise.
547         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
548         environment.
549         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
550         instead of <int> as the type of return value; use <Lisp_Object>
551         instead of <Emchar> as the type of argument.
552         (XCHARVAL[macro version]): Cast the result into <Emchar>.
553
554         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
555         syntaxcode> instead of <int>.
556
557 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * chartab.c (put_char_composition): Use DECODE_CHAR to get
560         character corresponding with UCS code point.
561         (Fput_char_attribute): Likewise.
562
563         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
564         character in the UCS decoding-table if the char-id is not equal to
565         the UCS code point.
566
567 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
568
569         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
570         for aliases; write `description'; write
571         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
572         not 0.
573
574 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
575
576         * chartab.c (Fsave_char_attribute_table): Don't use
577         `save_charset_properties'.
578
579         * mule-charset.c (Fsave_charset_properties): Renamed from
580         `save_charset_properties' and changed to Lisp function again;
581         write property `type' as `CCS'; write properties `final-byte' and
582         `mother' if they exists.
583         (syms_of_mule_charset): Revive builtin function
584         `save-charset-properties' when HAVE_LIBCHISE is defined.
585
586 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
587
588         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
589         instead of Vexec_directory.
590         (char_attribute_system_db_file): Likewise.
591
592 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * chartab.c (Fsave_char_attribute_table): Use
595         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
596         defined.
597
598         * mule-charset.c (save_charset_properties): Renamed from
599         `Fsave_charset_properties'; changed to non-Lisp function.
600         (syms_of_mule_charset): Abolish builtin function
601         `save-charset-properties'.
602
603 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
604
605         * mule-charset.c (Fsave_charset_properties): New function when
606         HAVE_LIBCHISE is defined.
607         (syms_of_mule_charset): Add new builtin function
608         `save-charset-properties' when HAVE_LIBCHISE is defined.
609
610 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
611
612         * chartab.c (Fput_char_attribute): Convert char-specs in value of
613         `{<-|->}ancient[^*]*' to characters and put reverse links.
614         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
615         for `{<-|->}ancient[^*]*'.
616
617 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
618
619         * chartab.c (Fput_char_attribute): Convert char-specs in value of
620         `{<-|->}original[^*]*' to characters and put reverse links.
621         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
622         for `{<-|->}original[^*]*'.
623
624 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
625
626         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
627
628 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * mule-charset.c (Qsystem_char_id): New variable.
631
632         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
633         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
634
635 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
636
637         * chartab.c (Fput_char_attribute): When processing a reference of
638         a character, put into the end of the reversed reference of each
639         target character.
640
641 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
642
643         * chartab.c (Q_same): Deleted.
644         (Q_same_of): Deleted.
645         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
646         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
647         for `{<-|->}same'.
648         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
649
650 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
651
652         * chartab.c (Q_vulgar): Deleted.
653         (Q_vulgar_of): Deleted.
654         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
655         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
656         for `{<-|->}vulgar'.
657         (syms_of_chartab): Don't define `{<-|->}vulgar'.
658
659 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
660
661         * chartab.c (Fput_char_attribute): Convert char-specs in value of
662         `{<-|->}wrong[^*]*' to characters and put reverse links.
663         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
664         for `{<-|->}wrong[^*]*'.
665
666 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
667
668         * chartab.c (Q_vulgar): New variable.
669         (Q_vulgar_of): New variable.
670         (Fput_char_attribute): Convert char-specs in value of
671         `{->|<-}vulgar' to characters and put reverse links.
672         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
673         for `{->|<-}vulgar'.
674         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
675
676 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
677
678         * text-coding.c (decode_add_er_char): Must to quote prefix string
679         as regexp.
680
681 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
682
683         * mule-charset.c (put_char_ccs_code_point): Store characters of
684         =ucs whose code_points >= 0xF0000.
685
686 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
687
688         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
689         CHISE.
690         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
691         CHISE.
692         (complex_vars_of_mule_charset): Add new coded-charset
693         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
694         builtin characters over 0xEFFFF.
695
696         * chartab.c (syms_of_chartab): Don't define symbol
697         `system-char-id' in every case.
698
699         * char-ucs.h (Qsystem_char_id): New extern variable.
700         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
701
702 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
703
704         * text-coding.c (char_encode_utf8): Try to use entity-references
705         for U-000F0000 ...  U-0010FFFF.
706
707 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
708
709         * text-coding.c (ER_BUF_SIZE): New macro.
710         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
711         `er_buf'.
712         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
713         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
714
715 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
716
717         * chartab.c (find_char_feature_in_family): New function.
718         (Fchar_feature): Use `find_char_feature_in_family' with
719         `->identical', `<-subsumptive' and `<-denotational'.
720
721 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * text-coding.c (char_encode_as_entity_reference): Allow prefix
724         within 8 characters; fix infinite loop.
725
726 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
727
728         * chartab.c (Q_same): New variable.
729         (Q_same_of): New variable.
730         (Fput_char_attribute): Convert char-specs in value of
731         `{->|<-}same' to characters and put reverse links.
732         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
733         for `{->|<-}same'.
734         (syms_of_chartab): Add new symbols `{->|<-}same'.
735
736 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
737
738         * chartab.c (Q_component): New variable.
739         (Q_component_of): Likewise.
740         (Fput_char_attribute): Convert char-specs in value of
741         `{->|<-}ideographic-component-forms' to characters and put reverse
742         links.
743         (syms_of_chartab): Add new symbols
744         `{->|<-}ideographic-component-forms'.
745
746 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
747
748         * chartab.c (Q_identical): New variable.
749         (Q_identical_from): New variable.
750         (Fchar_feature): Regard `->identical' as a feature to find
751         ancestors.
752         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
753         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
754         for `{->|<-}identical'.
755         (syms_of_chartab): Add new symbols `{->|<-}identical'.
756
757 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
758
759         * char-ucs.h (encode_char_2): New inline function.
760         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
761
762 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
763
764         * chartab.c (Fput_char_attribute): Convert char-specs to
765         characters in value of `ideographic-structure'.
766         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
767         for `{<-|->}simplified(@...)'.
768         (Fdefine_char): Try to use predefined character's id.
769
770 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
771
772         * fns.c (simplify_char_spec): Try to convert builtin chars to
773         defined chars.
774
775 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
776
777         * chartab.c (Fput_char_attribute): Convert char-specs in value of
778         `<-simplified[^*]*' to characters and put reverse links.
779
780 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * chartab.c (Q_subsumptive): Renamed from Q_unified.
783         (Q_subsumptive_from): Renamed from Q_unified_from.
784         (Fchar_feature): Use `Q_subsumptive_from' instead of
785         `Q_unified_from'.
786         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
787         `Q_unified'.
788         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
789         `<-unified' to `<-subsumptive'.
790
791 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
792
793         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
794         inheritance itself; fix typo; stop recursive search if cyclic
795         inheritance is found.
796
797 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
798
799         * chartab.c (Q_denotational): New variable.
800         (Q_denotational_from): New variable.
801         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
802         (put_char_attribute): New function.
803         (Fput_char_attribute): Use `put_char_attribute'; regard
804         `->denotational' and `<-denotational' as same as `->unified' and
805         `<-unified'.
806         (syms_of_chartab): Add new symbols `->denotational' and
807         `<-denotational'.
808
809 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
810
811         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
812         `Fget_char_attribute'.
813         (Fchar_variants): Likewise.
814         (get_char_table): Likewise.
815         (Fchar_feature): New function.
816         (put_char_composition): Use `Fchar_feature' instead of
817         `Fget_char_attribute'.
818         (Fput_char_attribute): Likewise; don't put the target character
819         into its `->unified' value.
820         (syms_of_chartab): Add new builtin function `char-feature'.
821
822 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
823
824         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
825         `Fget_char_attribute'.
826         (char_encode_utf8): Likewise.
827
828         * chartab.h: Add an EXFUN for `Fchar_feature'.
829
830 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
831
832         * chartab.c (Vnext_defined_char_id): New variable.
833         (Fput_char_attribute): Accept characters in `->unified'.
834         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
835         new characters which are not related with builtin char-id ranges.
836         (vars_of_chartab): Add new variable `next-defined-char-id'.
837
838 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
839
840         * chartab.c (Q_unified): New variable.
841         (Q_unified_from): New variable.
842         (Fput_char_attribute): Add code for `->unified'.
843         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
844         XEmacs CHISE.
845
846 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
847
848         * mule-charset.c (decode_ccs_conversion): New function.
849         (decode_defined_char): Use `decode_ccs_conversion'.
850         (decode_builtin_char): Likewise.
851
852 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
853
854         * char-ucs.h: Change some charset-ids of private coded-charsets.
855
856 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
857
858         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
859         (char_encode_as_entity_reference): Likewise.
860         (decode_coding_big5): Modify for `decode_defined_char' and
861         `DECODE_CHAR'.
862         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
863         avoid compiler warning.
864         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
865
866         * mule-charset.c (decode_defined_char): Add new argument
867         `without_inheritance'.
868         (Fdecode_char): Add new optional argument `without_inheritance'.
869         (Fdecode_builtin_char): Modify for `Fdecode_char'.
870
871         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
872         (simplify_char_spec): Likewise.
873
874         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
875         setting.
876
877         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
878         (map_char_table): Likewise.
879         (Fdefine_char): Use `Fdecode_char' without inheritance.
880         (Ffind_char): Modify for `Fdecode_char'.
881
882         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
883
884         * char-ucs.h (decode_defined_char): Add new argument
885         `without_inheritance'.
886         (DECODE_CHAR): Likewise.
887         (MAKE_CHAR): Modify for `DECODE_CHAR'.
888
889 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
890
891         * chartab.c (Vchise_system_db_directory): New variable.
892         (vars_of_chartab): Add new variable `chise-system-db-directory'.
893
894 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
895
896         * chartab.c: EXFUN `Fmount_char_attribute_table'.
897         (print_chartab_range): Don't define when `UTF2000' is defined.
898         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
899         `CHISE_DS_open'.
900
901 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
902
903         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
904         and optional argument `rehash' is specified, call
905         `open_chise_data_source_maybe' before
906         `chise_ds_foreach_char_feature_name' is called.
907
908 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
909
910         * chartab.c (char_attribute_list_reset_map_func): New function
911         when HAVE_LIBCHISE is defined.
912         (Fchar_attribute_list): Add new optional argument `rehash' when
913         HAVE_LIBCHISE is defined.
914         (open_chise_data_source_maybe): Use "chise-db" instead of
915         "char-db".
916         (char_attribute_system_db_file): Likewise.
917         (Fload_char_attribute_table): Use
918         `chise_feature_foreach_char_with_value' instead of
919         `chise_char_feature_value_iterate'.
920
921 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
922
923         * chartab.c (Vchise_db_directory): New variable.
924         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
925
926 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
927
928         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
929         instead of HAVE_CHISE to specify using with libchise.
930
931         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
932
933         * chartab.h: Don't use HAVE_CHISE_CLIENT.
934
935         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
936         defined or HAVE_LIBCHISE_LIBCHISE is defined.
937         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
938         is defined.
939         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
940         HAVE_CHISE to specify using with libchise.
941         (syms_of_chartab): Don't define symbol `system-char-id' when
942         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
943
944 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
945
946         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
947         specify CHISE DB support.
948         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
949         of `char_attribute_system_db_file' to check feature DB file.
950
951         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
952         HAVE_CHISE_CLIENT to specify CHISE DB support.
953
954         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
955         specify CHISE DB support.
956         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
957         not defined.
958         (Freset_char_attribute_table): Use `chise_feature_setup_db'
959         instead of `char_attribute_system_db_file' to check feature DB
960         file.
961
962 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
963
964         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
965         `HAVE_CHISE_CLIENT'.
966
967 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
968
969         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
970         (Fsave_charset_mapping_table): Don't use
971         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
972
973         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
974         (HAVE_LIBCHISE): New macro.
975
976         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
977
978         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
979         (Fsave_char_attribute_table): Don't use
980         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
981
982 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
983
984         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
985         defined.
986         (save_uint16_byte_table): Likewise.
987         (save_byte_table): Likewise.
988         (char_table_get_db): Use `chise_ds_load_char_feature_value'
989         instead of `chise_char_load_feature_value'.
990         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
991
992 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
993
994         * chartab.h (struct Lisp_Char_Table): Delete member
995         `feature_table' if CHISE is defined.
996
997         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
998         (Fcopy_char_table): Likewise.
999         (char_table_open_db_maybe): Likewise.
1000         (char_table_close_db_maybe): Likewise.
1001         (char_table_get_db): Likewise.
1002         (Fmount_char_attribute_table): Likewise.
1003         (Fload_char_attribute_table): Likewise.
1004
1005 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1006
1007         * mule-charset.c (load_char_decoding_entry_maybe): Use
1008         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
1009         `chise_ccs_decode'.
1010
1011 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1012
1013         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
1014         instead of `chise_open_data_source'.
1015         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1016         `chise_ds_close'.
1017
1018 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1019
1020         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1021         instead of `chise_ds_open_feature_table'.
1022         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1023
1024 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1025
1026         * mule-charset.c (Fsave_charset_mapping_table): Use
1027         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1028         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1029         `chise_ccs_sync' instead of `chise_ccst_close'.
1030         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1031
1032         * chartab.c (open_chise_data_source_maybe): Modify for
1033         `chise_open_data_source'.
1034         (char_table_open_db_maybe): Modify for
1035         `chise_ds_open_feature_table'.
1036
1037 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1038
1039         * mule-charset.c (load_char_decoding_entry_maybe): Use
1040         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1041         `chise_ccst_close'.
1042
1043 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1044
1045         * mule-charset.c (Fsave_charset_mapping_table): Use
1046         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1047         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1048         `chise_dt_put_char' and `chise_dt_close'.
1049         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1050         `chise_ccs_decode' and `chise_ccst_close' instead of
1051         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1052         `chise_dt_close'.
1053
1054         * chartab.c (char_table_get_db): Use
1055         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1056         (load_char_attribute_table_map_func): Modify for
1057         `chise_char_feature_value_iterate'.
1058         (Fload_char_attribute_table): Use
1059         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1060
1061 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1062
1063         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1064
1065 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1066
1067         * chartab.c (put_char_table): Modify for inherited coded-charsets
1068         in XEmacs CHISE.
1069
1070 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1071
1072         * chartab.c (Fput_char_table_map_function): Fixed.
1073         (word_boundary_p): Don't check charset in XEmacs CHISE.
1074
1075 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1076
1077         * mule-charset.c (Fsave_charset_mapping_table): Use
1078         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1079         instead of `chise_open_decoding_table'; refer
1080         `default_chise_data_source'; use `chise_dt_close' instead of
1081         `chise_close_decoding_table'.
1082         (load_char_decoding_entry_maybe): Likewise.
1083
1084         * chartab.c (default_chise_data_source): New variable when `CHISE'
1085         is defined.
1086         (Fcopy_char_table): `ct->ds' is deleted.
1087         (open_chise_data_source_maybe): New function.
1088         (Fclose_char_data_source): New function.
1089         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1090         use `chise_ds_open_feature_table' instead of
1091         `chise_open_feature_table'.
1092         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1093         `chise_close_feature_table'; `cit->ds' is deleted.
1094         (syms_of_chartab): Add new builtin function
1095         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1096
1097         * chartab.h (default_chise_data_source): New extern variable.
1098         (open_chise_data_source_maybe): New prototype.
1099         (struct Lisp_Char_Table): Delete `ds'.
1100
1101 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1102
1103         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1104         `CHISE' is defined.
1105
1106 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1107
1108         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1109         not defined; add code for non-libchise setting.
1110         (char_table_close_db_maybe): Likewise.
1111         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1112         defined.
1113         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1114         even if `CHISE' is not defined.
1115         (Freset_char_attribute_table): Likewise.
1116         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1117         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1118         `char_table_get_db'.
1119         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1120         `char_table_close_db_maybe' even if `CHISE' is not defined.
1121
1122 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1123
1124         * chartab.c (char_table_open_db_maybe): New function.
1125         (char_table_close_db_maybe): New function.
1126         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1127         (Freset_char_attribute_table): Likewise.
1128         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1129         `char_table_close_db_maybe'.
1130         (Fload_char_attribute_table): Likewise.
1131
1132 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1133
1134         * chartab.c: Don't include <chise.h> because it is included in
1135         chartab.h.
1136         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1137         defined.
1138         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1139         `CHISE' is defined.
1140         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1141         `CHISE' is defined.
1142         (Fclose_char_attribute_table): Close `ct->feature_table' and
1143         `ct->ds' when `CHISE' is defined.
1144         (Freset_char_attribute_table): Likewise.
1145         (load_char_attribute_maybe): Use `cit->ds' and
1146         `cit->feature_table' when `CHISE' is defined.
1147         (Fload_char_attribute_table): Likewise.
1148
1149         * chartab.h: Include <chise.h> when `CHISE' is defined.
1150         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1151         when `CHISE' is defined.
1152
1153 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1154
1155         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1156         is defined.
1157         (char_table_description): Likewise.
1158         (Fmake_char_table): Likewise.
1159         (Fcopy_char_table): Likewise.
1160         (Fmount_char_attribute_table): Likewise.
1161         (Fclose_char_attribute_table): Likewise.
1162         (Freset_char_attribute_table): Likewise.
1163         (load_char_attribute_maybe): Likewise.
1164         (Fload_char_attribute_table): Likewise.
1165
1166         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1167         defined.
1168
1169 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1170
1171         * chartab.c (load_char_attribute_table_map_func): New function
1172         when CHISE is defined.
1173         (Qload_char_attribute_table_map_function): Don't define when CHISE
1174         is defined.
1175         (Fload_char_attribute_table_map_function): Likewise.
1176         (Fload_char_attribute_table): Use libchise when `CHISE' is
1177         defined.
1178         (syms_of_chartab): Don't define
1179         `load-char-attribute-table-map-function' when CHISE is defined.
1180
1181 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1182
1183         * chartab.c: Include <chise.h> when `CHISE' is defined.
1184         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1185
1186 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1187
1188         * mule-charset.c (charset_code_point): Fix problem when searching
1189         in mother CCS fails with `defined_only' mode.
1190
1191 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1192
1193         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1194         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1195         (put_char_composition): Likewise.
1196         (Fput_char_attribute): Likewise.
1197         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1198
1199 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1200
1201         * chartab.c (Q_ucs): Deleted.
1202         (Fput_char_attribute): Don't refer `->ucs'.
1203         (Fdefine_char): Likewise.
1204         (Ffind_char): Likewise.
1205         (syms_of_chartab): Delete `->ucs'.
1206
1207 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1208
1209         * mule-charset.c (Qmap_cns11643_2): Renamed from
1210         `Qchinese_cns11643_2'.
1211         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1212         `chinese-cns11643-2'.
1213         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1214         `=cns11643-2'.
1215
1216 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1217
1218         * mule-charset.c (Qmap_cns11643_1): Renamed from
1219         `Qchinese_cns11643_1'.
1220         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1221         `chinese-cns11643-1'.
1222         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1223         `=cns11643-1'.
1224
1225 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1226
1227         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1228         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1229         `chinese-gb12345'.
1230         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1231         `=gb12345'.
1232
1233 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1234
1235         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1236         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1237         `chinese-gb2312'.
1238         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1239         `=gb2312'.
1240
1241 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1242
1243         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1244         (syms_of_mule_charset): Add new symbol `=big5' instead of
1245         `chinese-big5'.
1246         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1247
1248 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1249
1250         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1251         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1252         `korean-ksc5601'.
1253         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1254         `=ks-x1001'.
1255
1256 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1257
1258         * mule-charset.c (Qmap_jis_x0212): Renamed from
1259         `Qjapanese_jisx0212'.
1260         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1261         `japanese-jisx0212'.
1262         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1263         `=jis-x0212'.
1264
1265 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1266
1267         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1268         `Qjapanese_jisx0208'.
1269         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1270         of `japanese-jisx0208'.
1271         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1272         `=jis-x0208-1983'.
1273
1274 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1275
1276         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1277         `Qjapanese_jisx0208_1978'.
1278         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1279         of `japanese-jisx0208-1978'.
1280         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1281         `=jis-x0208-1978'.
1282
1283 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1284
1285         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1286         only for XEmacs CHISE.
1287
1288 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1289
1290         * char-ucs.h: Compact non-ISO-IR charset-ids.
1291         (LEADING_BYTE_UCS): Changed to -177.
1292         (LEADING_BYTE_CONTROL_1): Changed to -77.
1293         (LEADING_BYTE_UCS_BMP): Changed to -176.
1294         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1295
1296 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1297
1298         * mule-charset.c (Qiso_ir): New variable.
1299         (Fmake_charset): Recognise new property `iso-ir'.
1300         (syms_of_mule_charset): Add new symbol `iso-ir'.
1301
1302 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1303
1304         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1305         n to -n; charset-id of non ISO-IR sets are changed to positive
1306         numbers.
1307
1308 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1309
1310         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1311         for &MCS-XXXXXXXX; values.
1312
1313 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1314
1315         * mule.c (Vxemacs_chise_version): Renamed from
1316         `Vutf_2000_version'.
1317         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1318         `utf-2000-version' as an alias for `xemacs-chise-version'.
1319
1320 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1321
1322         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1323         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1324         defined.
1325
1326         * config.h.in (CHISE): New macro.
1327
1328 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1329
1330         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1331         of `ucs'.
1332         (Qmap_ucs): New variable.
1333         (syms_of_mule_charset): Add new symbol `=ucs'.
1334         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1335
1336         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1337         (simplify_char_spec): Likewise.
1338
1339         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1340
1341         * char-ucs.h (Qmap_ucs): New extern variable.
1342
1343 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1344
1345         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1346         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1347         don't define it when UTF2000 is not defined.
1348         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1349         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1350         when UTF2000 is not defined.
1351         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1352         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1353
1354 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1355
1356         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1357
1358         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1359         (Qucs_gb): Deleted.
1360         (syms_of_mule_charset): Delete `ucs-gb'.
1361         (complex_vars_of_mule_charset): Likewise.
1362
1363 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1364
1365         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1366
1367         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1368         (Qucs_cns): Deleted.
1369         (syms_of_mule_charset): Delete `ucs-cns'.
1370         (complex_vars_of_mule_charset): Likewise.
1371
1372 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1373
1374         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1375
1376         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1377         (Qucs_jis): Deleted.
1378         (syms_of_mule_charset): Delete `ucs-jis'.
1379         (complex_vars_of_mule_charset): Likewise.
1380
1381 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1382
1383         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1384
1385         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1386         (Qucs_ks): Deleted.
1387         (syms_of_mule_charset): Delete `ucs-ks'.
1388         (complex_vars_of_mule_charset): Likewise.
1389
1390 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1391
1392         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1393         (Qideograph_daikanwa_2): Deleted.
1394         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1395         (complex_vars_of_mule_charset): Likewise.
1396
1397         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1398         (LEADING_BYTE_DAIKANWA_1): Deleted.
1399         (LEADING_BYTE_DAIKANWA_2): Deleted.
1400         (MIN_CHAR_DAIKANWA): Deleted.
1401         (MAX_CHAR_DAIKANWA): Deleted.
1402
1403 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1404
1405         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1406         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1407         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1408
1409         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1410         (Vcharset_ideograph_daikanwa): Deleted.
1411         (Qideograph_hanziku_{1..12}): Deleted.
1412         (Qideograph_daikanwa): Deleted.
1413         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1414         Vcharset_ideograph_daikanwa.
1415         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1416         `ideograph-hanziku-{1..12}'.
1417         (complex_vars_of_mule_charset): Likewise.
1418
1419 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1420
1421         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1422
1423         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1424         (Qideograph_gt_pj_{1..11}): Deleted.
1425         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1426         (complex_vars_of_mule_charset): Likewise.
1427
1428 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1429
1430         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1431         (Vcharset_ideograph_gt): Deleted.
1432         (Qucs_big5): Deleted.
1433         (Qideograph_gt): Deleted.
1434         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1435         `ideograph-gt'.
1436         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1437         and `ideograph-gt'.
1438
1439         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1440         (LEADING_BYTE_GT): Deleted.
1441         (MIN_CHAR_GT): Deleted.
1442         (MAX_CHAR_GT): Deleted.
1443
1444 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1445
1446         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1447
1448 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1449
1450         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1451         (save_uint16_byte_table): Likewise.
1452         (save_byte_table): Likewise; convert values by it.
1453         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1454         for `ideographic-structure'.
1455         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1456         as the filter for `ideographic-structure'.
1457
1458 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1459
1460         * chartab.c (put_char_composition): New function.
1461         (Fput_char_attribute): Use `put_char_composition'; use
1462         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1463
1464         * fns.c (simplify_char_spec): New function.
1465         (char_ref_simplify_spec): New function.
1466         (Fchar_refs_simplify_char_specs): New function.
1467         (syms_of_fns): Add new builtin function
1468         `char-refs-simplify-char-specs'.
1469
1470 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1471
1472         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1473         (Qideograph_cbeta): Deleted.
1474         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1475         (complex_vars_of_mule_charset): Likewise.
1476
1477         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1478         (MIN_CHAR_CBETA): Comment out.
1479         (MAX_CHAR_CBETA): Likewise.
1480
1481 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1482
1483         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1484         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1485         CHISE client feature.
1486
1487 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1488
1489         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1490
1491 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1492
1493         * mule-charset.c (charset_lookup_description_1): Use
1494         `NUM_LEADING_BYTES' in UTF-2000.
1495
1496 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1497
1498         * char-ucs.h (GC_CHARSETP): Deleted.
1499
1500 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1501
1502         * char-ucs.h (MAX_CHAR_GT): Updated.
1503
1504 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1505
1506         * text-coding.c: Sync with XEmacs 21.4.10.
1507
1508 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1509
1510         * mule-charset.c (Vcharset_china3_jef): Deleted.
1511         (Qchina3_jef): Deleted.
1512         (syms_of_mule_charset): Don't define `china3-jef'.
1513         (complex_vars_of_mule_charset): Likewise.
1514
1515         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1516         (MIN_CHAR_CHINA3_JEF): Comment out.
1517         (MAX_CHAR_CHINA3_JEF): Comment out.
1518
1519 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1520
1521         * mule-charset.c (Vcharset_ucs_gb): New variable.
1522         (Qucs_gb): New variable.
1523         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1524         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1525
1526         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1527
1528 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1529
1530         * mule-charset.c (charset_code_point): if a coded-charset has a
1531         final-byte, don't inherit the builtin range of the mother CCS.
1532
1533 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1534
1535         * mule-charset.c (charset_code_point): Fix problem about
1536         inheritance.
1537
1538 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1539
1540         * mule-charset.c (decode_builtin_char): Reorganized.
1541
1542 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1543
1544         * text-coding.c (char_encode_as_entity_reference): Modify for
1545         `charset_code_point'.
1546         (char_encode_shift_jis): Likewise.
1547         (char_encode_big5): Likewise.
1548         (char_encode_utf8): Likewise.
1549         (char_encode_iso2022): Likewise.
1550
1551         * mule-charset.c (charset_code_point): Add new argument
1552         `defined_only'.
1553         (Fencode_char): Add new optional argument `defined_only'.
1554
1555         * chartab.c (put_char_table): Modify for `charset_code_point'.
1556
1557         * char-ucs.h (charset_code_point): Add new argument
1558         `defined_only'.
1559         (encode_char_1): Modify for `charset_code_point'.
1560
1561 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1562
1563         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1564         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1565
1566 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1567
1568         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1569         (Qjis_x0208): Likewise.
1570         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1571         XCHARSET_FINAL(charset).
1572         (charset_code_point): Modify condition for final-byte based
1573         builtin-chars.
1574         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1575         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1576         in UTF-2000; specify `=jis-x0208' as the mother of
1577         `japanese-jisx0208-1978', `japanese-jisx0208' and
1578         `japanese-jisx0208-1990' in UTF-2000.
1579
1580 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1581
1582         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1583
1584 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1585
1586         * text-coding.c (decode_coding_utf16): Support UTF-16.
1587         (char_encode_utf16): Fixed.
1588
1589 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1590
1591         * text-coding.c (Qutf16): New variable in MULE.
1592         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1593         (Fcoding_system_type): Add `utf-16' in MULE.
1594         (struct detection_state): Add a structure for utf16 in MULE.
1595         (detect_coding_type): Setup st->utf16.mask in MULE.
1596         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1597         MULE.
1598         (reset_encoding_stream): Use `char_encode_utf16' and
1599         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1600         (detect_coding_utf16): New function [incomplete].
1601         (decode_coding_utf16): New function [support only UCS-2].
1602         (char_encode_utf16): New function.
1603         (char_finish_utf16): New function.
1604         (syms_of_file_coding): Add new symbol `utf-16'; setup
1605         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1606
1607         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1608         UTF-2000.
1609         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1610         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1611
1612 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1613
1614         * chartab.c (put_char_table): When a charset is specified as a
1615         range in UTF-2000, don't support builtin characters.
1616
1617 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1618
1619         * mule-charset.c (decode_defined_char): Don't refer external
1620         database if Qunbound or Qnil are found.
1621         (Fsave_charset_mapping_table): Don't define it if
1622         HAVE_CHISE_CLIENT is not defined.
1623         (Freset_charset_mapping_table): New function.
1624         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1625         found in external database.
1626         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1627         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1628         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1629
1630 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1631
1632         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1633         not.
1634
1635 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1636
1637         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1638         Q_lowercase, Q_uppercase in UTF-2000.
1639
1640         * chartab.c (get_char_table): Add special code for the standard
1641         case table to use character attribute `->downcase' and
1642         `->uppercase' for case operations in UTF-2000.
1643
1644         * casetab.c (Qflippedcase): New variable in UTF-2000.
1645         (Q_lowercase): Likewise.
1646         (Q_uppercase): Likewise.
1647         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1648         and `->uppercase' in UTF-2000.
1649         (complex_vars_of_casetab): Assign attribute name `downcase' to
1650         downcase and CANON table of Vstandard_case_table in UTF-2000;
1651         assign attribute name `flippedcase' to upcase and EQV table of
1652         Vstandard_case_table in UTF-2000.
1653
1654 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1655
1656         * text-coding.c (decode_add_er_char): Support isolated-chars.
1657         (char_encode_as_entity_reference): Likewise.
1658
1659 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1660
1661         * emacs.c (Vutf_2000_lisp_directory): New variable.
1662         (Vconfigure_utf_2000_lisp_directory): Likewise.
1663         (complex_vars_of_emacs): Add new variable
1664         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1665
1666 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1667
1668         * char-ucs.h (DECODE_CHAR): Delete special code for
1669         `chinese-big5-1' and `chinese-big5-2'.
1670
1671         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1672         (Qbig5_2): Likewise.
1673         (decode_defined_char): Support CONVERSION_BIG5_1 and
1674         CONVERSION_BIG5_2.
1675         (decode_builtin_char): Likewise.
1676         (charset_code_point): Likewise.
1677         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1678         'conversion in UTF-2000.
1679         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1680         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1681         `chinese-big5-2' as children of `chinese-big5'.
1682
1683         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1684         (CONVERSION_BIG5_2): New macro.
1685
1686 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1687
1688         * text-coding.c (char_encode_big5): Support entity-reference.
1689
1690 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1691
1692         * text-coding.c (char_encode_as_entity_reference): New function.
1693         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1694
1695 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1696
1697         * text-coding.c (decode_coding_big5): Support entity-reference
1698         decoding feature.
1699
1700 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1701
1702         * text-coding.c (allocate_coding_system): Initialize initial
1703         charsets for CODESYS_UTF8.
1704         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1705         charset-g2 for CODESYS_UTF8.
1706         (decode_coding_utf8): Use charset-g0.
1707         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1708         to force variants to map to UCS.
1709
1710 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1711
1712         * text-coding.c (Qutf_8_mcs): New variable.
1713         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1714         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1715         instead of `utf-8' in UTF-2000.
1716
1717 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1718
1719         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1720         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1721         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1722         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1723         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1724         CONVERSION_96x96x96x96 are introduced.
1725         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1726         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1727         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1728
1729         * char-ucs.h (CONVERSION_94): New macro.
1730         (CONVERSION_96): New macro.
1731         (CONVERSION_94x94): New macro.
1732         (CONVERSION_96x96): New macro.
1733         (CONVERSION_94x94x94): New macro.
1734         (CONVERSION_96x96x96): New macro.
1735         (CONVERSION_94x94x94x60): New macro.
1736         (CONVERSION_94x94x94x94): New macro.
1737         (CONVERSION_96x96x96x96): New macro.
1738
1739 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1740
1741         * chartab.c (Vcharacter_variant_table): Deleted.
1742         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1743         of `Vcharacter_variant_table'.
1744         (Fput_char_attribute): Likewise.
1745         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1746         (complex_vars_of_chartab): Likewise.
1747
1748 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1749
1750         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1751
1752         * fns.c (Qideographic_structure): New variable.
1753         (Qkeyword_char): New variable.
1754         (ids_format_unit): New function.
1755         (Fideographic_structure_to_ids): New function.
1756         (syms_of_fns): Add new symbols `ideographic-structure' and
1757         `:char'; add new builtin function `ideographic-structure-to-ids'.
1758
1759         * data.c (Fchar_ref_p): New function.
1760         (syms_of_data): Add new builtin function `char-ref-p'.
1761
1762         * chartab.h: Add an EXFUN for `Ffind_char'.
1763
1764 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1765
1766         * text-coding.c (Vcharacter_composition_table): Deleted.
1767         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1768         in every UTF-2000.
1769
1770         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1771         UTF-2000.
1772         (Vcharacter_composition_table): Deleted.
1773         (Fget_composite_char): Use the implementation for external-DB
1774         support in every UTF-2000.
1775         (Fput_char_attribute): Likewise.
1776         (char_attribute_system_db_file): Don't define if external-DB
1777         feature is not available.
1778         (Fsave_char_attribute_table): Likewise.
1779         (Fmount_char_attribute_table): Likewise.
1780         (Fclose_char_attribute_table): Likewise.
1781         (Freset_char_attribute_table): Likewise.
1782         (Fload_char_attribute_table): Likewise.
1783         (syms_of_chartab): Don't define `save-char-attribute-table',
1784         `mount-char-attribute-table', `reset-char-attribute-table',
1785         `close-char-attribute-table' and `load-char-attribute-table' if
1786         external-DB feature is not available.
1787         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1788
1789 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1790
1791         * text-coding.c (Qcomposition): Add extern if external-DB feature
1792         is supported.
1793         (Vcharacter_composition_table): Don't add extern if external-DB
1794         feature is supported.
1795         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1796         character composition rule if external-DB feature is supported.
1797
1798         * chartab.c (Vcharacter_composition_table): Don't define if
1799         external-DB feature is supported.
1800         (Qcomposition): New variable.
1801         (Fget_composite_char): New implementation for external-DB support.
1802         (Fput_char_attribute): Use `composition' property of each
1803         character instead of `Vcharacter_composition_table' to store
1804         character-composition rules if external-DB feature is supported.
1805         (syms_of_chartab): Add new symbol `composition'.
1806         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1807         external-DB feature is supported.
1808
1809 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1810
1811         * chartab.c (Vchar_db_stingy_mode): New variable.
1812         (load_char_attribute_maybe): Close database if
1813         Vchar_db_stingy_mode is not NIL.
1814         (Fload_char_attribute_table_map_function): Use
1815         `get_char_id_table_0' instead of `get_char_id_table'.
1816         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1817
1818         * chartab.h (get_char_id_table_0): New inline function.
1819         (get_char_id_table): Use `get_char_id_table_0'.
1820
1821 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1822
1823         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1824         and `COMPOSE_ADD_CHAR'.
1825         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1826
1827 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1828
1829         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1830         instead of `DECODE_ADD_UCS_CHAR'.
1831         (COMPOSE_ADD_CHAR): Likewise.
1832
1833 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1834
1835         * text-coding.c (decode_flush_er_chars): New inline function.
1836         (decode_add_er_char): New function.
1837         (decode_coding_utf8): Use `decode_flush_er_chars' and
1838         `decode_add_er_char'.
1839
1840 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1841
1842         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1843         done before `decode_output_utf8_partial_char'.
1844
1845         * mule-charset.c (complex_vars_of_mule_charset): Specify
1846         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1847         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1848
1849 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1850
1851         * mule-charset.c (decode_defined_char): New function; search
1852         mother.
1853         (decode_builtin_char): Don't search mother if
1854         XCHARSET_MAX_CODE(charset) == 0.
1855         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1856         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1857         (Fdecode_char): Use `decode_defined_char' instead of
1858         `DECODE_DEFINED_CHAR'.
1859         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1860         mother of `Vcharset_ucs_jis'.
1861
1862         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1863         instead of `DECODE_DEFINED_CHAR'.
1864
1865         * char-ucs.h (decode_defined_char): Renamed from
1866         `DECODE_DEFINED_CHAR'; changed to normal function.
1867         (DECODE_CHAR): Use `decode_defined_char' instead of
1868         `DECODE_DEFINED_CHAR'.
1869
1870         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1871
1872 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1873
1874         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1875
1876         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1877         variable.
1878         (Quse_entity_reference): New variable.
1879         (Qd): New variable.
1880         (Qx): New variable.
1881         (QX): New variable.
1882         (coding_system_description): Add description for
1883         `ccs_priority_list'.
1884         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1885         (allocate_coding_system): Initialize `ccs_priority_list' in
1886         UTF-2000.
1887         (Fmake_coding_system): Add description about
1888         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1889         (codesys).
1890         (Fcoding_system_property): Accept `disable-composition' and
1891         `use-entity-reference' in UTF-2000.
1892         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1893         in UTF-2000.
1894         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1895         (decode_coding_utf8): Decode entity-reference if
1896         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1897         (char_encode_utf8): Encode non-Unicode characters as
1898         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1899         (str->codesys).
1900         (syms_of_file_coding): Add new symbols `use-entity-reference',
1901         `d', `x', `X'.
1902         (vars_of_file_coding): Add new variable
1903         `coded-charset-entity-reference-alist'.
1904         (complex_vars_of_file_coding): Declare `disable-composition' and
1905         `use-entity-reference' to be coding-system-properties in UTF-2000.
1906
1907         * file-coding.h (struct Lisp_Coding_System): Add new member
1908         `use_entity_reference' and `ccs_priority_list'.
1909         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1910         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1911         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1912
1913 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1914
1915         * chartab.c (save_uint8_byte_table): Don't clear the table.
1916         (save_uint16_byte_table): Likewise.
1917         (save_byte_table): Likewise.
1918         (Fmount_char_attribute_table): New function.
1919         (syms_of_chartab): Add new builtin function
1920         `mount-char-attribute-table'.
1921
1922 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1923
1924         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1925         "w+" mode.
1926         (load_char_decoding_entry_maybe): Open database as read-only mode.
1927
1928         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1929         open database as "w+" mode.
1930         (load_char_attribute_maybe): Open database as read-only mode.
1931         (Fload_char_attribute_table): Likewise.
1932
1933 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1934
1935         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1936         (char_table_description): Delete member `db_file'.
1937         (Fmake_char_table): Don't refer `ct->db_file'.
1938         (Fcopy_char_table): Likewise.
1939         (Fsave_char_attribute_table): Likewise.
1940         (Fclose_char_attribute_table): Likewise.
1941         (Freset_char_attribute_table): Likewise.
1942         (load_char_attribute_maybe): Likewise.
1943         (Fload_char_attribute_table): Likewise.
1944
1945         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1946
1947 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1948
1949         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1950         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1951         `ct->db' is living.
1952         (load_char_attribute_maybe): Likewise.
1953         (Fload_char_attribute_table): Likewise.
1954
1955 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1956
1957         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1958         `ct->db_file' unconditionally.
1959
1960 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1961
1962         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1963         UTF-2000.
1964         (char_table_description): Add description for `db_file' and `db'
1965         in UTF-2000.
1966         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1967         UTF-2000.
1968         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1969         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1970         (Fclose_char_attribute_table): New function.
1971         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1972         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1973         and `cit->db'.
1974         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1975         (syms_of_chartab): Add new builtin function
1976         `Fclose_char_attribute_table'.
1977
1978 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1979
1980         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1981         `db' in UTF-2000.
1982         (load_char_attribute_maybe): Change interface.
1983         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1984
1985 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1986
1987         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1988
1989 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1990
1991         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1992         instead of `DECODE_CHAR' for mother; don't use special code for
1993         chinese-big5 to use code space of chinese-big5-1 and
1994         chinese-big5-2.
1995         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1996         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1997
1998         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1999         (MAX_CHAR_BIG5_CDP): Revival.
2000
2001 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2002
2003         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
2004         the XLFD registry-encoding name of `chinese-big5'.
2005
2006 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2007
2008         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
2009         (Qchinese_big5_cdp): Deleted.
2010         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
2011         (complex_vars_of_mule_charset): Delete coded-charset
2012         `chinese-big5-cdp'.
2013
2014         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2015         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2016         `CHARSET_ID_OFFSET - n' for private CCS.
2017         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2018         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2019         of `MIN_LEADING_BYTE'.
2020         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2021         `(CHARSET_ID_OFFSET - 97)'.
2022         (MIN_CHAR_BIG5_CDP): Deleted.
2023         (MAX_CHAR_BIG5_CDP): Deleted.
2024
2025 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2028
2029 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2030
2031         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2032         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2033         chartab.c].
2034
2035         * chartab.c (Vutf_2000_version): Moved to mule.c.
2036         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2037
2038 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2039
2040         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2041         when HAVE_CHISE_CLIENT is not defined.
2042
2043         * mule.c (vars_of_mule): Provide feature `chise' when
2044         HAVE_CHISE_CLIENT is defined.
2045
2046 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2047
2048         * config.h.in (UTF2000): Add comment.
2049         (HAVE_CHISE_CLIENT): New macro.
2050
2051 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2052
2053         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2054         CONSP.
2055         (Fput_char_attribute): Likewise.
2056         (char_attribute_system_db_file): Encode file-name of attribute.
2057         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2058         the initial value.
2059
2060 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2061
2062         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2063         (Fsave_charset_mapping_table): Use
2064         `char_attribute_system_db_file'.
2065         (load_char_decoding_entry_maybe): Likewise.
2066
2067         * chartab.h (Qsystem_char_id): New external variable.
2068         (char_attribute_system_db_file): New prototype.
2069
2070         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2071         (char_attribute_system_db_file): New function.
2072         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2073         (Freset_char_attribute_table): Likewise.
2074         (load_char_attribute_maybe): Likewise.
2075         (Fload_char_attribute_table): Likewise.
2076         (syms_of_chartab): Add new symbol `system-char-id'.
2077
2078 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2079
2080         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2081         `XCHARSET_GRAPHIC(ccs)'.
2082
2083 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2084
2085         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2086
2087 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2088
2089         * chartab.c (Q_ucs_variants): New variable.
2090         (syms_of_chartab): Add new symbol `->ucs-variants'.
2091         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2092         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2093         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2094
2095         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2096
2097         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2098         `HAVE_DATABASE' is defined.
2099         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2100         `HAVE_DATABASE' is defined.
2101
2102 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2103
2104         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2105         attribute-table.
2106         (Freset_char_attribute_table): New function.
2107         (syms_of_chartab): Add new builtin function
2108         `reset-char-attribute-table'.
2109
2110 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2111
2112         * chartab.c (load_char_attribute_maybe): Don't make directories.
2113
2114 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2115
2116         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2117
2118         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2119         for decoding-table.
2120
2121 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2122
2123         * mule-charset.c (Fsave_charset_mapping_table): Use
2124         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2125
2126         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2127         instead of `XCHARSET_CHARS'.
2128
2129 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2130
2131         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2132         (XCHARSET_BYTE_SIZE): Likewise.
2133
2134         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2135         mule-charset.c].
2136         (XCHARSET_BYTE_SIZE): Likewise.
2137
2138 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2139
2140         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2141         data-directory to store database.
2142         (Fsave_char_attribute_table): Likewise.
2143         (load_char_attribute_maybe): Likewise.
2144         (Fload_char_attribute_table): Likewise.
2145
2146 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2147
2148         * mule-charset.c (Fsave_charset_mapping_table): New function.
2149         (syms_of_mule_charset): Add new builtin function
2150         `save-charset-mapping-table'.
2151
2152 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2153
2154         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2155         (get_ccs_octet_table): New inline function.
2156         (put_ccs_octet_table): Likewise.
2157         (decoding_table_put_char): Use `get_ccs_octet_table' and
2158         `put_ccs_octet_table'.
2159         (decoding_table_remove_char): Use `decoding_table_put_char'.
2160         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2161
2162         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2163         into encoding_table.
2164         (make_charset): Use Qunbound instead Qnil as initial value of
2165         decoding_table.
2166
2167 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2168
2169         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2170         element is Qunloaded.
2171         (map_over_uint16_byte_table): Likewise.
2172         (map_over_byte_table): Likewise.
2173         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2174         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2175         database support, load encoding-table of the specified
2176         coded-charset if it is not loaded yet.
2177         (save_uint8_byte_table): New function of UTF-2000 with external
2178         database support.
2179         (save_uint16_byte_table): Likewise.
2180         (save_byte_table): Likewise.
2181         (Fput_char_attribute): Don't store value into external database
2182         even if the external database feature is supported in UTF-2000;
2183         set `attribute' as name of char-table if the external database
2184         feature is supported.
2185         (Fsave_char_attribute_table): New function in UTF-2000.
2186         (syms_of_chartab): Add new builtin function
2187         `save-char-attribute-table' in UTF-2000.
2188
2189 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2190
2191         * chartab.c (char_attribute_table_to_put): New variable in
2192         UTF-2000.
2193         (Qput_char_table_map_function): Likewise.
2194         (value_to_put): Likewise.
2195         (Fput_char_table_map_function): New function in UTF-2000.
2196         (put_char_table): Use `Fmap_char_attribute' for
2197         CHARTAB_RANGE_CHARSET in UTF-2000.
2198         (Fput_char_attribute): Store symbol instead of string in
2199         `XCHAR_TABLE_NAME (table)'.
2200         (load_char_attribute_maybe): Likewise.
2201         (syms_of_chartab): Add new symbol/function
2202         `put-char-table-map-function'.
2203
2204 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2205
2206         * database.h: Add new EXFUN for `Fmap_database'.
2207
2208         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2209         (syms_of_database): Likewise.
2210
2211         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2212         UTF-2000.
2213         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2214         (XCHAR_TABLE_UNLOADED): Likewise.
2215
2216         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2217         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2218         HAVE_DATABASE is defined.
2219         (char_attribute_table_to_load): New variable of UTF-2000 with
2220         external database support.
2221         (Qload_char_attribute_table_map_function): Likewise.
2222         (Fload_char_attribute_table_map_function): New function of
2223         UTF-2000 with external database support.
2224         (Fload_char_attribute_table): New function of UTF-2000.
2225         (Fmap_char_attribute): Call Fload_char_attribute_table if
2226         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2227         (syms_of_chartab): Add new symbol and function
2228         `load-char-attribute-table-map-function' in UTF-2000 with external
2229         database support; add new function `load-char-attribute-table' in
2230         UTF-2000.
2231
2232 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2233
2234         * chartab.h (load_char_attribute_maybe): New prototype for
2235         UTF-2000 with DATABASE support.
2236         (get_char_id_table): Use `load_char_attribute_maybe' if
2237         HAVE_DATABASE is defined.
2238
2239         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2240         with DATABASE support.
2241
2242 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2243
2244         * chartab.c (Fput_char_attribute): Use S-expression as key of
2245         external database.
2246
2247         * chartab.h (get_char_id_table): Use S-expression as key of
2248         external database.
2249
2250 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2251
2252         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2253         if an element is not loaded, load the corresponding attributes
2254         from an external database.
2255         (map_over_uint16_byte_table): Likewise.
2256         (map_over_byte_table): Likewise.
2257         (map_char_table): Modify for `map_over_uint8_byte_table',
2258         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2259         element is not loaded, load the corresponding attributes from an
2260         external database.
2261         (Fput_char_attribute): Change initial values to Qunloaded.
2262
2263         * chartab.h (get_char_id_table): If a character attribute is not
2264         loaded and the attribute value is not found in an external
2265         database, store Qunbound as the attribute value.
2266
2267 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2268
2269         * chartab.c (BT_UINT8_unloaded): New macro.
2270         (UINT8_VALUE_P): Accept Qunloaded.
2271         (UINT8_ENCODE): Likewise.
2272         (UINT8_DECODE): Likewise.
2273         (BT_UINT16_unloaded): New macro.
2274         (UINT16_VALUE_P): Accept Qunloaded.
2275         (UINT16_ENCODE): Likewise.
2276         (UINT16_DECODE): Likewise.
2277         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2278         BT_UINT16_unloaded.
2279         (mark_char_table): Mark `ct->name' in UTF-2000.
2280         (char_table_description): Add `name' in UTF-2000.
2281         (Fmake_char_table): Initialize `ct->name'.
2282         (Fcopy_char_table): Copy `ct->name'.
2283         (Fput_char_attribute): Store value into an external database if
2284         HAVE_DATABASE is defined.
2285
2286         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2287         UTF-2000.
2288         (CHAR_TABLE_NAME): New macro in UTF-2000.
2289         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2290         (get_char_id_table): Try to read an external database if Qunloaded
2291         is stored in a table.
2292
2293         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2294         Qunloaded.
2295
2296 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2297
2298         * database.h: Add EXFUN definitions for Fopen_database,
2299         Fput_database, Fget_database and Fclose_database.
2300
2301         * data.c (Qunloaded): New variable in UTF-2000.
2302
2303         * lisp.h (Qunloaded): New variable in UTF-2000.
2304
2305 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2306
2307         * mule-charset.c (put_char_ccs_code_point): Modify for
2308         `decoding_table_remove_char' and `decoding_table_put_char'.
2309         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2310
2311         * char-ucs.h (decoding_table_remove_char): Change arguments to
2312         hide decoding_table vector.
2313         (decoding_table_put_char): Likewise.
2314
2315 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2316
2317         * mule-charset.c (decoding_table_remove_char): Moved to
2318         char-ucs.h.
2319         (decoding_table_put_char): Likewise.
2320
2321         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2322         from mule-charset.c].
2323         (decoding_table_remove_char): New inline function [moved from
2324         mule-charset.c].
2325         (decoding_table_put_char): Likewise.
2326
2327 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2328
2329         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2330         extension.
2331
2332 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2333
2334         * mule-charset.c (decode_builtin_char): Support mother charsets.
2335
2336 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2337
2338         * mule-charset.c (Q94x94x60): New variable.
2339         (charset_code_point): Support conversion `94x94x60'.
2340         (Fmake_charset): Likewise.
2341         (syms_of_mule_charset): Add new symbol `94x94x60'.
2342
2343         * char-ucs.h (CONVERSION_94x94x60): New macro.
2344
2345 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2346
2347         * mule-charset.c (charset_code_point): Unify code about
2348         `code-offset'.
2349
2350 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2351
2352         * mule-charset.c (charset_code_point): Merge code about builtin
2353         characters into code about mother charsets; don't use
2354         `range_charset_code_point'.
2355         (range_charset_code_point): Deleted.
2356
2357 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2358
2359         * mule-charset.c (Qcode_offset): New variable.
2360         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2361         `max-code'; accept new property `code-offset'.
2362         (syms_of_mule_charset): Add new symbol `code-offset'.
2363
2364 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2365
2366         * mule-charset.c (range_charset_code_point): Fixed.
2367
2368 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2369
2370         * mule-charset.c (decode_builtin_char): Change semantics of
2371         code-offset of coded-charset.
2372         (charset_code_point): Likewise.
2373         (range_charset_code_point): Likewise.
2374         (complex_vars_of_mule_charset): Modify for the change.
2375
2376 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2377
2378         * mule-charset.c (Fencode_char): Reverse arguments.
2379
2380         * mule-charset.c (charset_code_point): Fixed.
2381
2382 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2383
2384         * mule-charset.c (Vcharset_mojikyo): Deleted.
2385         (Vcharset_mojikyo_2022_1): Deleted.
2386         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2387         (Qmin_code): New variable in UTF-2000.
2388         (Qmax_code): Likewise.
2389         (Qmother): Likewise.
2390         (Qconversion): Likewise.
2391         (Q94x60): Likewise.
2392         (Qmojikyo): Deleted.
2393         (Qmojikyo_2022_1): Deleted.
2394         (Qmojikyo_pj_{1..22}): Deleted.
2395         (mark_charset): Mark `cs->mother'.
2396         (charset_description): Add description for `mother'.
2397         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2398         new arguments `mother' and `conversion'; use
2399         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2400         (charset_code_point): Moved from char-ucs.h; support `mother'
2401         charset feature.
2402         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2403         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2404         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2405         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2406         allow 2 as the value of `graphic' in UTF-2000; add new properties
2407         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2408         require `final' in UTF-2000; modify for `make_charset'.
2409         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2410         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2411         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2412         (Fencode_char): New function.
2413         (syms_of_mule_charset): Add new builtin function `encode-char' in
2414         UTF-2000; add new symbols `min-code', `max-code', `mother',
2415         `conversion' and `94x60'; delete symbols `mojikyo',
2416         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2417         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2418         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2419         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2420
2421         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2422         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2423
2424         * char-ucs.h (Vcharset_mojikyo): Deleted.
2425         (Vcharset_mojikyo_2022_1): Deleted.
2426         (LEADING_BYTE_MOJIKYO): Deleted.
2427         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2428         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2429         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2430         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2431         add new member `mother'; add new member `conversion'.
2432         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2433         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2434         (CHARSET_MOTHER): New macro.
2435         (CHARSET_CONVERSION): New macro.
2436         (CONVERSION_IDENTICAL): New macro.
2437         (CONVERSION_94x60): New macro.
2438         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2439         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2440         (XCHARSET_MOTHER): New macro.
2441         (XCHARSET_CONVERSION): New macro.
2442         (MIN_CHAR_MOJIKYO): Deleted.
2443         (MAX_CHAR_MOJIKYO): Deleted.
2444         (DECODE_MOJIKYO_2022): Deleted.
2445         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2446         (charset_code_point): Changed to non-inline function.
2447         (encode_char_1): Use `charset_code_point'.
2448         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2449
2450 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2451
2452         * lread.c (read_compiled_function): Fix prototype.
2453         (read_vector): Likewise.
2454
2455 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2456
2457         * lrecord.h (struct lrecord_header): Delete `older'.
2458         (set_lheader_implementation): Delete code for `older'.
2459         (set_lheader_older_implementation): Deleted.
2460         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2461         (OLDER_RECORD_P): Deleted.
2462         (OLDER_RECORD_HEADER_P): Deleted.
2463         (alloc_older_lcrecord): Deleted.
2464         (alloc_older_lcrecord_type): Deleted.
2465
2466         * alloc.c (all_older_lcrecords): Deleted.
2467         (alloc_older_lcrecord): Deleted.
2468         (disksave_object_finalization_1): Delete code for older objects.
2469         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2470         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2471
2472 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2473
2474         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2475         instead of `make_older_vector'.
2476         (put_char_ccs_code_point): Likewise.
2477         (mark_charset): Mark `cs->decoding_table'.
2478         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2479
2480         * lisp.h (make_older_vector): Deleted.
2481         (make_vector_newer): Deleted.
2482
2483         * config.h.in (HAVE_GGC): Deleted.
2484
2485         * alloc.c (make_older_vector): Deleted.
2486         (make_vector_newer_1): Deleted.
2487         (make_vector_newer): Deleted.
2488
2489 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2490
2491         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2492         (Qideograph_daikanwa_2): New variable.
2493         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2494         (complex_vars_of_mule_charset): Add new coded-charset
2495         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2496         `LEADING_BYTE_DAIKANWA'.
2497
2498         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2499         (LEADING_BYTE_DAIKANWA_1): New macro.
2500         (LEADING_BYTE_DAIKANWA_2): New macro.
2501         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2502
2503 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2504
2505         * mule-charset.c (complex_vars_of_mule_charset): Change
2506         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2507         the second revised version.
2508
2509 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2510
2511         * mule-charset.c (Vcharset_ucs_smp): New variable.
2512         (Vcharset_ucs_sip): New variable.
2513         (Qucs_smp): New variable.
2514         (Qucs_sip): New variable.
2515         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2516         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2517         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2518         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2519         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2520         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2521
2522         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2523         (LEADING_BYTE_UCS_SIP): New macro.
2524         (MIN_CHAR_SMP): New macro.
2525         (MAX_CHAR_SMP): New macro.
2526         (MIN_CHAR_SIP): New macro.
2527         (MAX_CHAR_SIP): New macro.
2528
2529 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2530
2531         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2532         utf-2000.
2533
2534 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2535
2536         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2537         value; don't store value into `encoding_table' of `Lisp_Charset'.
2538         (mark_charset): `encoding_table' was deleted.
2539         (charset_description): Likewise.
2540         (make_charset): Likewise.
2541         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2542         `put_char_ccs_code_point'.
2543
2544         * chartab.h (Fput_char_attribute): New EXFUN.
2545
2546         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2547         is unified with normal symbol space.
2548         (Fget_char_attribute): Likewise.
2549         (Fput_char_attribute): Likewise; behavior of
2550         `put_char_ccs_code_point' is changed.
2551
2552         * char-ucs.h: Include "elhash.h".
2553         (Vchar_attribute_hash_table): New external variable.
2554         (struct Lisp_Charset): Delete `encoding_table'.
2555         (CHARSET_ENCODING_TABLE): New implementation; refer
2556         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2557         `Lisp_Charset'.
2558
2559 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2560
2561         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2562         (cs) == 0.
2563
2564 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2565
2566         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2567         `chinese-big5'.
2568
2569 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2570
2571         * chartab.c (uint8_byte_table_description): New constant.
2572         (uint8-byte-table): Use `uint8_byte_table_description'.
2573         (uint16_byte_table_description): New constant.
2574         (uint16-byte-table): Use `uint16_byte_table_description'.
2575
2576 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2577
2578         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2579         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2580
2581 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2582
2583         * mule-charset.c (Vcharset_ucs_ks): New variable.
2584         (Qucs_ks): New variable.
2585         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2586         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2587
2588         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2589
2590 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2591
2592         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2593         (Fdecode_char): Likewise.
2594
2595         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2596         chartab.h.
2597         (Fdefine_char): Modify for Fdecode_char.
2598         (Ffind_char): Likewise.
2599
2600         * mule-charset.c (Fdecode_char): Add new optional argument
2601         `defined-only'.
2602         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2603
2604 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2605
2606         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2607         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2608         (allocate_coding_system): Initialize initial-charsets of
2609         CODESYS_BIG5 in XEmacs UTF-2000.
2610         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2611         CODESYS_BIG5 in XEmacs UTF-2000.
2612         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2613         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2614
2615         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2616         variables.
2617         (Qideograph_hanziku_{1 .. 12}): Likewise.
2618         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2619         .. 12}'.
2620         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2621         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2622         `ideograph-hanziku-{1 .. 12}'.
2623
2624         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2625         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2626         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2627         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2628         (DECODE_DEFINED_CHAR): New inline function.
2629         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2630
2631 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2632
2633         * mule-charset.c (Vcharset_china3_jef): Renamed from
2634         `Vcharset_japanese_jef_china3'.
2635         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2636         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2637         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2638         (syms_of_mule_charset): Rename `china3-jef' from
2639         `japanese-jef-china3'.
2640         (complex_vars_of_mule_charset): Likewise; rename
2641         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2642
2643         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2644         `LEADING_BYTE_JEF_CHINA3'.
2645         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2646         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2647
2648 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2649
2650         * mule-charset.c (encode_builtin_char_1): Comment out special code
2651         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2652
2653         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2654         (MAX_CHAR_MOJIKYO_0): Comment out.
2655         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2656         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2657         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2658         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2659
2660 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2661
2662         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2663         (Qideograph_cbeta): New variable.
2664         (encode_builtin_char_1): Comment out special code for
2665         coded-charset `mojikyo' and `japanese-jef-china3'.
2666         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2667         (complex_vars_of_mule_charset): Add new coded-charset
2668         `ideograph-cbeta'.
2669
2670         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2671         (MIN_CHAR_CBETA): New macro.
2672         (MAX_CHAR_CBETA): New macro.
2673
2674 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2675
2676         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2677         (LEADING_BYTE_JEF_CHINA3): New macro.
2678         (MIN_CHAR_JEF_CHINA3): New macro.
2679         (MAX_CHAR_JEF_CHINA3): Likewise.
2680         (DECODE_CHAR): Fixed.
2681
2682 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2683
2684         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2685         (Qjapanese_jef_china3): New variable.
2686         (encode_builtin_char_1): Support `japanese-jef-china3'.
2687         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2688         (complex_vars_of_mule_charset): Add new coded-charset
2689         `japanese-jef-china3'.
2690
2691 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2692
2693         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2694         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2695         94^4, 96^3, 96^4, 128^n and 256^n set.
2696         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2697         (map_char_table): Likewise.
2698
2699 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2700
2701         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2702         UTF-2000.
2703
2704 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2705
2706         * chartab.h (get_char_id_table): New inline function.
2707
2708         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2709         function.
2710
2711 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2712
2713         * chartab.h (decode_char_table_range): New prototype in XEmacs
2714         UTF-2000.
2715         (put_char_id_table): New inline function in XEmacs UTF-2000.
2716
2717         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2718         function.
2719         (decode_char_table_range): Delete static declaration in XEmacs
2720         UTF-2000.
2721
2722 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2723
2724         * chartab.c (put_char_id_table): Use `put_char_table'.
2725
2726 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2727
2728         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2729         (map_over_uint16_byte_table): Likewise.
2730         (map_over_byte_table): Likewise.
2731         (map_char_table): Modify for `map_over_uint8_byte_table',
2732         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2733         UTF-2000.
2734
2735 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2736
2737         * chartab.c (struct map_char_table_for_charset_arg): New
2738         structure.
2739         (map_char_table_for_charset_fun): New function.
2740         (map_char_table): Use `map_char_table' for encoding_table of
2741         `range->charset'.
2742
2743 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2744
2745         * chartab.c (map_char_table): Check a character is found in
2746         range->charset instead of non default value is defined in
2747         char-table when range is CHARTAB_RANGE_ROW.
2748
2749 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2750
2751         * chartab.c (map_char_id_table): Deleted.
2752         (Fmap_char_attribute): Use `map_char_table' instead of
2753         `map_char_id_table'.
2754
2755 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2756
2757         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2758         UTF-2000.
2759         (update_syntax_table): Deleted in XEmacs UTF-2000.
2760
2761         * syntax.c (find_defun_start): Use `syntax_table' instead of
2762         `mirror_syntax_table' in XEmacs UTF-2000.
2763         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2764         UTF-2000.
2765         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2766         XEmacs UTF-2000.
2767         (Fmatching_paren): Likewise.
2768         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2769         in XEmacs UTF-2000.
2770         (find_start_of_comment): Likewise.
2771         (find_end_of_comment): Likewise.
2772         (Fforward_comment): Likewise.
2773         (scan_lists): Likewise.
2774         (char_quoted): Likewise.
2775         (Fbackward_prefix_chars): Likewise.
2776         (scan_sexps_forward): Likewise.
2777         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2778         (update_syntax_table): Likewise.
2779
2780         * search.c (skip_chars): Use `syntax_table' instead of
2781         `mirror_syntax_table' in XEmacs UTF-2000.
2782         (wordify): Likewise.
2783         (Freplace_match): Likewise.
2784
2785         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2786         `mirror_syntax_table' in XEmacs UTF-2000.
2787         (WORDCHAR_P_UNSAFE): Likewise.
2788         (re_match_2_internal): Likewise.
2789
2790         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2791         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2792
2793         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2794         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2795
2796         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2797         XEmacs UTF-2000.
2798
2799         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2800         UTF-2000.
2801         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2802         (char_table_description): Delete `mirror_table' in XEmacs
2803         UTF-2000.
2804         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2805         UTF-2000.
2806         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2807         (Fcopy_char_table): Likewise.
2808         (put_char_table): Don't call `update_syntax_table' in XEmacs
2809         UTF-2000.
2810
2811         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2812         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2813         (casify_region_internal): Likewise.
2814
2815         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2816
2817         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2818         `mirror_syntax_table' in XEmacs UTF-2000.
2819
2820         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2821         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2822         (Fexpand_abbrev): Likewise.
2823
2824 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2825
2826         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2827
2828 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2829
2830         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2831         (map_over_uint16_byte_table): Likewise.
2832         (map_over_byte_table): Likewise.
2833         (get_char_id_table): Refer `cit->default_value'.
2834         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2835         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2836         of character-id ranges.
2837         (mark_char_table): Mark `ct->default_value'.
2838         (char_table_description): Add `default_value'.
2839         (fill_char_table): Use `default_value'.
2840         (decode_char_table_range): Decode `nil' as
2841         `CHARTAB_RANGE_DEFAULT'.
2842         (get_char_id_table): Refer `cit->default_value'.
2843         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2844         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2845         temporary hack; check value of char-table is bound or not.
2846         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2847
2848         * chartab.h (struct Lisp_Char_Table): Add new member
2849         `default_value' in XEmacs UTF-2000.
2850         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2851         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2852         UTF-2000.
2853
2854 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2855
2856         * chartab.h (Lisp_Char_ID_Table): Deleted.
2857
2858         * chartab.c (char_table_description): Fix typo.
2859         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2860         `Lisp_Char_ID_Table'.
2861
2862 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2863
2864         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2865         `CHAR_ID_TABLE_P'.
2866
2867         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2868         `CHAR_ID_TABLE_P'.
2869
2870         * chartab.h (XCHAR_ID_TABLE): Deleted.
2871         (XSETCHAR_ID_TABLE): Deleted.
2872         (CHAR_ID_TABLE_P): Deleted.
2873
2874         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2875         `CHAR_ID_TABLE_P'.
2876         (Fget_composite_char): Likewise.
2877         (put_char_table): Likewise.
2878         (add_char_attribute_alist_mapper): Fixed.
2879         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2880         `CHAR_ID_TABLE_P'.
2881         (Fget_char_attribute): Likewise.
2882         (Fget_char_attribute): Likewise.
2883         (Fmap_char_attribute): Likewise.
2884
2885         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2886         `CHAR_ID_TABLE_P'.
2887         (encode_char_1): Likewise.
2888
2889 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2890
2891         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2892         `XCHAR_ID_TABLE'.
2893
2894         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2895         instead of `XCHAR_ID_TABLE'.
2896         (remove_char_ccs): Likewise.
2897
2898         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2899         `XCHAR_ID_TABLE'.
2900         (Fget_composite_char): Likewise.
2901         (Fchar_variants): Likewise.
2902         (put_char_table): Likewise.
2903         (add_char_attribute_alist_mapper): Likewise.
2904         (Fchar_attribute_alist): Likewise.
2905         (Fget_char_attribute): Likewise.
2906         (Fput_char_attribute): Likewise.
2907         (Fmap_char_attribute): Likewise.
2908         (Fmap_char_attribute): Likewise.
2909
2910         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2911         `XCHAR_ID_TABLE'.
2912         (encode_char_1): Likewise.
2913
2914 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2915
2916         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2917         `Lisp_Char_ID_Table'.
2918         (mark_char_id_table): Deleted.
2919         (print_char_id_table): Likewise.
2920         (char_id_table_equal): Likewise.
2921         (char_id_table_hash): Likewise.
2922         (char_id_table_description): Likewise.
2923         (char_id_table): Likewise.
2924         (make_char_id_table): Use `Fmake_char_table' and
2925         `fill_char_table'.
2926         (get_char_id_table): Use `Lisp_Char_Table' instead of
2927         `Lisp_Char_ID_Table'.
2928         (put_char_id_table): Likewise.
2929         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2930         `XCHAR_ID_TABLE'.
2931         (Fremove_char_attribute): Likewise.
2932         (syms_of_chartab): Don't define type `char-id-table'.
2933
2934         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2935         (char_id_table): Likewise.
2936         (GC_CHAR_ID_TABLE_P): Likewise.
2937         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2938         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2939         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2940         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2941         (get_char_id_table): Use `Lisp_Char_Table' instead of
2942         `Lisp_Char_ID_Table'.
2943         (put_char_id_table_0): Likewise.
2944         (put_char_id_table): Likewise.
2945
2946 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2947
2948         * chartab.h: Lisp_Byte_Table related codes are moved from
2949         chartab.h.
2950
2951         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2952
2953 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2954
2955         * chartab.h: Don't include "chartab.h".
2956         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2957         (Lisp_Char_ID_Table): Likewise.
2958         (char_id_table): Likewise.
2959         (XCHAR_ID_TABLE): Likewise.
2960         (XSETCHAR_ID_TABLE): Likewise.
2961         (CHAR_ID_TABLE_P): Likewise.
2962         (GC_CHAR_ID_TABLE_P): Likewise.
2963         (get_char_id_table): Likewise.
2964
2965         * char-ucs.h: Include "chartab.h".
2966         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2967         (Lisp_Char_ID_Table): Likewise.
2968         (char_id_table): Likewise.
2969         (XCHAR_ID_TABLE): Likewise.
2970         (XSETCHAR_ID_TABLE): Likewise.
2971         (CHAR_ID_TABLE_P): Likewise.
2972         (GC_CHAR_ID_TABLE_P): Likewise.
2973         (get_char_id_table): Likewise.
2974
2975 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2976
2977         * chartab.c (copy_uint8_byte_table): New function.
2978         (copy_uint16_byte_table): New function.
2979         (copy_byte_table): New function.
2980         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2981         characters to call.
2982         (map_over_uint16_byte_table): Likewise.
2983         (map_over_byte_table): Likewise.
2984         (get_byte_table): Move prototype to chartab.h.
2985         (put_byte_table): Likewise.
2986         (put_char_id_table_0): Moved to chartab.h.
2987         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2988         (char_table_entry_equal): Likewise.
2989         (char_table_entry_hash): Likewise.
2990         (char_table_entry_description): Likewise.
2991         (char_table_entry): Likewise.
2992         (make_char_table_entry): Likewise.
2993         (copy_char_table_entry): Likewise.
2994         (get_non_ascii_char_table_value): Likewise.
2995         (map_over_charset_ascii): Likewise.
2996         (map_over_charset_control_1): Likewise.
2997         (map_over_charset_row): Likewise.
2998         (map_over_other_charset): Likewise.
2999         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
3000         (print_char_table): Likewise.
3001         (char_table_equal): Likewise.
3002         (char_table_hash): Likewise.
3003         (char_table_description): Likewise.
3004         (fill_char_table): Likewise.
3005         (Fcopy_char_table): Likewise.
3006         (get_char_table): Likewise.
3007         (Fget_range_char_table): Likewise.
3008         (put_char_table): Likewise.
3009         (map_char_table): Likewise.
3010         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
3011         UTF-2000.
3012
3013 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3014
3015         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3016         `Vauto_fill_chars' in XEmacs UTF-2000.
3017
3018         * chartab.h (get_byte_table): New prototype [moved from
3019         chartab.c].
3020         (put_byte_table): Likewise [moved from chartab.c].
3021         (put_char_id_table_0): New inline function [moved from chartab.c].
3022         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3023         (Lisp_Char_Table_Entry): Likewise.
3024         (char_table_entry): Likewise.
3025         (XCHAR_TABLE_ENTRY): Likewise.
3026         (XSETCHAR_TABLE_ENTRY): Likewise.
3027         (CHAR_TABLE_ENTRYP): Likewise.
3028         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3029         (NUM_ASCII_CHARS): Likewise.
3030         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3031         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3032
3033 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3034
3035         * chartab.c (get_char_id_table): Change interface.
3036         (put_char_id_table_0): New function.
3037         (put_char_id_table): Change interface; new implementation.
3038         (Fget_composite_char): Modify for interface change of
3039         `get_char_id_table'.
3040         (Fchar_variants): Likewise.
3041         (add_char_attribute_alist_mapper): Likewise.
3042         (Fchar_attribute_alist): Likewise.
3043         (Fget_char_attribute): Likewise.
3044         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3045         as same as character as the first argument like `put-char-table';
3046         modify for interface change of `put_char_id_table'.
3047         (Fremove_char_attribute): Modify for interface change of
3048         `put_char_id_table'.
3049
3050 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3051
3052         * text-coding.c: Sync up with XEmacs 21.2.41.
3053         (COMPOSE_ADD_CHAR): Modify for interface change of
3054         `get_char_id_table'.
3055
3056         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3057         change of `put_char_id_table'.
3058         (remove_char_ccs): Likewise.
3059
3060         * chartab.h (put_char_id_table): Change interface.
3061
3062         * char-ucs.h (get_char_id_table): Change interface.
3063         (charset_code_point): Modify for interface change of
3064         `get_char_id_table'.
3065         (encode_char_1): Likewise.
3066
3067 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3068
3069         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3070         argument `ccs'.
3071         (map_over_uint16_byte_table): Likewise.
3072         (map_over_byte_table): Likewise.
3073         (map_char_id_table): Add new argument `range' like
3074         `map_char_table'.
3075         (Fmap_char_attribute): Add new argument `range' like
3076         `Fmap_char_table'.
3077
3078 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3079
3080         * chartab.c (map_over_uint8_byte_table): Change interface of
3081         mapping function to use struct chartab_range instead of Emchar.
3082         (map_over_uint16_byte_table): Likewise.
3083         (map_over_byte_table): Likewise.
3084         (map_char_id_table): Likewise.
3085         (struct slow_map_char_id_table_arg): Deleted.
3086         (slow_map_char_id_table_fun): Deleted.
3087         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3088         function `slow_map_char_table_fun' instead of struct
3089         `slow_map_char_id_table_arg' and function
3090         `slow_map_char_id_table_fun'.
3091
3092 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3093
3094         * mule-charset.c: Move char-it-table related codes to chartab.c.
3095         (Vutf_2000_version): Moved to chartab.c.
3096         (Fdefine_char): Likewise.
3097         (Ffind_char): Likewise.
3098         (syms_of_mule_charset): Move types `uint8-byte-table',
3099         `uint16-byte-table', `byte-table' and `char-id-table' to
3100         chartab.c; move functions `char_attribute_list,
3101         `find_char_attribute_table, `char_attribute_alist,
3102         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3103         `map_char_attribute, `define_char, `find_char, `char_variants and
3104         `get_composite_char to chartab.c; move symbols `=>ucs',
3105         `->decomposition', `compat', `isolated', `initial', `medial',
3106         `final', `vertical', `noBreak', `fraction', `super', `sub',
3107         `circle', `square', `wide', `narrow', `small' and `font' to
3108         chartab.c.
3109         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3110         setting codes for `Vcharacter_composition_table' and
3111         `Vcharacter_variant_table' to chartab.c.
3112         (complex_vars_of_mule_charset): Move setting code for
3113         `Vchar_attribute_hash_table' to chartab.c.
3114
3115         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3116         (make_char_id_table): New prototype.
3117         (put_char_id_table): Likewise.
3118         (Fget_char_attribute): Likewise.
3119
3120         * chartab.c: Move char-id-table related code from mule-charset.c.
3121         (Vutf_2000_version): Moved from mule-charset.c.
3122
3123         * char-ucs.h (Qucs): New external variable.
3124         (put_char_ccs_code_point): New prototype.
3125         (remove_char_ccs): Likewise.
3126
3127 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3128
3129         * mule-charset.c (Vcharset_ucs_jis): New variable.
3130         (Qucs_jis): Likewise.
3131         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3132         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3133
3134         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3135
3136 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3137
3138         * mule-charset.c (map_over_uint8_byte_table): New function.
3139         (map_over_uint16_byte_table): Likewise.
3140         (map_over_byte_table): Likewise.
3141         (map_char_id_table): Likewise.
3142         (slow_map_char_id_table_fun): Likewise.
3143         (Fmap_char_attribute): Likewise.
3144         (syms_of_mule_charset): Add new function `map-char-attribute'.
3145
3146 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3147
3148         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3149         (syms_of_mule_charset): Add new function `find-char'.
3150
3151 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3152
3153         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3154         XEmacs UTF-2000.
3155         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3156         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3157         XEmacs UTF-2000.
3158         (complex_vars_of_mule_charset): Add new coded-charset
3159         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3160         `ideograph-gt-pj-*'.
3161
3162         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3163
3164 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3165
3166         * mule-charset.c (encode_builtin_char_1): Purge codes about
3167         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3168         {MIN|MAX}_CHAR_HEBREW.
3169         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3170         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3171
3172         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3173         (MAX_CHAR_GREEK): Purged.
3174         (MIN_CHAR_CYRILLIC): Purged.
3175         (MAX_CHAR_CYRILLIC): Purged.
3176         (MIN_CHAR_HEBREW): Commented out.
3177         (MAX_CHAR_HEBREW): Likewise.
3178
3179 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3180
3181         * mule-charset.c (Qto_ucs): New variable.
3182         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3183         (Fdefine_char): Likewise.
3184         (syms_of_mule_charset): Add new symbol `=>ucs'.
3185
3186 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3187
3188         * mule-charset.c (Fdecode_char): Fixed.
3189
3190 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3193         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3194         "tcvn5712-1".
3195
3196 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3197
3198         * mule-charset.c (Vcharset_ucs_big5): New variable.
3199         (Qucs_big5): Likewise.
3200         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3201         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3202
3203         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3204
3205 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3206
3207         * mule-charset.c (decode_builtin_char): Check Big5 code range
3208         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3209
3210 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3211
3212         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3213         (Qchinese_gb12345): Likewise.
3214         (Fdecode_builtin_char): Fixed.
3215         (syms_of_mule_charset): Add `chinese-gb12345'.
3216         (complex_vars_of_mule_charset): Add coded-charset
3217         `chinese-gb12345'.
3218
3219         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3220         (LEADING_BYTE_CHINESE_GB12345): New macro.
3221
3222 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3223
3224         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3225         and `latin-viscii-upper' for `latin-viscii'.
3226
3227 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3228
3229         * mule-charset.c (Fdecode_builtin_char): Comment out
3230         regularization code for ISO-IR GR representation.
3231
3232 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3233
3234         * mule-charset.c (decode_builtin_char): New function; renamed from
3235         `make_builtin_char'; return -1 instead of signal.
3236         (Fdecode_builtin_char): Use `decode_builtin_char'.
3237
3238         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3239         `make_builtin_char'.
3240         (DECODE_CHAR): Use `decode_builtin_char' instead of
3241         `make_builtin_char'; use mapping table of `chinese-big5' for
3242         `chinese-big5-{1,2}'.
3243
3244 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * text-coding.c (char_encode_big5): New function.
3247         (char_finish_big5): Likewise.
3248         (reset_encoding_stream): Use `char_encode_big5' and
3249         `char_finish_big5' for CODESYS_BIG5.
3250         (mule_encode): Don't use `encode_coding_big5'.
3251         (encode_coding_big5): Deleted.
3252
3253 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3254
3255         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3256         0x81- in XEmacs UTF-2000.
3257         (detect_coding_big5): Likewise.
3258
3259 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3260
3261         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3262         generate character-id if the CCS property does not have
3263         corresponding predefined character.
3264         (make_builtin_char): Return -1 if corresponding predefined
3265         character is not found.
3266         (Fdecode_char): Return nil if corresponding character is not
3267         found.
3268         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3269         don't map to builtin ucs space.
3270
3271 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3272
3273         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3274         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3275
3276 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3277
3278         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3279         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3280         (Qideograph_gt): Likewise.
3281         (Qideograph_gt_pj_{1..11}): Likewise.
3282         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3283         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3284         `ideograph-gt-pj-11'.
3285         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3286         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3287         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3288
3289         * char-ucs.h (LEADING_BYTE_GT): New macro.
3290         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3291         (MIN_CHAR_GT): Likewise.
3292         (MAX_CHAR_GT): Likewise.
3293
3294 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3295
3296         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3297         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3298
3299         * doprnt.c (unsigned_int_converters): Add `c'.
3300         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3301
3302         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3303         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3304         `MIN_CHAR_MOJIKYO'.
3305         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3306         (MAX_CHAR_MOJIKYO_0): New macro.
3307         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3308
3309 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3310
3311         * mule-charset.c (Fdefine_char): Delete cemented out code.
3312         (encode_builtin_char_1): Modify for new allocation of builtin
3313         Mojikyo characters.
3314
3315         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3316
3317 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3318
3319         * mule-charset.c (Vcharset_ucs_cns): New variable.
3320         (Qucs_cns): New variable.
3321         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3322         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3323
3324 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3325
3326         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3327
3328 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3329
3330         * search.c (search_buffer): Make `charset_base_code' as
3331         character-id >> 6 to eliminate the corresponding last byte in
3332         UTF-8 representation [I'm not sure it is right thing].
3333         (boyer_moore): Likewise.
3334
3335 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3336
3337         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3338         representation in MULE.
3339
3340 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3341
3342         * text-coding.c (Fmake_coding_system): Use
3343         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3344         `EXTERNAL_PROPERTY_LIST_LOOP'.
3345
3346 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3347
3348         * text-coding.c (decode_output_utf8_partial_char): New function.
3349         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3350
3351 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3352
3353         * text-coding.c (decode_coding_utf8): Output original byte
3354         sequence if it is broken; change order of conditions.
3355
3356         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3357         of conditions.
3358
3359         * mb-multibyte.h (BYTE_ASCII_P):
3360         Use bit ops for char-signedness safety.
3361         (BYTE_C0_P): Use bit ops for char-signedness safety.
3362         (BYTE_C1_P): Use bit ops for char-signedness safety.
3363
3364         * character.h: (XCHAR_OR_CHAR_INT):
3365         Always use inline function.
3366         Remove redundant type checking assert() - XINT will abort quite
3367         nicely.
3368
3369 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3370
3371         * text-coding.c: (Fencode_shift_jis_char):
3372         (Fencode_big5_char):
3373         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3374         Replace 0 with '\0' when working with bytes.
3375         Replace initial "(" with "\(" in docstrings.
3376
3377         (Fmake_coding_system):
3378         When type is ccl and value is vector, register it with a proper
3379         symbol.  And checks whether the given ccl program is valid.
3380         (mule_decode): When calling ccl_driver, if src indicates
3381         NULL pointer, set an empty string instead.
3382         (mule_encode): Likewise.
3383
3384         (detect_eol_type):
3385         (detect_coding_sjis):
3386         (decode_coding_sjis):
3387         (detect_coding_big5):
3388         (decode_coding_big5):
3389         (detect_coding_ucs4):
3390         (decode_coding_ucs4):
3391         (detect_coding_utf8):
3392         (decode_coding_utf8):
3393         (detect_coding_iso2022):
3394         (decode_coding_iso2022):
3395         (decode_coding_no_conversion):
3396         (mule_decode):
3397         Make all detecting and decoding functions take an Extbyte * arg.
3398         (text_encode_generic):
3399         (encode_coding_big5):
3400         (encode_coding_no_conversion):
3401         (mule_encode):
3402         Make all encoding functions take a Bufbyte * arg.
3403         Use size_t instead of unsigned int for memory sizes.
3404         Only cast to unsigned char whenever dereferencing Extbyte *.
3405
3406         (struct lrecord_description fcd_description_1): Use countof.
3407         (complex_vars_of_file_coding):
3408         Use countof instead of sizeof.
3409         Use CHECK_NATNUM instead of CHECK_INT.
3410
3411 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3412
3413         * mule-charset.c (Fget_char_attribute): Add new optional argument
3414         `default-value'.
3415         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3416         (remove_char_ccs): Likewise.
3417
3418 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3419
3420         * text-coding.c (char_encode_shift_jis): New implementation in
3421         UTF-2000.
3422         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3423         ...)'.
3424
3425         * mule-charset.c (Vcharset_chinese_big5): New variable in
3426         UTF-2000.
3427         (Qchinese_big5): New variable in UTF-2000.
3428         (BIG5_SAME_ROW): New macro in UTF-2000.
3429         (make_builtin_char): Use builtin characters of
3430         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3431         characters of `Vcharset_chinese_big5'.
3432         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3433         (complex_vars_of_mule_charset): Add new coded-charset
3434         `chinese-big5' in UTF-2000.
3435
3436         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3437         (Vcharset_chinese_big5): New external variable declaration.
3438         (Vcharset_japanese_jisx0208_1990): Likewise.
3439
3440 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3441
3442         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3443         function.
3444         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3445
3446 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3447
3448         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3449         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3450         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3451         `mojikyo-pj-*'.
3452
3453 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3454
3455         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3456
3457 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3458
3459         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3460         to 0.17.
3461
3462 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3463
3464         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3465         for `CHARSET_BY_ATTRIBUTES'.
3466         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3467         `CHARSET_BY_ATTRIBUTES'.
3468
3469         * text-coding.c (struct decoding_stream): Rename member `CH' to
3470         `CPOS'.
3471         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3472         (decode_coding_sjis): Likewise.
3473         (decode_coding_big5): Likewise.
3474         (decode_coding_ucs4): Likewise.
3475         (decode_coding_utf8): Likewise.
3476         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3477         `CHARSET_BY_ATTRIBUTES'.
3478         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3479         `str->counter'; decode 3, 4 bytes sets.
3480         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3481         sets.
3482         (decode_coding_no_conversion): Use `str->cpos' instead of
3483         `str->ch'.
3484
3485         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3486         (Qmojikyo_2022_1): New variable.
3487         (make_charset): Don't use `CHARSET_TYPE_*'.
3488         (range_charset_code_point): Support coded-charset
3489         `mojikyo-2022-1'.
3490         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3491         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3492         `CHARSET_BY_ATTRIBUTES'.
3493         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3494         `CHARSET_BY_ATTRIBUTES'.
3495         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3496         (complex_vars_of_mule_charset): Add new coded-charset
3497         `mojikyo-2022-1'.
3498
3499         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3500         interface; changed to inline function.
3501
3502         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3503         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3504         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3505         (CHARSET_TYPE_94): Deleted.
3506         (CHARSET_TYPE_94X94): Deleted.
3507         (CHARSET_TYPE_96): Deleted.
3508         (CHARSET_TYPE_96X96): Deleted.
3509         (CHARSET_TYPE_128): Deleted.
3510         (CHARSET_TYPE_128X128): Deleted.
3511         (CHARSET_TYPE_256): Deleted.
3512         (CHARSET_TYPE_256X256): Deleted.
3513         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3514         to inline function.
3515         (DECODE_MOJIKYO_2022): New inline function.
3516         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3517         `Vcharset_mojikyo_2022_1'.
3518
3519 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3520
3521         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3522         instead of `EQ'.
3523         (put_byte_table): Likewise.
3524         (char_id_table_equal): Use `get_byte_table' [new implementation].
3525
3526 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3527
3528         * mule-charset.c: Include <limits.h> in UTF-2000.
3529         (BT_UINT8_MIN): New macro in UTF-2000.
3530         (BT_UINT8_MAX): New macro in UTF-2000.
3531         (BT_UINT8_t): New macro in UTF-2000.
3532         (BT_UINT8_nil): New macro in UTF-2000.
3533         (BT_UINT8_unbound): New macro in UTF-2000.
3534         (INT_UINT8_P): New inline function in UTF-2000.
3535         (UINT8_VALUE_P): New inline function in UTF-2000.
3536         (UINT8_ENCODE): New inline function in UTF-2000.
3537         (UINT8_DECODE): New inline function in UTF-2000.
3538         (mark_uint8_byte_table): New function in UTF-2000.
3539         (print_uint8_byte_table): New function in UTF-2000.
3540         (uint8_byte_table_equal): New function in UTF-2000.
3541         (uint8_byte_table_hash): New function in UTF-2000.
3542         (make_uint8_byte_table): New function in UTF-2000.
3543         (uint8_byte_table_same_value_p): New function in UTF-2000.
3544         (BT_UINT16_MIN): New macro in UTF-2000.
3545         (BT_UINT16_MAX): New macro in UTF-2000.
3546         (BT_UINT16_t): New macro in UTF-2000.
3547         (BT_UINT16_nil): New macro in UTF-2000.
3548         (BT_UINT16_unbound): New macro in UTF-2000.
3549         (INT_UINT16_P): New inline function in UTF-2000.
3550         (UINT16_VALUE_P): New inline function in UTF-2000.
3551         (UINT16_ENCODE): New inline function in UTF-2000.
3552         (UINT16_DECODE): New inline function in UTF-2000.
3553         (UINT8_TO_UINT16): New inline function in UTF-2000.
3554         (mark_uint16_byte_table): New function in UTF-2000.
3555         (print_uint16_byte_table): New function in UTF-2000.
3556         (uint16_byte_table_equal): New function in UTF-2000.
3557         (uint16_byte_table_hash): New function in UTF-2000.
3558         (make_uint16_byte_table): New function in UTF-2000.
3559         (uint16_byte_table_same_value_p): New function in UTF-2000.
3560         (print_byte_table): New function in UTF-2000.
3561         (byte-table): Use `print_byte_table' as printer.
3562         (make_byte_table): Delete second argument `older'.
3563         (byte_table_same_value_p): New function in UTF-2000.
3564         (copy_byte_table): Deleted.
3565         (get_byte_table): New function in UTF-2000.
3566         (put_byte_table): New function in UTF-2000.
3567         (print_char_id_table): New function in UTF-2000.
3568         (char-id-table): Use `print_char_id_table' as printer.
3569         (make_char_id_table): Delete second argument `older'.
3570         (get_char_id_table): Use `get_byte_table [new implementation].
3571         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3572         implementation].
3573         (Ffind_char_attribute_table): New function in UTF-2000.
3574         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3575         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3576         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3577         (syms_of_mule_charset): Add new function
3578         `find-char-attribute-table' in UTF-2000.
3579
3580         * lrecord.h (enum lrecord_type): Add
3581         `lrecord_type_uint16_byte_table' and
3582         `lrecord_type_uint8_byte_table'.
3583
3584         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3585         (Lisp_Uint8_Byte_Table): New type.
3586         (XUINT8_BYTE_TABLE): New macro.
3587         (XSETUINT8_BYTE_TABLE): New macro.
3588         (UINT8_BYTE_TABLE_P): New macro.
3589         (GC_UINT8_BYTE_TABLE_P): New macro.
3590         (struct Lisp_Uint16_Byte_Table): New structure.
3591         (Lisp_Uint16_Byte_Table): New type.
3592         (XUINT16_BYTE_TABLE): New macro.
3593         (XSETUINT16_BYTE_TABLE): New macro.
3594         (UINT16_BYTE_TABLE_P): New macro.
3595         (GC_UINT16_BYTE_TABLE_P): New macro.
3596
3597 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3598
3599         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3600         (Vcharacter_ideographic_strokes_table): Deleted.
3601         (Vcharacter_total_strokes_table): Deleted.
3602         (Vcharacter_morohashi_daikanwa_table): Deleted.
3603         (Vcharacter_decomposition_table): Deleted.
3604         (Qname): Deleted because it is duplicated.
3605         (Qideographic_radical): Deleted.
3606         (Qideographic_strokes): Deleted.
3607         (Qtotal_strokes): Deleted.
3608         (Qmorohashi_daikanwa): Deleted.
3609         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3610         `ideographic-radical', `ideographic-strokes', `total-strokes',
3611         `morohashi-daikanwa' and `->decomposition'.
3612         (Fget_char_attribute): Likewise.
3613         (Fput_char_attribute): Likewise; use `make-vector' instead of
3614         `make_older_vector' for `->decomposition' value.
3615         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3616         `ideograph-daikanwa'.
3617         (syms_of_mule_charset): Delete builtin symbols `name',
3618         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3619         `morohashi-daikanwa'.
3620         (vars_of_mule_charset): Don't setup
3621         `Vcharacter_ideographic_radical_table',
3622         `Vcharacter_ideographic_strokes_table',
3623         `Vcharacter_total_strokes_table',
3624         `Vcharacter_morohashi_daikanwa_table' and
3625         `Vcharacter_decomposition_table'.
3626
3627 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3628
3629         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3630         `make_older_vector', `make_vector_newer_1' and
3631         `make_vector_newer'.
3632
3633         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3634         `make_older_vector' and `make_vector_newer'.
3635
3636         * config.h.in (HAVE_GGC): New macro.
3637
3638 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3639
3640         * mule-charset.c (struct char_attribute_list_closure): New
3641         structure in UTF-2000.
3642         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3643         (Fchar_attribute_list): Likewise.
3644         (Fset_charset_mapping_table): Use `make_vector_newer'.
3645         (Fdecode_builtin_char): New function in UTF-2000.
3646         (syms_of_mule_charset): Add new function `char-attribute-list' and
3647         `decode-builtin-char' in UTF-2000.
3648
3649         * lisp.h (make_vector_newer): New prototype.
3650
3651         * alloc.c (make_vector_newer_1): New function.
3652         (make_vector_newer): New function.
3653
3654 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3655
3656         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3657         50100)'.
3658
3659 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3660
3661         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3662         (Vcharacter_attribute_table): Deleted.
3663         (Vcharacter_name_table): Deleted.
3664         (put_char_attribute): Deleted.
3665         (remove_char_attribute): Deleted.
3666         (struct char_attribute_alist_closure): New structure.
3667         (add_char_attribute_alist_mapper): New function.
3668         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3669         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3670         (Fget_char_attribute): Likewise.
3671         (Fput_char_attribute): Likewise.
3672         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3673         of `remove_char_attribute'.
3674         (Fdefine_char): Return character.
3675         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3676         and `Vcharacter_name_table'.
3677         (complex_vars_of_mule_charset): Likewise
3678         `Vchar_attribute_hash_table'.
3679
3680 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3681
3682         * character.h (CHARC_CHARSET): New macro.
3683         (CHARC_CHARSET_ID): New macro.
3684         (CHARC_CODE_POINT): New macro.
3685         (CHARC_COLUMNS): New macro.
3686         (CHARC_TO_CHAR): New inline function.
3687         (CHARC_EQ): New inline function.
3688         (CHARC_ASCII_EQ): New inline function.
3689         (CHARC_IS_SPACE): New inline function.
3690         (ASCII_TO_CHARC): New inline function.
3691
3692         * char-ucs.h (encode_char_2): Deleted.
3693         (ENCODE_CHAR): Use `encode_char_1' again.
3694         (breakup_char_1): Likewise.
3695         (CHAR_TO_CHARC): New inline function.
3696
3697         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3698
3699 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3700
3701         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3702         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3703         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3704         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3705         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3706         `CHARC_IS_SPACE'.
3707         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3708
3709         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3710         `CHARC_CODE_POINT'.
3711         (x_output_display_block): Use `CHARC_CHARSET' and
3712         `CHARC_ASCII_EQ'.
3713
3714         * redisplay-tty.c (tty_output_display_block): Use
3715         `CHARC_ASCII_EQ'.
3716         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3717
3718         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3719
3720         * insdel.c (find_charsets_in_charc_string): Use
3721         `CHARC_CHARSET_ID'.
3722         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3723         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3724         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3725         (convert_charc_string_into_malloced_string): Likewise.
3726
3727 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3728
3729         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3730         instead of <Emchar_dynarr *> for buf; use
3731         `convert_bufbyte_string_into_charc_dynarr' instead of
3732         `convert_bufbyte_string_into_emchar_dynarr'; use
3733         `find_charsets_in_charc_string' instead of
3734         `find_charsets_in_emchar_string'.
3735
3736         * redisplay.h:
3737         - Include "character.h".
3738         (struct rune): New member `cglyph'; delete member `chr'.
3739
3740         * redisplay.c (redisplay_text_width_charc_string): New function;
3741         delete `redisplay_text_width_emchar_string'.
3742         (rtw_charc_dynarr): New variable; renamed from
3743         `rtw_emchar_dynarr'.
3744         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3745         `rtw_emchar_dynarr'; use
3746         `convert_bufbyte_string_into_charc_dynarr' instead of
3747         `convert_bufbyte_string_into_emchar_dynarr'; use
3748         `redisplay_text_width_charc_string' instead of
3749         `redisplay_text_width_emchar_string'.
3750         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3751         instead of `rtw_emchar_dynarr'; use
3752         `convert_bufbyte_string_into_charc_dynarr' instead of
3753         `convert_bufbyte_string_into_emchar_dynarr'.
3754         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3755         `redisplay_text_width_charc_string' instead of
3756         `redisplay_text_width_emchar_string'.
3757         (create_text_block): Modify for <struct rune> change.
3758         (generate_formatted_string_db): Likewise.
3759         (create_string_text_block): Likewise.
3760         (pixel_to_glyph_translation): Likewise.
3761
3762         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3763         instead of <const Emchar *>.
3764         (x_text_width): Likewise.
3765         (x_output_display_block): Use <Charc_dynarr *> instead
3766         <Emchar_dynarr *>; modify for <structure rune> change.
3767         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3768         *>.
3769
3770         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3771         <const Emchar *>; use `charc_string_displayed_columns' instead of
3772         `emchar_string_displayed_columns'.
3773         (tty_output_display_block): Use <Charc_dynarr *> instead of
3774         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3775         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3776         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3777         `tty_output_emchar_dynarr_dynarr'.
3778         (tty_output_charc_dynarr): New function; delete
3779         `tty_output_charc_dynarr'.
3780
3781         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3782         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3783         <Emchar_dynarr *> for buf; use
3784         `convert_bufbyte_string_into_charc_dynarr' instead of
3785         `convert_bufbyte_string_into_emchar_dynarr'.
3786
3787         * frame.c (title_string_charc_dynarr): New variable; renamed from
3788         `title_string_emchar_dynarr'.
3789         (generate_title_string): Use `title_string_charc_dynarr' instead
3790         of `title_string_emchar_dynarr'; use
3791         `convert_charc_string_into_malloced_string' instead of
3792         `convert_emchar_string_into_malloced_string'.
3793         (init_frame): Use `title_string_charc_dynarr' instead of
3794         `title_string_emchar_dynarr'.
3795
3796         * console.h:
3797         - Include "character.h".
3798         (struct console_methods): Use <const Charc *> instead of <const
3799         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3800         <Emchar_dynarr *> in output_string_method.
3801
3802         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3803         <Emchar_dynarr *>.
3804
3805         * console-stream.c (stream_text_width): Use <const Charc *>
3806         instead of <const Emchar *>.
3807
3808         * character.h (Charc_dynarr): New type.
3809
3810         * char-ucs.h (structure Charc): New structure; define new type
3811         `Charc'.
3812
3813         * char-lb.h (DECODE_CHAR): New inline function.
3814         (encode_char_1): New inline function.
3815         (ENCODE_CHAR): New macro.
3816         (structure Charc): New structure; define new type `Charc'.
3817
3818         * char-1byte.h (Vcharset_control_1): New macro.
3819         (Vcharset_latin_iso8859_1): New macro.
3820         (DECODE_CHAR): New inline function.
3821         (encode_char_1): New inline function.
3822         (ENCODE_CHAR): New macro.
3823         (structure Charc): New structure; define new type `Charc'.
3824
3825         * insdel.c (find_charsets_in_charc_string): New function; delete
3826         `find_charsets_in_emchar_string'.
3827         (charc_string_displayed_columns): New function; delete
3828         `emchar_string_displayed_columns'.
3829         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3830         `convert_bufbyte_string_into_emchar_dynarr'.
3831         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3832         `convert_charc_string_into_bufbyte_dynarr'.
3833         (convert_charc_string_into_malloced_string): New function; delete
3834         `convert_charc_string_into_malloced_string'.
3835
3836         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3837         `find_charsets_in_emchar_string'.
3838         (charc_string_displayed_columns): New prototype; delete
3839         `emchar_string_displayed_columns'.
3840         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3841         `convert_charc_string_into_bufbyte_dynarr'.
3842         (convert_charc_string_into_malloced_string): New prototype; delete
3843         `convert_charc_string_into_malloced_string'.
3844
3845 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3846
3847         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3848
3849 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3850
3851         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3852
3853         * char-ucs.h: Use <short> for <Charset_ID>.
3854
3855         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3856         <Charset_ID>.
3857
3858 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3859
3860         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3861         to 0.16.
3862
3863 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3864
3865         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3866         variable.
3867         (Qmorohashi_daikanwa): New variable.
3868         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3869         for `morohashi-daikanwa' attribute.
3870         (Fget_char_attribute): Likewise.
3871         (Fput_char_attribute): Likewise.
3872         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3873         has the same value of `ideograph-daikanwa'.
3874         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3875         (vars_of_mule_charset): Setup
3876         `Vcharacter_morohashi_daikanwa_table'.
3877
3878 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3879
3880         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3881         attributes.
3882         (add_charset_to_list_mapper): Add `key' instead of
3883         `XCHARSET_NAME (value)' to return aliases.
3884
3885 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3886
3887         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3888         variable.
3889         (Vcharacter_ideographic_strokes_table): New variable.
3890         (Qideographic_radical): New variable.
3891         (Qideographic_strokes): New variable.
3892         (Fchar_attribute_alist): Use
3893         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3894         attribute; use `Vcharacter_ideographic_strokes_table' for
3895         `ideographic-strokes' attribute.
3896         (Fget_char_attribute): Likewise.
3897         (Fput_char_attribute): Likewise.
3898         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3899         `ideographic-strokes'.
3900         (vars_of_mule_charset): Setup
3901         `Vcharacter_ideographic_radical_table' and
3902         `Vcharacter_ideographic_strokes_table'.
3903
3904 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3905
3906         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3907         (Qtotal_strokes): New variable.
3908         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3909         `total-strokes' attribute.
3910         (Fget_char_attribute): Likewise.
3911         (Fput_char_attribute): Likewise.
3912         (syms_of_mule_charset): Add new symbol `total-strokes'.
3913         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3914
3915 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3916
3917         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3918         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3919         are found.
3920         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3921         `->decomposition' attribute.
3922         (Fput_char_attribute): Likewise.
3923         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3924
3925 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3926
3927         * mule-charset.c (decoding_table_check_elements): New function.
3928         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3929
3930 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3931
3932         * mule-charset.c (Fset_charset_mapping_table): Use
3933         `put_char_ccs_code_point'.
3934
3935 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3936
3937         * mule-charset.c (decoding_table_put_char): New inline function.
3938         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3939
3940 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3941
3942         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3943         (XCHARSET_BYTE_SIZE): New macro.
3944         (decoding_table_remove_char): New inline function.
3945         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3946         `decoding_table_remove_char'.
3947         (remove_char_ccs): Use `decoding_table_remove_char'.
3948         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3949
3950 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3951
3952         * mule-charset.c (Vcharacter_name_table): New variable.
3953         (Qname): New variable.
3954         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3955         attribute.
3956         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3957         `Vcharacter_name_table' for `name' attribute.
3958         (Fremove_char_attribute): Use function `remove_char_ccs'.
3959         (put_char_ccs_code_point): New function.
3960         (remove_char_ccs): New function.
3961         (syms_of_mule_charset): Add new symbol `name'.
3962         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3963
3964 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3965
3966         * mule-charset.c (make_byte_table): Add new argument `older'.
3967         (make_char_id_table): Likewise.
3968         (copy_char_id_table): Comment out because it is not used.
3969         (put_char_id_table): Modify for `make_byte_table'.
3970         (Fput_char_attribute): Make encoding_table as older object;
3971         inherit older bit of `Vcharacter_composition_table'.
3972         (mark_charset): Don't mark `cs->encoding_table'.
3973         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3974         normal object; make `Vcharacter_composition_table' as an older
3975         object; delete staticpro for `Vcharacter_composition_table'; make
3976         `Vcharacter_variant_table' as a normal object.
3977
3978         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3979         (mark_object): Don't check older object in UTF-2000.
3980
3981         * lrecord.h (struct lrecord_header): Add new member `older' in
3982         UTF-2000.
3983         (set_lheader_implementation): Setup `SLI_header->older' in
3984         UTF-2000.
3985         (set_lheader_older_implementation): New macro in UTF-2000.
3986         (OLDER_RECORD_P): New macro in UTF-2000.
3987         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3988         (alloc_older_lcrecord): New prototype in UTF-2000.
3989         (alloc_older_lcrecord_type): New macro in UTF-2000.
3990
3991 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3992
3993         * mule-charset.c (byte_table_description): Use
3994         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3995         (char_id_table_description): Delete bogus `, 1'.
3996         (Fget_char_attribute): Refer encoding_table of each coded-charset
3997         to get value of coded-charset attribute of a character.
3998         (Fput_char_attribute): Use `make_older_vector' instead of
3999         `make_vector'; use encoding_table of each coded-charset to store
4000         value of coded-charset attribute of a character.
4001         (Fremove_char_attribute): Use encoding_table of each coded-charset
4002         to store value of coded-charset attribute of a character.
4003         (mark_charset): Mark `cs->encoding_table'; don't mark
4004         `cs->decoding_table'.
4005         (charset_description): Add description of new member
4006         `encoding_table'.
4007         (make_charset): Initialize `encoding_table'.
4008
4009         * char-ucs.h (struct Lisp_Charset): Add new member
4010         `encoding_table'.
4011         (CHARSET_ENCODING_TABLE): New macro.
4012         (XCHARSET_ENCODING_TABLE): New macro.
4013         (charset_code_point): New implementation.
4014         (encode_char_1): Likewise.
4015
4016         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4017         (disksave_object_finalization_1): Call finalizers of
4018         `all_older_lcrecords' in UTF-2000.
4019         (make_older_vector): New function in UTF-2000.
4020         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4021         UTF-2000.
4022
4023         * lisp.h (make_older_vector): New prototype in UTF-2000.
4024
4025 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4026
4027         * lrecord.h (enum lrecord_type): Rename
4028         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4029
4030         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4031         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4032         `get_char_code_table'.
4033
4034         * mule-charset.c (mark_char_id_table): Renamed from
4035         `mark_char_code_table'.
4036         (char_id_table_equal): Renamed from `char_code_table_equal'.
4037         (char_id_table_hash): Renamed from `char_code_table_hash'.
4038         (make_char_id_table): Renamed from `make_char_code_table'.
4039         (copy_char_id_table): Renamed from `copy_char_code_table'.
4040         (get_char_id_table): Renamed from `get_char_code_table'.
4041         (put_char_id_table): Renamed from `put_char_code_table'.
4042         (to_char_id): Renamed from `to_char_code'.
4043
4044         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4045         `Lisp_Char_Code_Table'.
4046         (char_id_table): Renamed from `char_code_table'.
4047         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4048         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4049         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4050         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4051         (get_char_id_table): Renamed from `get_char_code_table'.
4052
4053 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4054
4055         * lrecord.h (enum lrecord_type): Rename
4056         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4057
4058         * mule-charset.c (mark_byte_table): Renamed from
4059         `mark_char_byte_table'.
4060         (byte_table_equal): Renamed from `char_byte_table_equal'.
4061         (byte_table_hash): Renamed from `byte_table_hash'.
4062         (make_byte_table): Renamed from `make_byte_table'.
4063         (copy_byte_table): Renamed from `copy_char_byte_table'.
4064
4065         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4066         `Lisp_Char_Byte_Table'.
4067         (byte_table): Renamed from `char_byte_table'.
4068         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4069         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4070         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4071         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4072
4073 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4074
4075         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4076         (dfc_convert_to_internal_format): Likewise.
4077         
4078         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4079         * text-coding.c (Fcoding_system_alias_p): New function.
4080         * text-coding.c (Fcoding_system_aliasee): New function.
4081         * text-coding.c (append_suffix_to_symbol): New function.
4082         * text-coding.c (dangling_coding_system_alias_p): New function.
4083         * text-coding.c (Ffind_coding_system):
4084         * text-coding.c (Fcopy_coding_system):
4085         * text-coding.c (encode_coding_no_conversion):
4086         * text-coding.c (syms_of_file_coding):
4087         * text-coding.c (vars_of_file_coding):
4088         Rewrite coding system alias code.
4089         Allow nested aliases, like symbolic links.
4090         Allow redefinition of coding system aliases.
4091         Prevent existence of dangling coding system aliases.
4092         Eliminate convert_to_external_format.
4093         Eliminate convert_to_internal_format.
4094         
4095         * text-coding.c: Change enum eol_type to eol_type_t.
4096
4097 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4098
4099         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4100         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4101
4102         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4103         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4104
4105 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4106
4107         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4108         `ideograph-daikanwa'.
4109
4110         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4111         (Vcharset_ucs_bmp): Likewise.
4112         (Vcharset_mojikyo): Add new extern variable definition.
4113         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4114         (Vcharset_latin_iso8859_3): Likewise.
4115         (Vcharset_latin_iso8859_4): Likewise.
4116         (Vcharset_latin_iso8859_9): Likewise.
4117         (Vcharset_latin_viscii_lower): Likewise.
4118         (Vcharset_latin_viscii_upper): Likewise.
4119         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4120         `mojikyo' code-point is used to decode.
4121         (encode_char_2): New function [to convert `mojikyo' code-point to
4122         Mojikyo font encoding].
4123         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4124         (breakup_char_1): Likewise.
4125         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4126
4127 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4128
4129         * text-coding.c (Fmake_coding_system): Add document about
4130         `disable-composition' property.
4131
4132 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4133
4134         * text-coding.c (Qdisable_composition): New variable; delete
4135         `Qcomposite'.
4136         (Fmake_coding_system): Add new property `disable-composite';
4137         delete property `composite'.
4138         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4139         instead of `!CODING_SYSTEM_COMPOSITE'.
4140         (syms_of_file_coding): Add new symbol `disable-composition';
4141         delete symbol `composite'.
4142
4143         * file-coding.h (struct Lisp_Coding_System): Add
4144         `disable_composition'; delete `enable_composition'.
4145         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4146         `CODING_SYSTEM_COMPOSITE'.
4147         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4148         `XCODING_SYSTEM_COMPOSITE'.
4149
4150 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4151
4152         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4153         to 0.15.
4154
4155 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4156
4157         * text-coding.c (Qcomposite): New variable.
4158         (Fmake_coding_system): Add new property `composite'.
4159         (struct decoding_stream): Add `combined_char_count',
4160         `combined_chars' and `combining_table' in UTF-2000.
4161         (COMPOSE_FLUSH_CHARS): New macro.
4162         (COMPOSE_ADD_CHAR): New macro.
4163         (reset_decoding_stream): Reset `str->combined_char_count' and
4164         `str->combining_table' in UTF-2000.
4165         (decode_coding_iso2022): Modify for character-decomposition.
4166         (syms_of_file_coding): Add new symbol `composite'.
4167
4168 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4169
4170         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4171         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4172         of `Vcharacter_composition_table' if `->decomposition' property
4173         has only 1 element.
4174         (Qlatin_tcvn5712): New variable.
4175         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4176         (complex_vars_of_mule_charset): Add new coded-charset
4177         `latin-tcvn5712'.
4178
4179         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4180
4181 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4182
4183         * file-coding.h (struct Lisp_Coding_System): Add
4184         `enable_composition'.
4185         (CODING_SYSTEM_COMPOSITE): New macro.
4186         (XCODING_SYSTEM_COMPOSITE): New macro.
4187
4188 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4189
4190         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4191
4192 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4193
4194         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4195         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4196
4197 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4198
4199         * mule-charset.c (Vcharset_mojikyo): New variable.
4200         (Fdefine_char): Don't use coded-charset which does not have
4201         non-builtin character range to allocate character-id.
4202         (Qmojikyo): New variable.
4203         (syms_of_mule_charset): Add new symbol `mojikyo'.
4204         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4205
4206         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4207         (LEADING_BYTE_MOJIKYO): New macro.
4208         (MIN_CHAR_MOJIKYO): New macro.
4209         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4210         (MAX_CHAR_MOJIKYO): New macro.
4211
4212 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4213
4214         * mule-charset.c (remove_char_attribute): Fixed.
4215
4216 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4217
4218         * mule-charset.c (remove_char_attribute): New function.
4219         (Fremove_char_attribute): New function.
4220         (encode_builtin_char_1): Comment out builtin-support for
4221         greek-iso8859-7 and cyrillic-iso8859-5.
4222         (Fdecode_char): Check `code' is an integer.
4223         (syms_of_mule_charset): Add `remove-char-attribute'.
4224         (MIN_CHAR_GREEK): Deleted.
4225         (MAX_CHAR_GREEK): Likewise.
4226         (MIN_CHAR_CYRILLIC): Likewise.
4227         (MAX_CHAR_CYRILLIC): Likewise.
4228         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4229         MAX_CHAR_GREEK for `greek-iso8859-7'.
4230
4231         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4232         (MAX_CHAR_GREEK): Likewise.
4233         (MIN_CHAR_CYRILLIC): Likewise.
4234         (MAX_CHAR_CYRILLIC): Likewise.
4235
4236 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4237
4238         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4239         format is used without `ucs' property.
4240         (Fdecode_char): Fix problem with GR representation.
4241         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4242         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4243
4244 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4245
4246         * mule-charset.c (make_builtin_char): New function.
4247         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4248         (Fset_charset_mapping_table): Modify for new representation of
4249         code-point.
4250         (Fdecode_char): New function.
4251         (syms_of_mule_charset): Add new builtin function `decode-char' in
4252         UTF-2000.
4253
4254         * char-ucs.h (make_builtin_char): New prototype.
4255         (DECODE_CHAR): New inline function.
4256         (MAKE_CHAR): Use `DECODE_CHAR'.
4257
4258 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4259
4260         * text-coding.c (parse_charset_conversion_specs): Use
4261         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4262         `XCHARSET_TYPE'.
4263         (iso2022_designate): Likewise.
4264
4265         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4266         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4267
4268         * mule-charset.c (Vcharset_ucs): New variable.
4269         (print_charset): Change design; use `CHARSET_CHARS' and
4270         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4271         (make_charset): Change signature to specify `chars' and
4272         `dimension' instead of `type'.
4273         (range_charset_code_point): Modify for 256^n-set.
4274         (encode_builtin_char_1): Encode as `ucs' in default.
4275         (Fmake_charset): Modify for `make_charset'.
4276         (Fmake_reverse_direction_charset): Likewise.
4277         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4278         UTF-2000.
4279         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4280         for `make_charset'.
4281
4282         * char-ucs.h (Vcharset_ucs): New variable.
4283         (LEADING_BYTE_UCS): New macro.
4284         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4285         and `chars' to `unsigned short' from `unsigned int'.
4286         (CHARSET_TYPE): Deleted.
4287         (XCHARSET_TYPE): Deleted.
4288
4289 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4290
4291         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4292
4293         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4294         (ENCODE_CHAR): New macro.
4295
4296 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4297
4298         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4299         to 0.14 (Kawachi-Katakami).
4300
4301 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4302
4303         * text-coding.c (char_encode_shift_jis): Modify for
4304         `charset_code_point'.
4305         (char_encode_iso2022): Likewise.
4306
4307         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4308         (integer) instead of list of <Lisp_Object>s (integers) as the
4309         format of code-point of a coded-charset.
4310         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4311         (encode_builtin_char_1): New function; delete
4312         `split_builtin_char'.
4313         (charset_code_point): Return <int> instead of <Lisp_Object>.
4314         (Fsplit_char): Don't use `SPLIT_CHAR'.
4315
4316         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4317         prototype for `split_builtin_char'.
4318         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4319         (charset_code_point): Likewise.
4320         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4321         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4322
4323 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4324
4325         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4326         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4327
4328 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4329
4330         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4331
4332         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4333         (MAX_CHAR_OBS_94x94): Deleted.
4334
4335 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4336
4337         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4338
4339         * char-ucs.h (MAX_CHAR_BMP): New macro.
4340
4341 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4342
4343         * text-coding.c: Sync with r21-2-24.
4344
4345 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4346
4347         * file-coding.c: Modify for UTF-2000.
4348
4349 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4350
4351         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4352         to 0.13 (Takaida).
4353
4354 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4355
4356         * mule-charset.c (split_builtin_char): Delete builtin support for
4357         `katakana-jisx0201'.
4358         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4359         BMP area in builtin representation.
4360
4361         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4362         `Vcharset_katakana_jisx0201'.
4363
4364 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4365
4366         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4367         (Qisolated): New variable.
4368         (Qinitial): New variable.
4369         (Qmedial): New variable.
4370         (Qfinal): New variable.
4371         (Qvertical): New variable.
4372         (Qsmall): New variable.
4373         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4374         `Qvertical' and `Qsmall'.
4375         (Qmojikyo_pj_[1 .. 21]): New variable.
4376         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4377         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4378         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4379         .. 21]'.
4380
4381 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4382
4383         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4384         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4385         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4386
4387 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4388
4389         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4390         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4391         BMP.
4392         (Qjapanese_jisx0208_1990): New variable.
4393         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4394         (complex_vars_of_mule_charset): Add new coded-charset
4395         `japanese-jisx0208-1990'.
4396
4397         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4398         (MIN_CHAR_JIS_X0208_1990): New macro.
4399         (MAX_CHAR_JIS_X0208_1990): New macro.
4400
4401 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4402
4403         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4404         coded-charset is not found.
4405
4406 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4407
4408         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4409         (Fdefine_char): Use `Fmake_char'.
4410
4411 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4412
4413         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4414         (Vcharset_hiragana_jisx0208): Deleted.
4415         (Vcharset_katakana_jisx0208): Deleted.
4416         (Qideograph_daikanwa): New variable.
4417         (Qhiragana_jisx0208): Deleted.
4418         (Qkatakana_jisx0208): Deleted.
4419         (split_builtin_char): Split `ideograph-daikanwa'.
4420         (Fsplit_char): New implementation for UTF-2000.
4421         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4422         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4423         (complex_vars_of_mule_charset): Add new coded-charset
4424         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4425         `katakana-jisx0208'.
4426
4427         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4428         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4429         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4430         (MIN_CHAR_DAIKANWA): New macro.
4431         (MAX_CHAR_DAIKANWA): New macro.
4432
4433 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4434
4435         * data.c (Fstring_to_number): Don't recognize floating point if
4436         base is not 10.
4437
4438 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4439
4440         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4441
4442 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4443
4444         * mule-charset.c (Qsquare): New variable.
4445         (to_char_code): Add `Qsquare'.
4446         (syms_of_mule_charset): Add new symbol `square'.
4447
4448 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4449
4450         * mule-charset.c (Qcircle): New variable.
4451         (to_char_code): Add `Qcircle'.
4452         (syms_of_mule_charset): Add new symbol `circle'.
4453
4454 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4455
4456         * mule-charset.c (Qfont): New variable.
4457         (to_char_code): Add `Qfont'.
4458         (syms_of_mule_charset): Add new symbol `font'.
4459
4460 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4461
4462         * mule-charset.c (Qsub): New variable.
4463         (to_char_code): Add `Qsub'.
4464         (syms_of_mule_charset): Add new symbol `sub'.
4465
4466 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4467
4468         * mule-charset.c (Fput_char_attribute): Convert each element of
4469         VALUE to GL position if ATTRIBUTE is a GR-set,
4470
4471 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4472
4473         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4474         coded-charset is a GR-set.
4475
4476 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4477
4478         * mule-charset.c (Fput_char_attribute): Check each element of
4479         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4480
4481 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4482
4483         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4484         UTF-2000.
4485         (Qethiopic_ucs): New variable in UTF-2000.
4486         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4487         (complex_vars_of_mule_charset): Add new coded-charset
4488         `ethiopic-ucs' in UTF-2000.
4489
4490         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4491         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4492         9)'.
4493         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4494         10)'.
4495         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4496
4497 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4498
4499         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4500         `ascii'.
4501
4502 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4503
4504         * mule-charset.c (Vcharacter_variant_table): New variable.
4505         (Q_ucs): New variable.
4506         (Fchar_variants): New function.
4507         (Fput_char_attribute): Register `->ucs' value to
4508         `Vcharacter_variant_table'.
4509         (syms_of_mule_charset): Add new function `char-variants' and new
4510         symbol `->ucs'.
4511         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4512
4513 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4514
4515         * mule-charset.c (get_char_code_table): Allow negative character
4516         code.
4517         (put_char_code_table): Likewise.
4518         (Vcharacter_composition_table): New variable.
4519         (Q_decomposition): New variable.
4520         (Qwide): New variable.
4521         (Qnarrow): New variable.
4522         (Qcompat): New variable.
4523         (QnoBreak): New variable.
4524         (Qsuper): New variable.
4525         (Qfraction): New variable.
4526         (to_char_code): New function.
4527         (Fget_composite_char): New function.
4528         (Fput_char_attribute): Register `->decomposition' value to
4529         `Vcharacter_composition_table'.
4530         (syms_of_mule_charset): Add new function `get-composite-char', new
4531         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4532         `super' and `fraction'.
4533         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4534
4535 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4536
4537         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4538         character; copy the return value.
4539
4540 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4541
4542         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4543
4544         * mule-charset.c (range_charset_code_point): Must use make_int.
4545         (split_builtin_char): New function.
4546
4547 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4548
4549         * mule-charset.c (char_byte_table): Change name from
4550         "char-code-table" to "char-byte-table".
4551         (mark_char_code_table): New function.
4552         (char_code_table_equal): New function.
4553         (char_code_table_hash): New function.
4554         (char_code_table_description): New constant.
4555         (char_code_table): New type.
4556         (make_char_code_table): New function.
4557         (copy_char_code_table): New function.
4558         (get_char_code_table): Modify for `char_code_table' type.
4559         (put_char_code_table): Likewise.
4560         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4561         (Kashiwara).
4562
4563         * char-ucs.h (char_code_table): New type.
4564         (XCHAR_CODE_TABLE): New macro.
4565         (XSETCHAR_CODE_TABLE): New macro.
4566         (CHAR_CODE_TABLE_P): New macro.
4567         (GC_CHAR_CODE_TABLE_P): New macro.
4568         (struct Lisp_Char_Code_Table): New structure.
4569
4570 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4571
4572         * mule-charset.c (Fmake_charset): Setup byte_offset for
4573         {94|96}^n-set.
4574
4575 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4576
4577         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4578         character.
4579
4580 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4581
4582         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4583         is found.
4584
4585 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4586
4587         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4588         charset, it is regarded as a charset.
4589         (put_char_attribute): New function in UTF-2000.
4590         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4591         charset, mapping-table of the charset is modified.
4592         (Fdefine_char): New function in UTF-2000.
4593         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4594         `Fput_char_attribute'.
4595         (syms_of_mule_charset): Add new function `define-char' and new
4596         symbol `ucs' in UTF-2000.
4597         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4598
4599 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4600
4601         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4602         non-UTF-2000 configuration.
4603
4604 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4605
4606         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4607         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4608
4609         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4610         deleted.
4611         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4612         (Fset_charset_mapping_table): Likewise.
4613
4614         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4615         (CHARSET_ENCODING_TABLE): Delete.
4616         (XCHARSET_ENCODING_TABLE): Delete.
4617         (charset_code_point): New interface.
4618
4619 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4620
4621         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4622         instead of `charset_get_byte1' and `charset_get_byte2'.
4623
4624         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4625         (charset_get_byte2): Deleted.
4626
4627 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4628
4629         * char-ucs.h (SPLIT_CHAR): New inline function.
4630         (breakup_char_1): Use `SPLIT_CHAR'.
4631
4632         * mule-charset.c (range_charset_code_point): New function.
4633         (charset_code_point): New function.
4634
4635         * char-ucs.h (range_charset_code_point): New interface.
4636         (breakup_char_1): Use `range_charset_code_point'.
4637
4638 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4639
4640         * mule-charset.c (Fmake_charset): Delete unused local variable
4641         `code_offset'.
4642
4643         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4644         (breakup_char_1): Find a charset and code-point in
4645         `Vcharacter_attribute_table'.
4646
4647 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4648
4649         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4650         to 0.10 (Yao).
4651
4652 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4653
4654         * mule-charset.c (Vcharacter_attribute_table): New variable.
4655         (Fchar_attribute_alist): New function.
4656         (Fget_char_attribute): New function.
4657         (Fput_char_attribute): New function.
4658         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4659         too.
4660         (syms_of_mule_charset): Add new function `char-attribute-alist',
4661         `get-char-attribute' and `put-char-attribute'.
4662         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4663
4664 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4665
4666         * mule-charset.c (Fmake_charset): Just use
4667         `get_unallocated_leading_byte'.
4668
4669         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4670         sets; don't use final-byte based number for private sets.
4671
4672 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4673
4674         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4675         integer.
4676
4677 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4678
4679         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4680         to 0.9.
4681
4682 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4683
4684         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4685         of `CHAR_LEADING_BYTE' in UTF-2000.
4686
4687         * insdel.c (find_charsets_in_bufbyte_string): Use
4688         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4689         (find_charsets_in_emchar_string): Likewise.
4690
4691         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4692         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4693
4694         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4695         (CHAR_CHARSET_ID): New macro.
4696
4697 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4698
4699         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4700         charset-id - MIN_LEADING_BYTE.
4701         (put_char_table): Likewise.
4702
4703 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4704
4705         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4706         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4707         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4708         (CHARSET_ID_OFFSET): New macro.
4709         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4710         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4711         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4712         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4713         4).
4714         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4715         5).
4716         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4717         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4718         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4719         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4720         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4721
4722 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4723
4724         * mule-charset.c (next_allocated_leading_byte): New variable in
4725         UTF-2000.
4726         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4727         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4728         (get_unallocated_leading_byte): Simply use
4729         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4730         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4731         UTF-2000.
4732
4733         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4734         (MAX_LEADING_BYTE_PRIVATE): New macro.
4735         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4736         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4737
4738 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4739
4740         * mule-charset.c (Fmake_charset): Allocate final-byte based
4741         charset-id for 94-set, 96-set and 94x94-set.
4742
4743 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4744
4745         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4746         ambiguous `else'.
4747         (Fmake_charset): Likewise.
4748         (complex_vars_of_mule_charset): Modify the font registry of
4749         `ucs-bmp' not to match `Ethiopic-Unicode'.
4750
4751 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4752
4753         * mule-charset.c (complex_vars_of_mule_charset): Add font
4754         registory of `ucs-bmp'.
4755
4756 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4757
4758         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4759         coded-charsets in `default-coded-charset-priority-list' when
4760         breaking up a character.
4761
4762         * mule-charset.c (Vcharset_latin_viscii): New variable.
4763         (Qlatin_viscii): New variable.
4764         (make_charset): Don't use `decoding_table'.
4765         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4766         byte_offset.
4767         (Fset_charset_mapping_table): New implementation.
4768         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4769         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4770         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4771         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4772         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4773         charset `latin_viscii'.
4774
4775         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4776         (CHARSET_TYPE_94X94): Change to 1 from 2.
4777         (CHARSET_TYPE_96): Change to 2 from 1.
4778         (CHARSET_TYPE_128): New macro.
4779         (CHARSET_TYPE_128X128): Change to 5 from 4.
4780         (CHARSET_TYPE_256): New macro.
4781         (CHARSET_TYPE_256X256): Change to 7 from 5.
4782         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4783
4784 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4785
4786         * text-coding.c (char_encode_shift_jis): Refer
4787         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4788         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4789
4790         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4791         (char_byte_table_equal): New function in UTF-2000.
4792         (char_byte_table_hash): New function in UTF-2000.
4793         (char_byte_table_description): New constant in UTF-2000.
4794         (char_byte_table): New type in UTF-2000.
4795         (make_char_byte_table): New function in UTF-2000.
4796         (copy_char_byte_table): New function in UTF-2000.
4797         (make_char_code_table): New macro in UTF-2000.
4798         (get_char_code_table): New function in UTF-2000.
4799         (put_char_code_table): New function in UTF-2000.
4800         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4801         (charset_description): Add setting in UTF-2000.
4802         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4803         `CHARSET_TO_BYTE1_TABLE(cs)'.
4804         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4805         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4806         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4807         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4808         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4809         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4810         `CHARSET_TO_BYTE2_TABLE(cs)'.
4811
4812         * char-ucs.h (char_byte_table): New type.
4813         (XCHAR_BYTE_TABLE): New macro.
4814         (XSETCHAR_BYTE_TABLE): New macro.
4815         (CHAR_BYTE_TABLE_P): New macro.
4816         (GC_CHAR_BYTE_TABLE_P): New macro.
4817         (struct Lisp_Char_Byte_Table): New structure.
4818         (get_char_code_table): New interface.
4819         (Emchar_to_byte_table): Deleted.
4820         (get_byte_from_character_table): Deleted.
4821         (struct Lisp_Charset): Add `encoding_table'; delete
4822         `to_byte1_table' and `to_byte2_table'.
4823         (CHARSET_ENCODING_TABLE): New macro.
4824         (CHARSET_TO_BYTE1_TABLE): Deleted.
4825         (CHARSET_TO_BYTE2_TABLE): Deleted.
4826         (XCHARSET_ENCODING_TABLE): New macro.
4827         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4828         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4829
4830 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4831
4832         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4833         `vietnamese-viscii-*'.
4834
4835 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4836
4837         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4838         (Qvietnamese_viscii_upper): New variable.
4839         (Fdefine_charset_alias): New function.
4840         (syms_of_mule_charset): Add new function `define-charset-alias'.
4841         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4842         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4843         `latin-viscii-*'.
4844
4845 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4846
4847         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4848         (MAX_CHAR_OBS_94x94): New macro.
4849         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4850         for 94x94 sets.
4851
4852         * mule-charset.c (put_byte_from_character_table): Change unit size
4853         from 128 to 256.
4854         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4855         not defined.
4856         (Fmake_reverse_direction_charset): Modify dummy argument of
4857         `make_charset' for non-UTF-2000 environment.
4858
4859 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4860
4861         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4862
4863         * mule-charset.c (destroy_byte_from_character_table): New macro.
4864         (latin_jisx0201_to_ucs): Deleted.
4865         (latin_iso8859_2_to_ucs): Deleted.
4866         (latin_iso8859_3_to_ucs): Deleted.
4867         (latin_iso8859_4_to_ucs): Deleted.
4868         (latin_iso8859_9_to_ucs): Deleted.
4869         (latin_viscii_lower_to_ucs): Deleted.
4870         (latin_viscii_upper_to_ucs): Deleted.
4871         (mark_charset): Mark `cs->decoding_table'.
4872         (Fcharset_mapping_table): Fix DOC-string.
4873         (Fset_charset_mapping_table): New function.
4874         (syms_of_mule_charset): Add nwe function
4875         `set-charset-mapping-table'.
4876         (complex_vars_of_mule_charset): Don't setup and use
4877         `latin_*_to_ucs'.
4878
4879 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4880
4881         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4882         charset.
4883
4884 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4885
4886         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4887         (Vcharset_katakana_jisx0208): New variable.
4888         (Qhiragana_jisx0208): New variable.
4889         (Qkatakana_jisx0208): New variable.
4890         (make_charset): Add new argument `byte_offset'.
4891         (charset_get_byte1): Modify for new coded-charset definition; use
4892         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4893         `XCHARSET_BYTE_OFFSET'.
4894         (Fmake_charset): Modify for `make_charset'.
4895         (Fmake_reverse_direction_charset): Likewise.
4896         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4897         `katakana-jisx0208'.
4898         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4899         `.'  in font registry of charset `katakana-jisx0201',
4900         `latin-jisx0201', `vietnamese-viscii-lower' and
4901         `vietnamese-viscii-upper'; modify DOC-string of charset
4902         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4903         registry of charset `japanese-jisx0208' not to use font for JIS
4904         X0208:1990; add new charset `hiragana-jisx0208' and
4905         `katakana-jisx0208'.
4906
4907         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4908         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4909         (struct Lisp_Charset): Add `byte_offset'.
4910         (CHARSET_BYTE_OFFSET): New macro.
4911         (XCHARSET_UCS_MIN): New macro.
4912         (XCHARSET_UCS_MAX): New macro.
4913         (XCHARSET_CODE_OFFSET): New macro.
4914         (XCHARSET_BYTE_OFFSET): New macro.
4915         (MIN_CHAR_HIRAGANA): New macro.
4916         (MAX_CHAR_HIRAGANA): New macro.
4917         (MIN_CHAR_KATAKANA): New macro.
4918         (MAX_CHAR_KATAKANA): New macro.
4919         (MAKE_CHAR): Modify for new coded-charset definition; use
4920         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4921         `XCHARSET_BYTE_OFFSET'.
4922
4923 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4924
4925         * mule-charset.c (CHAR96): Deleted.
4926         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4927         <Lisp_Object>.
4928         (latin_iso8859_2_to_ucs): Likewise.
4929         (latin_iso8859_3_to_ucs): Likewise.
4930         (latin_iso8859_4_to_ucs): Likewise.
4931         (latin_iso8859_9_to_ucs): Likewise.
4932         (latin_viscii_lower_to_ucs): Likewise.
4933         (latin_viscii_upper_to_ucs): Likewise.
4934         (latin_tcvn5712_to_ucs): Commented out.
4935         (make_charset): Change type of argument `decoding_table' from
4936         <Emchar*> to <Lisp_Object> [vector of characters].
4937         (Fmake_charset): Modify for `make_charset'.
4938         (Fmake_reverse_direction_charset): Likewise.
4939         (Fcharset_mapping_table): New function in UTF-2000.
4940         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4941         UTF-2000.
4942         (complex_vars_of_mule_charset): Modify for type change of
4943         `*_to_ucs'; modify for `make_charset'.
4944
4945         * char-ucs.h (struct Lisp_Charset): Change type of
4946         `decoding_table' from <Emchar*> to <Lisp_Object>.
4947         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4948
4949 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4950
4951         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4952         error with non-UTF-2000-Mule.
4953
4954 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4955
4956         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4957         in lisp again].
4958         (Vcharset_chinese_cns11643_4): Likewise.
4959         (Vcharset_chinese_cns11643_5): Likewise.
4960         (Vcharset_chinese_cns11643_6): Likewise.
4961         (Vcharset_chinese_cns11643_7): Likewise.
4962         (Qchinese_cns11643_3): Likewise.
4963         (Qchinese_cns11643_4): Likewise.
4964         (Qchinese_cns11643_5): Likewise.
4965         (Qchinese_cns11643_6): Likewise.
4966         (Qchinese_cns11643_7): Likewise.
4967         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4968         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4969         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4970         (complex_vars_of_mule_charset): Likewise.
4971
4972 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4973
4974         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4975         96-set.
4976         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4977         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4978
4979 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4980
4981         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4982         0xFF60.
4983         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4984         (breakup_char_1): Likewise.
4985
4986         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4987         one of them includes the specified character.
4988
4989 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4990
4991         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4992
4993 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4994
4995         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4996
4997 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4998
4999         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
5000         definition for non-UTF-2000 Mule.
5001         (latin_iso8859_3_to_ucs): Likewise.
5002         (latin_iso8859_4_to_ucs): Likewise.
5003         (latin_iso8859_9_to_ucs): Likewise.
5004         (latin_jisx0201_to_ucs): Likewise.
5005         (MIN_CHAR_THAI): Likewise.
5006         (MAX_CHAR_THAI): Likewise.
5007         (MIN_CHAR_GREEK): Likewise.
5008         (MAX_CHAR_GREEK): Likewise.
5009         (MIN_CHAR_HEBREW): Likewise.
5010         (MAX_CHAR_HEBREW): Likewise.
5011         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
5012         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
5013         (MIN_CHAR_CYRILLIC): Likewise.
5014         (MAX_CHAR_CYRILLIC): Likewise.
5015
5016 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5017
5018         * char-ucs.h (breakup_char_1): Use
5019         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5020         thai-tis620 and katakana-jisx0201 area.
5021
5022 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5023
5024         * char-ucs.h (breakup_char_1): Use
5025         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5026         area.
5027
5028         * text-coding.c (reset_encoding_stream): Fixed.
5029         (char_encode_ucs4): Delete `& 255'.
5030
5031         * char-ucs.h (breakup_char_1): Use
5032         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5033
5034 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5035
5036         * file-coding.c (Fmake_coding_system): Don't set up
5037         `codesys->fixed.size'.
5038         (encode_coding_no_conversion): Don't refer
5039         `str->codesys->fixed.size'.
5040
5041 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5042
5043         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5044         (latin_a_char_to_byte1): Deleted.
5045         (latin_a_char_to_byte2): Deleted.
5046
5047 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5048
5049         * mule-charset.c (make_charset): Add new argument `ucs_min',
5050         `ucs_max' and `code_offset'.
5051         (charset_get_byte1): New implementation [delete specific charset
5052         depended implementations].
5053         (Fmake_charset): Modify for `make_charset'.
5054         (Fmake_reverse_direction_charset): Likewise.
5055         (complex_vars_of_mule_charset): Likewise.
5056
5057         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5058         `code_offset'.
5059         (CHARSET_UCS_MIN): New macro.
5060         (CHARSET_UCS_MAX): New macro.
5061         (CHARSET_CODE_OFFSET): New macro.
5062         (MAKE_CHAR): Delete charset depended definitions [except
5063         katakana-jisx0201].
5064
5065 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5066
5067         * char-ucs.h (breakup_char_1): Use
5068         `Vdefault_coded_charset_priority_list' for C0-Controls,
5069         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5070
5071 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5072
5073         * char-ucs.h (charset_get_byte1): New function.
5074         (XCHARSET_GET_BYTE1): Deleted.
5075         (charset_get_byte2): New function.
5076         (XCHARSET_GET_BYTE2): Deleted.
5077         (Vdefault_coded_charset_priority_list): New external variable.
5078         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5079         `Vdefault_preferred_coded_charset_list'.
5080
5081         * mule-charset.c (charset_get_byte1): New function.
5082         (charset_get_byte2): New function.
5083         (Vdefault_coded_charset_priority_list): New variable.
5084         (vars_of_mule_charset): Add new variable
5085         `default-coded-charset-priority-list'.
5086
5087 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5088
5089         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5090         (XCHARSET_GET_BYTE2): New inline function.
5091         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5092         `XCHARSET_GET_BYTE2'.
5093
5094 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5095
5096         * mule-charset.c (make_charset): Initialize
5097         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5098         NULL if table is not defined.
5099
5100 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5101
5102         * text-coding.c (char_encode_shift_jis): Use
5103         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5104         `ucs_to_latin_jisx0201'.
5105
5106         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5107         (ucs_to_latin_iso8859_2): Deleted.
5108         (ucs_to_latin_iso8859_3): Deleted.
5109         (ucs_to_latin_iso8859_4): Deleted.
5110         (ucs_to_latin_iso8859_9): Deleted.
5111         (ucs_to_latin_viscii_lower): Deleted.
5112         (ucs_to_latin_viscii_upper): Deleted.
5113         (ucs_to_latin_tcvn5712): Deleted.
5114         (make_charset): Add new argument `decoding_table'; set up
5115         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5116         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5117         `decoding_table' is defined in UTF-2000.
5118         (Fmake_charset): Modify for `make_charset'.
5119         (Fmake_reverse_direction_charset): Likewise.
5120         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5121         and `GENERATE_96_SET'.
5122
5123         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5124         (ucs_to_latin_jisx0201): Deleted.
5125         (latin_iso8859_2_to_ucs): Deleted.
5126         (ucs_to_latin_iso8859_2): Deleted.
5127         (latin_iso8859_3_to_ucs): Deleted.
5128         (ucs_to_latin_iso8859_3): Deleted.
5129         (latin_iso8859_4_to_ucs): Deleted.
5130         (ucs_to_latin_iso8859_4): Deleted.
5131         (latin_iso8859_9_to_ucs): Deleted.
5132         (ucs_to_latin_iso8859_9): Deleted.
5133         (latin_viscii_lower_to_ucs): Deleted.
5134         (ucs_to_latin_viscii_lower): Deleted.
5135         (latin_viscii_upper_to_ucs): Deleted.
5136         (ucs_to_latin_viscii_upper): Deleted.
5137         (struct Lisp_Charset): Renamed `encoding_table' to
5138         `to_byte1_table'; add `to_byte2_table'.
5139         (CHARSET_DECODING_TABLE): New macro.
5140         (CHARSET_TO_BYTE1_TABLE): New macro.
5141         (CHARSET_TO_BYTE2_TABLE): New macro.
5142         (XCHARSET_DECODING_TABLE): New macro.
5143         (XCHARSET_TO_BYTE1_TABLE): New macro.
5144         (XCHARSET_TO_BYTE2_TABLE): New macro.
5145         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5146         tables.
5147         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5148         don't use `ucs_to_*' tables.
5149
5150 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5151
5152         * text-coding.c (Fmake_coding_system): Don't set up
5153         `codesys->fixed.size'.
5154         (encode_coding_no_conversion): Use `if' instead of `switch'.
5155
5156         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5157
5158 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5159
5160         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5161         (Fmake_charset): Modify for `make_charset'.
5162         (Fmake_reverse_direction_charset): Likewise.
5163         (complex_vars_of_mule_charset): Likewise.
5164
5165 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5166
5167         * text-coding.c (char_encode_shift_jis): Use table
5168         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5169
5170 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5171
5172         * text-coding.c (text_encode_generic): Use `if' instead of
5173         `switch'.
5174         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5175         decode JIS-Latin.
5176
5177 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5178
5179         * text-coding.c (encode_coding_sjis): Deleted.
5180         (char_encode_shift_jis): New function.
5181         (char_finish_shift_jis): New function.
5182         (reset_encoding_stream): Set up `encode_char' and `finish' for
5183         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5184         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5185         (char_encode_utf8): Treat `eol_type'.
5186
5187 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5188
5189         * file-coding.c (decode_coding_iso2022): Use
5190         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5191
5192 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5193
5194         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5195         to 0.7 (Hirano).
5196
5197 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5198
5199         * char-lb.h (CHAR_COLUMNS): New macro.
5200
5201 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5202
5203         * text-coding.c (char_encode_ucs4): New function.
5204         (char_finish_ucs4): New function.
5205         (encode_coding_ucs4): Deleted.
5206         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5207         (text_encode_generic): Delete local variable `charset' and `half'.
5208         (ucs_to_mule_table): Deleted.
5209         (mule_to_ucs_table): Deleted.
5210         (Fset_ucs_char): Deleted.
5211         (ucs_to_char): Deleted.
5212         (Fucs_char): Deleted.
5213         (Fset_char_ucs): Deleted.
5214         (Fchar_ucs): Deleted.
5215         (decode_ucs4): Deleted.
5216         (mule_char_to_ucs4): Deleted.
5217         (encode_ucs4): Deleted.
5218         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5219         (decode_coding_utf8): Likewise.
5220         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5221         (char_encode_iso2022): Fixed.
5222         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5223         `Fset_char_ucs' and `Fchar_ucs'.
5224         (complex_vars_of_file_coding): Don't initialize
5225         `ucs_to_mule_table'.
5226
5227         * objects-tty.c (tty_initialize_font_instance): Don't use
5228         `XCHARSET_COLUMNS'.
5229
5230         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5231         UTF-2000.
5232
5233         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5234         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5235
5236         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5237         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5238         (emchar_string_displayed_columns): Likewise.
5239
5240         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5241         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5242         (string_column_at_point): Likewise.
5243         (Fmove_to_column): Likewise.
5244
5245         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5246         `encoding_table' and `decoding_table'.
5247         (CHARSET_REP_BYTES): Deleted.
5248         (XCHARSET_REP_BYTES): Deleted.
5249         (XCHARSET_COLUMNS): Deleted.
5250         (CHAR_COLUMNS): New macro.
5251         (lookup_composite_char): Deleted unconditionally.
5252         (composite_char_string): Likewise.
5253
5254 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5255
5256         * char-ucs.h (Emchar_to_byte_table): New type.
5257         (get_byte_from_character_table): New function interface.
5258         (Vcharset_latin_jisx0201): New variable.
5259         (latin_jisx0201_to_ucs): New variable.
5260         (ucs_to_latin_jisx0201): New variable.
5261         (Vcharset_latin_iso8859_2): New variable.
5262         (latin_iso8859_2_to_ucs): New variable.
5263         (ucs_to_latin_iso8859_2): New variable.
5264         (Vcharset_latin_iso8859_3): New variable.
5265         (latin_iso8859_3_to_ucs): New variable.
5266         (ucs_to_latin_iso8859_3): New variable.
5267         (Vcharset_latin_iso8859_4): New variable.
5268         (latin_iso8859_4_to_ucs): New variable.
5269         (ucs_to_latin_iso8859_4): New variable.
5270         (Vcharset_latin_iso8859_9): New variable.
5271         (latin_iso8859_9_to_ucs): New variable.
5272         (ucs_to_latin_iso8859_9): New variable.
5273         (Vcharset_latin_viscii_lower): New variable.
5274         (latin_viscii_lower_to_ucs): New variable.
5275         (ucs_to_latin_viscii_lower): New variable.
5276         (Vcharset_latin_viscii_upper): New variable.
5277         (latin_viscii_upper_to_ucs): New variable.
5278         (ucs_to_latin_viscii_upper): New variable.
5279         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5280         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5281         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5282         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5283         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5284         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5285         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5286         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5287         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5288         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5289
5290         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5291         (Vcharset_latin_viscii_upper): New variable.
5292         (make_byte_from_character_table): New function.
5293         (put_byte_from_character_table): New function.
5294         (get_byte_from_character_table): New function.
5295         (CHAR96): New macro.
5296         (ucs_to_latin_jisx0201): New variable.
5297         (latin_jisx0201_to_ucs): New variable.
5298         (ucs_to_latin_iso8859_2): New variable.
5299         (latin_iso8859_2_to_ucs): New variable.
5300         (ucs_to_latin_iso8859_3): New variable.
5301         (latin_iso8859_3_to_ucs): New variable.
5302         (ucs_to_latin_iso8859_4): New variable.
5303         (latin_iso8859_4_to_ucs): New variable.
5304         (ucs_to_latin_iso8859_9): New variable.
5305         (latin_iso8859_9_to_ucs): New variable.
5306         (ucs_to_latin_viscii_lower): New variable.
5307         (latin_viscii_lower_to_ucs): New variable.
5308         (ucs_to_latin_viscii_upper): New variable.
5309         (latin_viscii_upper_to_ucs): New variable.
5310         (ucs_to_latin_tcvn5712): New variable.
5311         (latin_tcvn5712_to_ucs): New variable.
5312         (Qlatin_viscii_lower): New variable.
5313         (Qlatin_viscii_upper): New variable.
5314         (syms_of_mule_charset): Set up new symbol
5315         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5316         (complex_vars_of_mule_charset): Set up new charset
5317         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5318         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5319         `ucs_to_<CHARSET>' tables.
5320
5321 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5322
5323         * text-coding.c: New file.
5324
5325 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5326
5327         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5328
5329         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5330         (MAKE_CHAR): Modify for `ucs-bmp'.
5331         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5332         non-MULE characters of BMP.
5333
5334 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5335
5336         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5337         to 0.6.
5338
5339 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5340
5341         * lstream.h:
5342         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5343         - Include character.h for `CHAR_ASCII_P'.
5344
5345         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5346
5347         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5348         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5349
5350         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5351         (BYTE_C0_P): Likewise.
5352         (BYTE_C1_P): Likewise.
5353         (Lstream_get_emchar_1): Likewise.
5354         (Lstream_fput_emchar): Likewise.
5355         (Lstream_funget_emchar): Likewise.
5356         (copy_internal_to_external): Likewise.
5357         (copy_external_to_internal): Likewise.
5358
5359         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5360         (BYTE_C0_P): Likewise.
5361         (BYTE_C1_P): Likewise.
5362         (Lstream_get_emchar_1): Likewise.
5363         (Lstream_fput_emchar): Likewise.
5364         (Lstream_funget_emchar): Likewise.
5365         (copy_internal_to_external): Likewise.
5366         (copy_external_to_internal): Likewise.
5367
5368         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5369         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5370
5371         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5372         (BYTE_ASCII_P): Moved to mb-1byte.h.
5373
5374 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5375
5376         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5377
5378         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5379         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5380         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5381         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5382         (VALIDATE_CHARPTR_FORWARD): Likewise.
5383         (simple_charptr_emchar): Moved to mb-multibyte.h.
5384         (simple_set_charptr_emchar): Likewise.
5385         (simple_charptr_copy_char): Likewise.
5386         (non_ascii_charptr_emchar): Likewise.
5387         (non_ascii_set_charptr_emchar): Likewise.
5388         (non_ascii_charptr_copy_char): Likewise.
5389         (charptr_emchar): Moved to mb-*byte.h.
5390         (set_charptr_emchar): Likewise.
5391         (charptr_copy_char): Likewise.
5392
5393         * mb-1byte.h, mb-multibyte.h: New files.
5394
5395 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5396
5397         * mb-utf-8.h (MULTIBYTE): New macro.
5398         (MAX_EMCHAR_LEN): Moved from buffer.h.
5399         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5400
5401         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5402
5403         * mb-lb.h, multibyte.h: New files.
5404
5405         * char-1byte.h (Charset_ID): Moved from buffer.h.
5406         (MIN_LEADING_BYTE): Likewise.
5407         (LEADING_BYTE_ASCII): Likewise.
5408         (NUM_LEADING_BYTES): Likewise.
5409         (CHARSETP): Likewise.
5410         (CHARSET_BY_LEADING_BYTE): Likewise.
5411         (XCHARSET_LEADING_BYTE): Likewise.
5412         (XCHARSET_GRAPHIC): Likewise.
5413         (XCHARSET_COLUMNS): Likewise.
5414         (XCHARSET_DIMENSION): Likewise.
5415         (CHAR_CHARSET): Likewise.
5416         (CHAR_LEADING_BYTE): Likewise.
5417         (BREAKUP_CHAR): Likewise.
5418         (Vcharset_ascii): Likewise.
5419
5420         * buffer.h: Include multibyte.h unconditionally.
5421         (VALID_CHARPTR_P): Moved to multibyte.h.
5422         (ASSERT_VALID_CHARPTR): Likewise.
5423         (REAL_INC_CHARPTR): Likewise.
5424         (REAL_INC_CHARBYTIND): Likewise.
5425         (REAL_DEC_CHARPTR): Likewise.
5426         (INC_CHARPTR): Likewise.
5427         (INC_CHARBYTIND): Likewise.
5428         (DEC_CHARPTR): Likewise.
5429         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5430         (VALIDATE_CHARPTR_FORWARD): Likewise.
5431         (charptr_n_addr): Likewise.
5432         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5433         (simple_charptr_emchar): Moved to multibyte.h.
5434         (simple_set_charptr_emchar): Likewise.
5435         (simple_charptr_copy_char): Likewise.
5436         (non_ascii_charptr_emchar): Likewise.
5437         (non_ascii_set_charptr_emchar): Likewise.
5438         (non_ascii_charptr_copy_char): Likewise.
5439         (charptr_emchar): Likewise.
5440         (set_charptr_emchar): Likewise.
5441         (charptr_copy_char): Likewise.
5442         (charptr_emchar_n): Likewise.
5443         (Charset_ID): Moved to char-1byte.h.
5444         (Vcharset_ascii): Likewise.
5445         (CHAR_CHARSET): Likewise.
5446         (CHAR_LEADING_BYTE): Likewise.
5447         (LEADING_BYTE_ASCII): Likewise.
5448         (NUM_LEADING_BYTES): Likewise.
5449         (MIN_LEADING_BYTE): Likewise.
5450         (CHARSETP): Likewise.
5451         (CHARSET_BY_LEADING_BYTE): Likewise.
5452         (XCHARSET_LEADING_BYTE): Likewise.
5453         (XCHARSET_GRAPHIC): Likewise.
5454         (XCHARSET_COLUMNS): Likewise.
5455         (XCHARSET_DIMENSION): Likewise.
5456         (BREAKUP_CHAR): Likewise.
5457
5458 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5459
5460         * character.h: Add document about interface for characters.
5461
5462         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5463         (MAKE_CHAR): Delete comment about
5464         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5465         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5466         (BREAKUP_CHAR): Modify name of arguments.
5467         (CHAR_CHARSET): Modify name of argument.
5468
5469         * buffer.h: Delete document about Emchar accessors.
5470
5471 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5472
5473         * character.h (CHAR_INTP): Moved from buffer.h
5474         (CHAR_OR_CHAR_INTP): Likewise.
5475         (XCHAR_OR_CHAR_INT): Likewise.
5476         (CHECK_CHAR_COERCE_INT): Likewise.
5477
5478         * buffer.h (CHAR_INTP): Moved to character.h
5479         (CHAR_OR_CHAR_INTP): Likewise.
5480         (XCHAR_OR_CHAR_INT): Likewise.
5481         (CHECK_CHAR_COERCE_INT): Likewise.
5482
5483 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5484
5485         * character.h:
5486         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5487         - Include char-1byte.h, char-lb.h or char-ucs.h.
5488
5489         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5490
5491         * buffer.h: Include character unconditionally.
5492         (valid_char_p): Moved to char-*.h.
5493         (non_ascii_valid_char_p): Moved to char-lb.h.
5494
5495         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5496
5497 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5498
5499         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5500         in UTF-2000 because it is not ported yet and not to use
5501         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5502         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5503         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5504
5505         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5506         (CHAR_ASCII_P): Moved from character.h.
5507
5508         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5509         (CHAR_ASCII_P): Likewise.
5510         (CHAR_FIELD1_MASK): Deleted.
5511         (CHAR_FIELD2_MASK): Deleted.
5512         (CHAR_FIELD3_MASK): Deleted.
5513         (MAX_CHAR_BASIC_LATIN): New macro.
5514         (CHAR_FIELD1): Deleted.
5515         (CHAR_FIELD2_INTERNAL): Deleted.
5516         (CHAR_FIELD3_INTERNAL): Deleted.
5517         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5518         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5519         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5520         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5521         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5522         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5523         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5524         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5525         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5526         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5527         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5528         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5529         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5530         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5531         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5532         (MIN_CHAR_COMPOSITION): Deleted.
5533         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5534         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5535
5536 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5537
5538         * buffer.h: Include mb-utf-8.h in UTF-2000.
5539
5540         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5541
5542         * mb-utf-8.h: New file.
5543
5544 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5545
5546         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5547         instead of `int'.
5548
5549         * mule-charset.h, buffer.h (Charset_ID): New type.
5550
5551 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5552
5553         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5554         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5555         instead of `MULE_CHAR_PRIVATE_OFFSET',
5556         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5557         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5558         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5559
5560         * character.h (Vcharset_japanese_jisx0212): New variable
5561         definition.
5562
5563 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5564
5565         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5566         (charset_by_attributes): Delete array about direction.
5567         (latin_a_char_to_charset): New variable in UTF-2000.
5568         (latin_a_char_to_byte1): New variable in UTF-2000.
5569         (latin_a_char_to_byte2): New variable in UTF-2000.
5570         (Qucs_bmp): New variable.
5571         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5572         `Bufbyte'.
5573         (next_allocated_2_byte_leading_byte): Likewise.
5574         (non_ascii_set_charptr_emchar): Likewise.
5575         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5576         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5577         `charset_by_attributes'.
5578         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5579         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5580         and `CHARSET_BY_LEADING_BYTE'.
5581         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5582         `utf-2000-version' to `vars_of_mule_charset'.
5583         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5584         define `leading-code-private-11' in UTF-2000; move setting of
5585         `utf-2000-version' from `syms_of_mule_charset'.
5586         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5587         UTF-2000.
5588
5589         * character.h (Charset_ID): New type.
5590         (LEADING_BYTE_UCS_BMP): New macro.
5591         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5592         (CHARSET_ID_OFFSET_94): New macro.
5593         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5594         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5595         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5596         final-byte.
5597         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5598         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5599         (CHARSET_ID_OFFSET_96): New macro.
5600         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5601         CHARSET_ID_OFFSET_96 and final-byte.
5602         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5603         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5604         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5605         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5606         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5607         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5608         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5609         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5610         (LEADING_BYTE_THAI_TIS620): Likewise.
5611         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5612         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5613         (CHARSET_ID_OFFSET_94x94): New macro.
5614         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5615         CHARSET_ID_OFFSET_94x94 and final-byte.
5616         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5617         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5618         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5619         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5620         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5621         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5622         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5623         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5624         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5625         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5626         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5627         (CHARSET_TYPE_128X128): New macro.
5628         (CHARSET_TYPE_256X256): New macro.
5629         (XCHARSET_PRIVATE_P): Delete unconditionally.
5630         (charset_by_attributes): Delete array about direction.
5631         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5632         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5633         (MIN_CHAR_94): New macro.
5634         (MAX_CHAR_94): New macro.
5635         (MIN_CHAR_96): New macro.
5636         (MAX_CHAR_96): New macro.
5637         (MIN_CHAR_94x94): New macro.
5638         (MAX_CHAR_94x94): New macro.
5639         (MIN_CHAR_96x96): New macro.
5640         (MAX_CHAR_96x96): New macro.
5641         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5642         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5643         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5644         - 32)'.
5645         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5646         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5647         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5648         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5649         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5650         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5651         `XCHARSET_LEADING_BYTE' to make code-point.
5652         (latin_a_char_to_charset): New variable.
5653         (latin_a_char_to_byte1): New variable.
5654         (latin_a_char_to_byte2): New variable.
5655         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5656         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5657         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5658
5659         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5660         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5661         (find_charsets_in_emchar_string): Likewise.
5662         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5663
5664         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5665         `int'.
5666         (decode_coding_iso2022): Likewise.
5667
5668         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5669         of `unsigned char'.
5670
5671         * redisplay.c (redisplay_text_width_emchar_string): Use
5672         `Charset_ID' instead of `unsigned char'.
5673         (redisplay_frame_text_width_string): Likewise.
5674
5675         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5676         `unsigned char'.
5677
5678         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5679         instead of `unsigned char'.
5680         (face_cachel_charset_font_metric_info): Likewise.
5681
5682         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5683         (get_non_ascii_char_table_value): Likewise.
5684         (get_char_table): Likewise.
5685         (put_char_table): Likewise.
5686         (map_over_other_charset): Likewise.
5687         (map_char_table): Likewise.
5688
5689         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5690         instead of `unsigned char'.
5691
5692 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5693
5694         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5695         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5696
5697         * mule-charset.c (leading_code_private_11): Don't define in
5698         UTF-2000.
5699
5700         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5701         in UTF-2000 because it is not ported yet and not to use
5702         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5703
5704 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5705
5706         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5707
5708 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5709
5710         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5711         in UTF-2000.
5712
5713         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5714         of unsigned char to store leading-byte.
5715
5716         * chartab.c (get_non_ascii_char_table_value): Don't use
5717         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5718
5719         * file-coding.c (encode_coding_big5): Delete bogus implementation
5720         in UTF2000.
5721
5722         * character.h (LEADING_BYTE_*): Delete definition for
5723         non-UTF-2000.
5724         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5725         (LEADING_BYTE_PREFIX_P): Deleted.
5726         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5727         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5728         (BUFBYTE_LEADING_BYTE_P): Deleted.
5729         (CHARSET_PRIVATE_P): Deleted unconditionally.
5730         (rep_bytes_by_first_byte): Deleted unconditionally.
5731         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5732         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5733         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5734         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5735         (CHAR_FIELD2): Deleted.
5736         (CHAR_FIELD3): Deleted.
5737         (MAKE_CHAR): Delete definition for non-UTF-2000.
5738         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5739         (breakup_char_1): New implementation.
5740         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5741         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5742
5743 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5744
5745         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5746         condition.
5747
5748 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5749
5750         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5751         (CHARSET_PRIVATE_P): Likewise.
5752         (XCHARSET_PRIVATE_P): Likewise.
5753         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5754
5755         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5756         UTF2000.
5757         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5758
5759 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5760
5761         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5762         (NUM_LEADING_BYTES): Changed from 128 to 256.
5763         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5764         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5765         UTF2000.
5766         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5767
5768         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5769         UTF2000.
5770         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5771         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5772         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5773         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5774         (Qchinese_cns11643_3): New variable in UTF2000.
5775         (Qchinese_cns11643_4): New variable in UTF2000.
5776         (Qchinese_cns11643_5): New variable in UTF2000.
5777         (Qchinese_cns11643_6): New variable in UTF2000.
5778         (Qchinese_cns11643_7): New variable in UTF2000.
5779         (syms_of_mule_charset): Define `chinese-cns11643-3',
5780         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5781         and `chinese-cns11643-7' in UTF2000.
5782         (vars_of_mule_charset): Initialize
5783         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5784         + 1 in UTF2000.
5785         (complex_vars_of_mule_charset): Setup charset
5786         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5787         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5788
5789 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5790
5791         * mule-charset.c: Move setting for `leading-code-private-11' from
5792         `syms_of_mule_charset' to `vars_of_mule_charset'.
5793
5794 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5795
5796         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5797         and `NUM_LEADING_BYTES' in assert.
5798
5799 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5800
5801         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5802         instead of 128.
5803         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5804         `NUM_LEADING_BYTES' instead of 128.
5805
5806 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5807
5808         * mule-charset.h (charset_by_leading_byte): Use
5809         `NUM_LEADING_BYTES' instead of 128.
5810         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5811
5812         * mule-charset.c (charset_by_leading_byte): Use
5813         `NUM_LEADING_BYTES' instead of 128.
5814         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5815
5816         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5817         128.
5818
5819 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5820
5821         * mule-charset.c (syms_of_mule_charset): Update to
5822         0.4 (Shin-Imamiya).
5823
5824 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5825
5826         * file-coding.c (encode_coding_sjis): New implementation for
5827         UTF2000.  (decode_coding_sjis): Ditto.
5828
5829 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5830
5831         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5832         Don't define in UTF2000.
5833
5834         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5835         defined.
5836
5837         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5838         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5839         MULE.
5840
5841 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5842
5843         * config.h.in (CHAR_IS_UCS4): New macro.
5844
5845         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5846         conventional MULE representation.
5847         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5848
5849         * mule-charset.h: Reverted to original.
5850
5851         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5852         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5853         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5854
5855         * character.h: New file.
5856
5857         * file-coding.c (Fmake_coding_system): Set 1 to
5858         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5859         defined.
5860         (encode_coding_no_conversion): New implementation for UTF2000.
5861
5862         * file-coding.h (struct Lisp_Coding_System): Add new member
5863         `fixed.size'.
5864
5865 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5866
5867         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5868         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5869         (encode_coding_iso2022): New implementation for UTF2000.
5870
5871 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5872
5873         * mule-canna.c (c2mu): New implementation for UTF2000.
5874         (m2c): Likewise.
5875
5876 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5877
5878         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5879
5880 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5881
5882         * file-coding.c (reset_encoding_stream): Set 0 to
5883         `str->iso2022.current_char_boundary' in UTF2000.
5884         (encode_utf8): Don't define in UTF2000.
5885         (encode_coding_utf8): New implementation for UTF-8 representation
5886         of UTF2000.
5887         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5888
5889 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5890
5891         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5892
5893         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5894         UTF2000.
5895         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5896
5897         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5898
5899         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5900         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5901         as UTF-8 in UTF2000.
5902         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5903         (non_ascii_valid_char_p): Don't define in UTF2000.
5904         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5905         (Lstream_get_emchar_1): Likewise.
5906         (utf-2000-version): New variable in UTF2000.
5907
5908         * lread.c (read_escape): Add new reader `u'.
5909
5910         * insdel.c (three_to_one_table): Don't define in UTF2000.
5911         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5912         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5913         UTF2000.
5914         (bytind_to_bufpos_func): Likewise.
5915         (buffer_mule_signal_inserted_region): Likewise.
5916         (vars_of_insdel): Don't initialize `three_to_one_table'.
5917         (init_buffer_text): Use `buf->text->mule_size' instead of
5918         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5919         UTF2000.
5920
5921         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5922         UTF-8 representation in UTF2000.
5923         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5924         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5925         (decode_coding_iso2022): Don't define local variable `lb' in
5926         UTF2000; don't use LEADING_BYTE in UTF2000; use
5927         `DECODE_ADD_UCS_CHAR' in UTF2000.
5928         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5929
5930         * config.h.in (UTF2000): New macro.
5931
5932         * buffer.h (struct buffer_text): Add new member `mule_size' and
5933         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5934         (valid_char_p): Return always 1 in UTF2000.
5935         (MAX_EMCHAR_LEN): 6 in UTF2000.
5936         (three_to_one_table): Don't define in UTF2000.
5937         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5938         UTF2000.
5939         (real_bytind_to_bufpos): Likewise.
5940
5941         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5942
5943 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5944
5945         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5946         representation change.
5947         (Vutf_2000_version): New variable.
5948         (leading_code_private_11): New variable.
5949         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5950         `leading-code-private-11'.
5951
5952         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5953         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5954         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5955         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5956         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5957         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5958         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5959         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5960         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5961         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5962         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5963         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5964         (MIN_CHAR_GREEK): New macro.
5965         (MAX_CHAR_GREEK): New macro.
5966         (MIN_CHAR_CYRILLIC): New macro.
5967         (MAX_CHAR_CYRILLIC): New macro.
5968         (MIN_CHAR_HEBREW): New macro.
5969         (MAX_CHAR_HEBREW): New macro.
5970         (MIN_CHAR_THAI): New macro.
5971         (MAX_CHAR_THAI): New macro.
5972         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5973         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5974         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5975         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5976         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5977         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5978         (CHAR_FIELD2): New inline function.
5979         (CHAR_FIELD3): New inline function.
5980         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5981         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5982         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5983         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5984         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5985         (MIN_CHAR_COMPOSITION): Likewise.
5986         (CHAR_LEADING_BYTE): Modified for character representation change.
5987         (MAKE_CHAR): Likewise.
5988
5989         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5990         (Vcharset_greek_iso8859_7): Likewise.
5991         (Vcharset_cyrillic_iso8859_5): Likewise.
5992         (Vcharset_hebrew_iso8859_8): Likewise.
5993         (Vcharset_thai_tis620): Likewise.
5994         (Vcharset_katakana_jisx0201): Likewise.
5995
5996 2008-12-28  Vin Shelton  <acs@xemacs.org>
5997
5998         * XEmacs 21.4.22 is released
5999
6000 2008-12-27  Vin Shelton  <acs@xemacs.org>
6001
6002         * syswindows.h: Don't define wide character interfaces for Cygwin
6003         1.7 and up.
6004
6005 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
6006
6007         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
6008
6009 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
6010
6011         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
6012         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
6013
6014 2008-12-25  Vin Shelton  <acs@xemacs.org>
6015
6016         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6017         By Julian Bradfield in
6018         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6019
6020         * mule-ccl.c (ccl_driver): 
6021
6022 2007-10-07  Vin Shelton  <acs@xemacs.org>
6023
6024         * XEmacs 21.4.21 is released
6025
6026 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6027
6028         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6029
6030 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6031
6032         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6033         (png_instantiate): Initialize setjmp_buffer early, and avoid
6034         recursive entry to error handler.
6035
6036 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6037
6038         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6039         a typo fix.
6040
6041 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6042
6043         * event-Xt.c (x_reset_modifier_mapping):
6044         * event-gtk.c (gtk_reset_modifier_mapping):
6045         Zero out the device's modifier map once we've freed it, to prevent
6046         a double free on a re-entrant call. 
6047
6048 2007-05-17  Vin Shelton  <acs@xemacs.org>
6049
6050         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6051         64-bit linux.  Patch from Hans de Graaff.
6052
6053 2007-05-02  Vin Shelton  <acs@xemacs.org>
6054
6055         * dumper.c (pdump): Don't close pdump_fd (already closed by
6056         fclose() call.  Patch from Steve Higham.
6057         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6058         already closed.  Patch inspired by Steve Higham.
6059
6060 2007-05-01  Vin Shelton  <acs@xemacs.org>
6061
6062         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6063         (mswindows_fstat): Ditto.
6064         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6065
6066 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6067
6068         * postgresql.c: Update Steve Baur's email address by his request.
6069         * postgresql.h: Ditto.
6070
6071 2007-01-04  Vin Shelton  <acs@xemacs.org>
6072
6073         * fileio.c (check_writable): Check old-style readonly bit only for
6074         non-directories.
6075
6076 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6077
6078         * src/fileio.c (check_writable): 
6079         Cope with the fact that the read-only attribute trumps Windows NTFS
6080         ACLS.
6081
6082
6083 2006-12-09  Vin Shelton  <acs@xemacs.org>
6084
6085         * XEmacs 21.4.20 is released
6086
6087 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6088
6089         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6090         relocated the definitions to be used sooner in file.
6091         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6092         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6093         overflow.
6094
6095 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6096
6097         * sound.c (init_native_sound):
6098         Only X11 and GTK devices can possibly not be on the console of the
6099         associated machine. Fixes a crash when init_native_sound is called
6100         on a msprinter device. 
6101
6102 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6103
6104         * buffer.c (buffer-file-name): Document invariant.
6105         (buffer-file-truename): Sync wording to buffer-file-name.
6106         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6107         and discussion.
6108
6109 2006-11-19  Benson Margulies  <benson@dchbk.us>
6110
6111         * fileio.c: Add code to use full Win32 API to check for write
6112         access.  Win32 has the general design policy that you aren't
6113         supposed to ask this question, since security checks change
6114         depending on asynchronous processes.  Nonetheless, there is a way,
6115         by acting as if we are a server doing interpretive access
6116         control.
6117
6118 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6119
6120         * bytecode.c: Use xnew_array instead of alloca.
6121
6122 2006-07-04  Vin Shelton  <acs@xemacs.org>
6123
6124         * redisplay-msw.c: Fix tiny, but crucial typo.
6125
6126 2006-06-22  Jerry James  <james@xemacs.org>
6127
6128         * EmacsShell-sub.c (ChangeManaged):
6129         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6130         NULL.
6131         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6132         checking if it is NULL.  Also fix a memory leak.
6133         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6134         dereference it, not the other way around.
6135         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6136         overflow check.
6137         * dumper.c (pdump_register_struct): Ditto.
6138         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6139         to (short) warnpath overflow warnpath.
6140         * extents.c (detach_all_extents): Call extent_list_delete_all with
6141         a non-NULL parameter only.
6142         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6143         NULL width and height.
6144         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6145         xic before checking if they are NULL.
6146         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6147         allocated array.
6148         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6149         * nas.c (Err): Fix a memory leak.
6150         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6151         Don't create the buffer if there is nothing to do.
6152         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6153         * redisplay-output.c (redisplay_output_layout): Ditto.
6154         * redisplay-tty.c (tty_output_display_block): Ditto.
6155         * redisplay-x.c (x_output_display_block): Ditto.
6156         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6157         dereference instance->scrollbar_data if it is NULL.
6158         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6159         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6160         for sb->scrollbar_data.
6161         * sound.c (init_native_sound): Avoid a buffer overflow by
6162         allocating a buffer with the appropriate size.
6163
6164 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6165
6166         * EmacsShell-sub.c (RootGeometryManager):
6167         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6168         Based on a suggestion by Francois L'Archeveque.
6169
6170 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6171
6172         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6173         current values found in GNU Emacs.
6174
6175 2006-03-17  Vin Shelton  <acs@xemacs.org>
6176
6177         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6178         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6179
6180         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6181         'hex_initialized' because it conflicts with 'initialized' in
6182         lisp.h.
6183
6184 2006-01-28  Vin Shelton  <acs@xemacs.org>
6185
6186         * XEmacs 21.4.19 is released
6187
6188 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6189
6190         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6191
6192 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6193
6194         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6195         5000 to INT_MAX.
6196
6197 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6198
6199         * database.c: Suppress compiler warning under Cygwin.
6200         * database.c: Removed __FreeBSD__ check, should be handled by
6201         HAVE_U_xxx_T defines.
6202
6203 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6204
6205         * console.c (stuff_buffered_input): Compile body only if
6206         HAVE_TTY.
6207
6208 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6209
6210         * callproc.c: #include sysdir.h, so that any appropriate Mule
6211         magic happens with the chdir() call when calling a subprocess. 
6212
6213 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6214
6215         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6216         * mule-ccl.c: Check that a character set exists before using it
6217         to create a character. 
6218
6219 2005-12-06  Vin Shelton  <acs@xemacs.org>
6220
6221         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6222         to INT_MAX.
6223
6224 2005-12-03  Vin Shelton <acs@xemacs.org>
6225
6226         * XEmacs 21.4.18 is released
6227
6228 2005-11-27  Kean Johnston <kean@armory.com>
6229
6230         * redisplay-tty.c (set_tty_modes):
6231         (reset_tty_modes): disable auto-margins if the terminal supports
6232         them.
6233         (init_tty_for_redisplay): fix cursor shape.
6234
6235 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6236
6237         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6238         for control-1 characters properly, both when reading multibyte
6239         characters and writing them. 
6240
6241 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6242
6243         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6244         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6245         were seeing with incremental selection transfer failing. 
6246
6247 2005-11-26  Vin Shelton  <acs@xemacs.org>
6248
6249         * callproc.c (Fold_call_process_internal): Create the buffer if it
6250         does not already exist.  The original patch came from Ben Wing in
6251         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6252
6253 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6254
6255         * callproc.c: Process-related docstring improvements spurred by
6256         Norbert Koch.
6257
6258 2005-11-25  Vin Shelton  <acs@xemacs.org>
6259
6260         * depend: Regenerated.
6261
6262 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6263
6264         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6265         says it clashes with a global with the same name.
6266
6267 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6268
6269         * sysdll.c (dll_open): Under MacOS X return NULL under the
6270         filename is NULL.  Fixes problems finding local symbols under 10.4
6271         (Tiger)
6272
6273 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6274         
6275         * config.h.in: New HAVE_U_INT*_T defines.
6276         
6277         * database.c: Only use u_int*_t typedefs if not already
6278         defined.
6279
6280 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6281
6282         * src/process-unix.c (unix_open_network_stream): moved
6283           'portbuf' buffer out of an inner block as it is used in the
6284           entire function. With gcc4, the stack may get corrupted
6285           after leaving this block. This patches adjusts the size of
6286           the used buffer also; static '128' bytes are far too much
6287           currently and might not suffice for future architectures
6288           (e.g. for 512 bit ones ;)). Instead of, use only the really
6289           required space (max octets * ln(256)/ln(10) chars + space
6290           for '\0' and the sign)
6291
6292 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6293
6294         * callproc.c: Include sysdir.h, so any necessary Mule processing
6295         is done on the current directory name before starting a new
6296         process.
6297
6298 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6299
6300         * chartab.c (Fchar_table_p):
6301         (Fget_range_char_table):
6302         (Fput_char_table):
6303         (Fmap_char_table):
6304         Describe range representation and fix typo.
6305
6306 2005-02-12  Vin Shelton  <acs@xemacs.org>
6307
6308         * emacs.c (shut_down_emacs): Advise users to send email to the
6309         xemacs-beta list instead of crashes@xemacs.org.
6310
6311 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6312
6313         * process-unix.c (unix_send_process): Flush the last chunk, even
6314         when the pipe is blocked.
6315
6316 2005-02-06  Vin Shelton <acs@xemacs.org>
6317
6318         * XEmacs 21.4.17 is released
6319
6320 2005-01-31  Ben Wing  <ben@xemacs.org>
6321
6322         * emacs.c:
6323         Define assert_failed() always.
6324         * lisp.h:
6325         Always define ABORT().
6326
6327 2005-01-25  Ben Wing  <ben@xemacs.org>
6328
6329         * Makefile.in.in:
6330         * Makefile.in.in (%.o):
6331         Don't compile executable as Windows (-mwindows) under Cygwin.
6332         Semi-recent changes to Cygwin's executable-startup handling make
6333         it impossible to access the TTY this way.
6334
6335         Don't use special linker file under Cygwin (cygwin.sc) except
6336         when non-PDUMP (even in this case it is highly questionable); you
6337         get errors like
6338
6339       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6340    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6341
6342 2005-01-29  Ben Wing  <ben@xemacs.org>
6343
6344         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6345
6346         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6347
6348 2005-01-29  Ben Wing  <ben@xemacs.org>
6349
6350         * bytecode.c (optimize_compiled_function):
6351         * print.c (FROB):
6352         * print.c (long_to_string):
6353         Add casts to avoid warning.
6354         
6355         * glyphs-eimage.c:
6356         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6357         #### The better solution is to move the TIFF and JPEG code to
6358         different files.
6359         
6360         * glyphs-msw.c (mswindows_xbm_instantiate):
6361         Define __STDC__ to avoid problems with compface.h.
6362         
6363         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6364         * EmacsShell-sub.c:
6365         * EmacsShell-sub.c (ABORT):
6366         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6367         * EmacsShell-sub.c (RootGeometryManager):
6368         * EmacsShell.c:
6369         * EmacsShell.c (ABORT):
6370         * EmacsShell.c (EmacsShellUpdateSizeHints):
6371         * alloc.c (free_lcrecord):
6372         * alloca.c (i00afunc):
6373         * buffer.c (delete_from_buffer_alist):
6374         * buffer.c (MARKED_SLOT):
6375         * bytecode.c (execute_rare_opcode):
6376         * bytecode.c (optimize_byte_code):
6377         * bytecode.c (Ffetch_bytecode):
6378         * chartab.c (char_table_type_to_symbol):
6379         * chartab.c (Freset_char_table):
6380         * chartab.c (decode_char_table_range):
6381         * chartab.c (Fget_range_char_table):
6382         * chartab.c (check_valid_char_table_value):
6383         * chartab.c (map_char_table):
6384         * chartab.c (slow_map_char_table_fun):
6385         * chartab.c (chartab_instantiate):
6386         * cm.c (cmcheckmagic):
6387         * console-msw.c (DHEADER):
6388         * console.c (MARKED_SLOT):
6389         * data.c (finish_marking_weak_lists):
6390         * data.c (encode_weak_list_type):
6391         * debug.h (DASSERT):
6392         * device-gtk.c (gtk_init_device):
6393         * device-msw.c (mswindows_get_default_margin):
6394         * device-tty.c (tty_init_device):
6395         * device-x.c (get_device_from_display):
6396         * device-x.c (x_get_visual_depth):
6397         * doprnt.c (parse_doprnt_spec):
6398         * doprnt.c (get_doprnt_args):
6399         * dumper.c (pdump_get_indirect_count):
6400         * dumper.c (pdump_register_sub):
6401         * dumper.c (pdump_register_object):
6402         * dumper.c (pdump_register_struct):
6403         * dumper.c (pdump_dump_data):
6404         * dumper.c (pdump_reloc_one):
6405         * elhash.c (print_hash_table):
6406         * elhash.c (make_standard_lisp_hash_table):
6407         * elhash.c (hash_table_instantiate):
6408         * emacs.c:
6409         * emacs.c (Fforce_debugging_signal):
6410         * emacs.c (sort_args):
6411         * emacs.c (main):
6412         * emacs.c (assert_failed):
6413         * eval.c (throw_or_bomb_out):
6414         * eval.c (signal_1):
6415         * eval.c (Fsignal):
6416         * event-Xt.c:
6417         * event-Xt.c (emacs_Xt_mapping_action):
6418         * event-Xt.c (Xt_process_to_emacs_event):
6419         * event-msw.c:
6420         * event-stream.c (check_event_stream_ok):
6421         * event-stream.c (Fadd_timeout):
6422         * event-stream.c (Fadd_async_timeout):
6423         * event-stream.c (Fdiscard_input):
6424         * event-stream.c (execute_internal_event):
6425         * event-stream.c (Frecent_keys):
6426         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6427         * event-stream.c (lookup_command_event):
6428         * event-unixoid.c (poll_fds_for_input):
6429         * events.c:
6430         * events.c (mark_event):
6431         * events.c (event_equal):
6432         * events.c (event_hash):
6433         * events.c (Fmake_event):
6434         * events.c (Fdeallocate_event):
6435         * events.c (event_chain_find_previous):
6436         * events.c (event_to_character):
6437         * events.c (format_event_object):
6438         * events.c (Fevent_type):
6439         * events.c (event_pixel_translation):
6440         * events.c (Fevent_properties):
6441         * extents.c (extent_in_region_p):
6442         * extents.c (print_extent):
6443         * extents.c (process_extents_for_insertion_mapper):
6444         * extents.c (report_extent_modification_mapper):
6445         * extents.c (glyph_layout_to_symbol):
6446         * faces.c (face_validate):
6447         * file-coding.c (eol_type_to_symbol):
6448         * file-coding.c (subsidiary_coding_system):
6449         * file-coding.c (Fcoding_system_type):
6450         * file-coding.c (Fcoding_system_property):
6451         * file-coding.c (mule_decode):
6452         * file-coding.c (mule_encode):
6453         * file-coding.c (encode_coding_ucs4):
6454         * file-coding.c (encode_coding_utf8):
6455         * file-coding.c (parse_iso2022_esc):
6456         * file-coding.c (encode_coding_iso2022):
6457         * fileio.c:
6458         * fns.c (concat):
6459         * fns.c (Fsubseq):
6460         * fns.c (mapcar1):
6461         * fns.c (Fbase64_encode_region):
6462         * fns.c (Fbase64_encode_string):
6463         * fns.c (Fbase64_decode_region):
6464         * fns.c (Fbase64_decode_string):
6465         * font-lock.c (find_context):
6466         * font-lock.c (context_to_symbol):
6467         * frame-gtk.c (gtk_set_frame_pointer):
6468         * frame-gtk.c (gtk_update_frame_external_traits):
6469         * frame-x.c (x_wm_mark_shell_size_user_specified):
6470         * frame-x.c (x_wm_mark_shell_position_user_specified):
6471         * frame-x.c (x_wm_set_shell_iconic_p):
6472         * frame-x.c (x_wm_set_cell_size):
6473         * frame-x.c (x_wm_set_variable_size):
6474         * frame-x.c (x_wm_store_class_hints):
6475         * frame-x.c (x_wm_maybe_store_wm_command):
6476         * frame-x.c (x_initialize_frame_size):
6477         * frame-x.c (x_update_frame_external_traits):
6478         * frame.c:
6479         * frame.c (delete_frame_internal):
6480         * frame.c (mouse_pixel_position_1):
6481         * frame.c (change_frame_size_1):
6482         * free-hook.c (check_free):
6483         * free-hook.c (check_realloc):
6484         * free-hook.c (note_block_input):
6485         * free-hook.c (log_gcpro):
6486         * gccache-gtk.c (gc_cache_lookup):
6487         * glyphs-eimage.c (tiff_memory_write):
6488         * glyphs-gtk.c (gtk_finalize_image_instance):
6489         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6490         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6491         * glyphs-gtk.c (gtk_xpm_instantiate):
6492         * glyphs-gtk.c (gtk_unmap_subwindow):
6493         * glyphs-gtk.c (gtk_map_subwindow):
6494         * glyphs-gtk.c (gtk_button_redisplay):
6495         * glyphs-msw.c:
6496         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6497         * glyphs-x.c (init_image_instance_from_xbm_inline):
6498         * glyphs-x.c (extract_xpm_color_names):
6499         * glyphs-x.c (x_xpm_instantiate):
6500         * glyphs.c (get_image_instantiator_governing_domain):
6501         * glyphs.c (print_image_instance):
6502         * glyphs.c (image_instance_equal):
6503         * glyphs.c (image_instance_hash):
6504         * glyphs.c (encode_image_instance_type):
6505         * glyphs.c (make_image_instance_1):
6506         * glyphs.c (inherit_instantiate):
6507         * glyphs.c (image_instantiate):
6508         * glyphs.c (allocate_glyph):
6509         * glyphs.c (Fglyph_type):
6510         * glyphs.c (redisplay_subwindow):
6511         * glyphs.c (display_table_entry):
6512         * gtk-glue.c (xemacs_list_to_gtklist):
6513         * gtk-glue.c (xemacs_gtklist_to_list):
6514         * gtk-glue.c (xemacs_list_to_array):
6515         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6516         * gutter.c (gutter_was_visible):
6517         * gutter.c (get_gutter_coords):
6518         * input-method-xlib.c (get_XIM_input):
6519         * insdel.c (bufpos_to_bytind_func):
6520         * insdel.c (bytind_to_bufpos_func):
6521         * insdel.c (move_gap):
6522         * intl.c (x_get_composed_input):
6523         * keymap.c (keymap_lookup_directly):
6524         * keymap.c (keymap_delete_inverse_internal):
6525         * keymap.c (ensure_meta_prefix_char_keymapp):
6526         * keymap.c (accessible_keymaps_mapper_1):
6527         * keymap.c (where_is_recursive_mapper):
6528         * lisp.h:
6529         * lisp.h (ABORT):
6530         * lread.c (read_atom):
6531         * lstream.c (Lstream_delete):
6532         * lstream.c (make_lisp_buffer_stream_1):
6533         * macros.c (pop_kbd_macro_event):
6534         * malloc.c (malloc):
6535         * malloc.c (free):
6536         * marker.c (bi_marker_position):
6537         * marker.c (set_bi_marker_position):
6538         * menubar-gtk.c (menu_descriptor_to_widget_1):
6539         * menubar-msw.c (prune_menubar):
6540         * menubar-x.c (set_frame_menubar):
6541         * mule-charset.c (get_unallocated_leading_byte):
6542         * mule-charset.h (CHAR_LEADING_BYTE):
6543         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6544         * nt.c (init_environment):
6545         * nt.c (generate_inode_val):
6546         * ntproc.c (delete_child):
6547         * ntproc.c (_sys_read_ahead):
6548         * ntproc.c (create_child):
6549         * objects.c (color_instantiate):
6550         * objects.c (font_instantiate):
6551         * objects.c (face_boolean_instantiate):
6552         * print.c (printing_major_badness):
6553         * process-nt.c (nt_send_process):
6554         * process-unix.c (unix_send_process):
6555         * process.c (get_process):
6556         * ralloc.c (obtain):
6557         * ralloc.c (relinquish):
6558         * ralloc.c (relocate_blocs):
6559         * ralloc.c (resize_bloc):
6560         * ralloc.c (r_alloc_free):
6561         * ralloc.c (r_re_alloc):
6562         * ralloc.c (r_alloc_thaw):
6563         * ralloc.c (init_ralloc):
6564         * ralloc.c (Free_Addr_Block):
6565         * ralloc.c (r_alloc):
6566         * redisplay-gtk.c (gtk_output_display_block):
6567         * redisplay-msw.c (mswindows_output_display_block):
6568         * redisplay-output.c (get_next_display_block):
6569         * redisplay-output.c (get_cursor_size_and_location):
6570         * redisplay-output.c (redisplay_output_layout):
6571         * redisplay-output.c (redisplay_clear_region):
6572         * redisplay-tty.c (tty_output_display_block):
6573         * redisplay-x.c (x_output_display_block):
6574         * redisplay.c (add_propagation_runes):
6575         * redisplay.c (add_glyph_rune):
6576         * redisplay.c (create_text_block):
6577         * redisplay.c (add_margin_runes):
6578         * redisplay.c (create_left_glyph_block):
6579         * redisplay.c (create_right_glyph_block):
6580         * redisplay.c (create_string_text_block):
6581         * redisplay.c (regenerate_window):
6582         * redisplay.c (REGEN_INC_FIND_START_END):
6583         * redisplay.c (redisplay_frame):
6584         * redisplay.c (point_in_line_start_cache):
6585         * regex.c:
6586         * regex.c (ABORT):
6587         * regex.c (re_compile_fastmap):
6588         * regex.c (re_match_2_internal):
6589         * regex.c (regerror):
6590         * scrollbar-gtk.c (gtk_scrollbar_loop):
6591         * scrollbar-gtk.c (scrollbar_cb):
6592         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6593         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6594         * scrollbar-x.c (x_update_scrollbar_instance_status):
6595         * scrollbar-x.c (x_scrollbar_loop):
6596         * scrollbar-x.c (x_update_frame_scrollbars):
6597         * search.c (search_command):
6598         * search.c (Fmatch_data):
6599         * select-x.c (motif_clipboard_cb):
6600         * signal.c (interrupt_signal):
6601         * specifier.c (specifier_add_spec):
6602         * specifier.c (specifier_instance_from_inst_list):
6603         * specifier.c (specifier_instance):
6604         * specifier.h:
6605         * specifier.h (struct specifier_methods):
6606         * strftime.c (add_num_time_t):
6607         * sunplay.c (init_device):
6608         * symbols.c (Fsetplist):
6609         * symbols.c (do_symval_forwarding):
6610         * symbols.c (store_symval_forwarding):
6611         * symbols.c (Fset):
6612         * symbols.c (Fbuilt_in_variable_type):
6613         * symbols.c (decode_magic_handler_type):
6614         * symbols.c (handler_type_from_function_symbol):
6615         * syntax.c (update_syntax_cache):
6616         * sysdep.c (init_baud_rate):
6617         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6618         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6619         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6620         * toolbar.c (get_toolbar_coords):
6621         * ui-gtk.c (build_gtk_boxed):
6622         * ui-gtk.c (describe_gtk_arg):
6623         * ui-gtk.c (gtk_type_to_lisp):
6624         * ui-gtk.c (lisp_to_gtk_type):
6625         * ui-gtk.c (lisp_to_gtk_ret_type):
6626         * ui-gtk.c (lisp_to_flag):
6627         * unexnt.c (read_in_bss):
6628         * unexnt.c (map_in_heap):
6629         * window.c (real_window):
6630         * window.c (window_display_lines):
6631         * window.c (window_display_buffer):
6632         * window.c (set_window_display_buffer):
6633         * window.c (window_modeline_height):
6634         * window.c (unshow_buffer):
6635         * window.c (window_loop):
6636         * window.c (Fget_lru_window):
6637         * window.c (Fsplit_window):
6638         * window.c (Fset_window_configuration):
6639         * window.c (saved_window_index):
6640         * xgccache.c (gc_cache_lookup):
6641         abort() -> ABORT().  Eliminate preprocessor games with abort()
6642         since it creates huge problems in VC7, solvable only by including
6643         massive amounts of files in every compile (and not worth it).
6644
6645         * sysdep.c:
6646         * sysproc.h:
6647         Inclusion of process.h does not need to be before lisp.h any more.
6648         Move later and remove comment about abort().
6649
6650 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6651
6652         * regex.c (re_match_2_internal):
6653         Correctly initialize loop which clears uninitialized registers.
6654
6655 2005-01-28  Vin Shelton  <acs@xemacs.org>
6656
6657         * sheap.c (more_static_core): Applied Ben's version of the long
6658         string patch.
6659
6660 2005-01-24  Vin Shelton  <acs@xemacs.org>
6661
6662         * sheap.c (more_static_core): Reformatted printf string so
6663         gcc-3.3.3 will compile this on Cygwin.
6664
6665 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6666
6667         * console.c (function_key_map): Reference `key-binding'.
6668
6669         * keymap.c (Vkey_translation_map): Improve docstring.
6670
6671 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6672
6673         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6674         * window.c (window_loop): [fix] Take into account
6675         `allow-deletion-of-last-visible-frame' variable.
6676         * window.c (replace-buffer-in-windows): Ditto.
6677
6678 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6679
6680         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6681
6682 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6683
6684         * event-gtk.c: Recognise AltGr as a valid modifier.
6685
6686 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6687
6688         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6689
6690 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6691
6692         Fix backreference bug caught by test suite.
6693
6694         * regex.c (regex_compile):
6695         Make backref duplicate internal register.
6696
6697 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6698
6699         Documentation, code clarification, and warning suppression.
6700         
6701         * regex.c (regex_compile):
6702         Improve comments.
6703         (re_match_2_internal):
6704         Improve comments and avoid redundant braces.  [Most of the big hunk
6705         at l. 4710 is indentation; use diff -w to see the real changes.]
6706         (alt_match_null_string_p):
6707         (common_op_match_null_string_p):
6708         Avoid shadowing global on Mac OS X 10.4, at least.
6709
6710 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6711
6712         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6713         introduced with shy groups fix).  [Already applied, probably
6714         with the second "fix shy groups" patch of 2004-10-07.] 
6715
6716 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6717
6718         From Andrey Slusar <anrays@gmail.com>:
6719
6720         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6721
6722 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6723
6724         * Makefile (RECURSIVE_MAKE): Removed.
6725         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6726         handling parallel builds.
6727
6728 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6729
6730         * Makefile.in.in: Enable support for parallel builds.
6731
6732 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6733
6734         From Andrey Slusar <anrays@gmail.com>:
6735
6736         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6737         FreeBSD version is >= 199701 _and_ < 600006.
6738
6739 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6740
6741         * scrollbar.c (compute_scrollbar_instance_usage):
6742         Only call device method compute_scrollbar_instance_usage() if it
6743         is defined.
6744
6745 2004-12-05  Vin Shelton <acs@xemacs.org>
6746
6747         * XEmacs 21.4.16 is released
6748
6749 2004-12-04  Vin Shelton  <acs@xemacs.org>
6750
6751         * depend: Regenerated.
6752
6753 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6754
6755         * regex.c (re_match_2_internal): Map internal to external
6756         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6757         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6758
6759 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6760
6761         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6762         to fix a crash.  Also, check the buffer is live and it
6763         really exists in buffer_list.  If the buffer is not in the list,
6764         prepend it.
6765
6766 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6767
6768         Fix shy groups by implementing recording of all groups for
6769         repetition and backtracking.  Backport from 21.5.
6770         
6771         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6772         external_to_internal_register, external_to_internal_register_size,
6773         and update comments for re_nsub.
6774
6775         * regex.c (re_opcode_t): Update comments.
6776         (print_compiled_pattern): Ouput external_to_internal_register,
6777         external_to_internal_register_size, and re_ngroups for debugging.
6778         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6779         (regex_compile): Update header comment.
6780         Ensure that all groups are recorded so that repeat matches and
6781         backtracking work correctly.  Comment related warning for groups >
6782         255.
6783         (re_search_2): Construct map of API indexes (which count only
6784         nonshy groups) to internal register numbers, and keep it updated.
6785
6786 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6787
6788         * frame-gtk.c (gtk_make_frame_visible):
6789         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6790         show/hide.  This is what X uses and is prevents previously hidden
6791         widgets from suddenly reappearing.
6792         * gtk-xemacs.c (gtk_xemacs_paint):
6793         * gtk-xemacs.c (gtk_xemacs_draw):
6794         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6795         drawable.
6796         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6797         size and location changes so that they can be seen before the next
6798         idle event.  Without this rapid changes to scrollbar properties
6799         are not seen.
6800
6801 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6802
6803         * console-gtk.h:
6804         * console-gtk.h (struct gtk_frame):
6805         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6806           Add hash tables track tab_control callback data.
6807           Added #defines for GTK object data names.
6808           Declaration of gtk_widget_to_frame().
6809         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6810         * frame-gtk.c (gtk_widget_to_frame): New.
6811         * frame-gtk.c (gtk_create_widgets):
6812         * frame-gtk.c (allocate_gtk_frame_struct):
6813         * frame-gtk.c (gtk_mark_frame):
6814         Manage frame callbakc hash tables.
6815         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6816         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6817         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6818         of widget size.
6819         * glyphs-gtk.c (gtk_widget_query_geometry): New
6820         * glyphs-gtk.c (gtk_register_gui_item): New
6821         * glyphs-gtk.c (gtk_add_tab_item): New
6822         * glyphs-gtk.c (gtk_tab_control_callback): New
6823         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6824         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6825         Use correct list when loading item.
6826         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6827         Register new methods.
6828         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6829         default size, for widgets.
6830         * gui-x.c:  Improved comment.
6831         * menubar-gtk.c (__generic_button_callback): Use
6832         gtk_widget_to_frame instead of __get_channel.
6833         * scrollbar-gtk.c:
6834         * ui-gtk.c: Use symbolic names for GTK object data.
6835
6836 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6837
6838         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6839
6840 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6841
6842         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6843
6844 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6845
6846         * malloc.c (morecore): siz is a long because in some architectures
6847         (eg ia-64) an int cannot hold the address range.  Additional patch
6848         from the SuSe distribution.
6849
6850 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6851
6852         * emacs.c:
6853         * malloc.c: lim_data is a long because in some architectures
6854         (eg ia-64) an int cannot hold the address range.
6855         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6856         instead of ulimit() because ulimit() always returns -1.
6857
6858 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6859
6860         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6861
6862 2004-06-11  David Kastrup  <dak@gnu.org>
6863
6864         * search.c (match_limit): Don't flag an error if match-data
6865         exceeding the allocated search_regs.num_regs gets requested, just
6866         return Qnil.
6867
6868 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6869
6870         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6871         replace symbolic color entries with the real colors specified in
6872         xpm-color-symbols, before passing the XPM to gtk.
6873         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6874         instead of a GTK specific field, so that it is used in by generic
6875         code.
6876
6877 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6878
6879        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6880         coredump from deref of NULL ptr (ExtData)
6881
6882 2004-04-19  Jerry James  <james@xemacs.org>
6883
6884         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6885         VALBITS to compute the location of the sign bit.
6886         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6887         of VALBITS with EMACS_INT_MAX.
6888         * events.c (Fevent_timestamp): Ditto.
6889         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6890         compute the halfway point to timestamp wraparound.
6891         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6892         EMACS_INT_MIN instead of using VALBITS.
6893         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6894         incorrect number with VALBITS.
6895         * fns.c (Frandom): Correct number of integer bits in docstring.
6896         Use INT_VALBITS instead of VALBITS to compute the denominator.
6897         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6898         build random numbers.
6899
6900 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6901         * event-gtk.c:
6902         * event-gtk.c (gtk_event_to_emacs_event):
6903         * menubar-gtk.c:
6904         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6905         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6906         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6907         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6908         * menubar-gtk.c (__activate_menu):
6909         * menubar-gtk.c (convert_underscores):
6910         * menubar-gtk.c (remove_underscores):
6911         * menubar-gtk.c (menu_convert):
6912         * menubar-gtk.c (menu_descriptor_to_widget_1):
6913         * menubar-gtk.c (menu_descriptor_to_widget):
6914         * menubar-gtk.c (menu_can_reuse_widget):
6915         * menubar-gtk.c (menu_create_menubar):
6916         * menubar-gtk.c (gtk_popup_menu):
6917         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6918         Added support for Gtk menu bar and menu item mnemonics.
6919
6920 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6921
6922         * sysdll.c: (dll_function): Added support for finding symbols in
6923         Darwin shared libraries as well in Darwin bundles.
6924         * sysdll.c (image_for_address): New
6925         * sysdll.c (my_find_image): New
6926         * sysdll.c (search_linked_libs): New
6927
6928 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6929
6930         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6931         return to GTK requires a different API to marshalling data to use
6932         as GTK parameters.
6933         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6934
6935 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6936
6937         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6938
6939 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6940
6941         * glyphs.c (process_image_string_instantiator):
6942         (Fset_console_type_image_conversion_list):
6943         Stop GCC from warning about shadowing of `exp'.
6944
6945         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6946
6947 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6948
6949         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6950
6951 2004-02-03  Vin Shelton  <acs@xemacs.org>
6952
6953         * glyphs.c (image_instance_layout): Remove pointless assertion.
6954         * regex.c (regex_grow_registers): Return type is void.
6955
6956 2004-02-02  Vin Shelton <acs@xemacs.org>
6957
6958         * XEmacs 21.4.15 is released
6959
6960 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6961
6962         * device-x.c (x_error_handler): Don't call stderr_out
6963
6964 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6965
6966         * buffer.c (other-buffer): Clarify documentation of order of
6967         arguments for FSF Emacs.
6968
6969 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6970
6971         * window.c (Fdelete_window): Dirty the mirror structure _before_
6972         marking the window deleted.
6973
6974 2003-09-15  Jerry James  <james@xemacs.org>
6975
6976         * event-msw.c (debug_mswin_messages): Conditionally compile
6977         messages missing from the Cygwin headers.
6978
6979 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6980
6981         * data.c (eq_with_ebola_notice): Fix typo in comment.
6982         (Ftrue_list_p): Improve docstring.
6983
6984 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6985
6986         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6987
6988 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6989
6990         * search.c (trivial_regexp_p): Regexps containing "\{" are
6991         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6992         Stefan Monnier for suggesting a diagnosis.
6993
6994 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6995
6996         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6997
6998 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6999
7000         * search.c (Fsearch_forward):
7001         (Fsearch_backward):
7002         Document negative count.
7003
7004 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
7005
7006         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
7007
7008 2003-09-13  Martin Buchholz  <martin@xemacs.org>
7009
7010         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
7011
7012 2003-09-15  Vin Shelton  <acs@xemacs.org>
7013
7014         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7015         21.5.
7016
7017 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7018
7019         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7020         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7021         (re_match_2_internal): Use TRANSLATE instead of
7022         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7023         non-ASCII char case conversion.
7024
7025 2003-09-08  Mike Sperber  <mike@xemacs.org>
7026
7027         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7028         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7029
7030 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7031
7032        * .gdbinit (pobj): fix printing of symbol name.
7033
7034 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7035
7036         * frame-x.c (x_layout_widgets): When resizing is about to cause
7037         frame size slip, mark it for redisplay.
7038
7039 2003-08-18  Jerry James  <james@xemacs.org>
7040
7041         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7042
7043 2003-09-03  Vin Shelton <acs@xemacs.org>
7044
7045         * XEmacs 21.4.14 is released
7046
7047 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7048
7049         * config.h.in (REGEX_MALLOC): Make it configure'able.
7050
7051 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7052
7053         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7054         linking.
7055         * sysdll.c (dll_init):
7056         * sysdll.c (dll_open):
7057         * sysdll.c (dll_close):
7058         * sysdll.c (dll_function):
7059         * sysdll.c (dll_variable):
7060         * sysdll.c (dll_error):
7061         Add support for loading bundles using Darwin/MacOSX
7062         native API.
7063
7064 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7065
7066         * process.c (start-process-internal): Document coding systems.
7067
7068 2003-07-30  Jerry James  <james@xemacs.org>
7069
7070         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7071
7072 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7073
7074         * event-msw.c (mswindows_enqueue_mouse_button_event):
7075         * event-msw.c (mswindows_wnd_proc):
7076           enqueue button event when scrollwheel event isn't handled by 
7077           mswindows_handle_mousewheel_event, such as when the scrollbars
7078           are not showing.
7079
7080 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7081
7082         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7083
7084 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7085
7086         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7087
7088 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7089
7090         * regex.c (re_match_2_internal): Fix matching degenerate word
7091         boundaries.
7092
7093 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7094
7095         * XEmacs 21.4.13 is released
7096
7097 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7098
7099         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7100         * lisp.h (<inttypes.h>):
7101         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7102         the definition.
7103
7104 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7105
7106         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7107         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7108         Result: "temacs can only be run in -batch mode."
7109         Fix: Check xemacs executable candidate for directory-ness.
7110
7111 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7112
7113         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7114           they conflict with <sys/types.h>.
7115
7116 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7117
7118         * database.c: Berkeley DB wants __STDC__ to be defined.
7119
7120 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7121
7122         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7123
7124 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7125
7126         * process-unix.c (unix_send_process): Fix C++ compile error.
7127
7128 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7129
7130         * Added .dylib as an acceptable shared library file extension
7131         * to support MacOSX.
7132
7133 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7134
7135         * EmacsFrameP.h (EmacsFramePart):
7136         Kludge to allow compiling with Motif1, but linking with Motif2.
7137
7138 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7139
7140         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7141
7142
7143 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7144
7145         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7146
7147 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7148
7149         * sysdll.c: Included lisp.h to define needed alloca_array.
7150
7151 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7152
7153         Make XEmacs redisplay 10 times faster.
7154         If, that is, you're using a slow X connection and MoveOpaque.
7155         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7156         Use compress_motion = TRUE.
7157         * EmacsFrame.c (emacsFrameClassRec): 
7158         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7159         * EmacsManager.c (emacsManagerClassRec):
7160         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7161
7162 2003-01-30  Vin Shelton  <acs@xemacs.org>
7163
7164         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7165
7166 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7167
7168         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7169         Patch by Martin Buchholz.
7170
7171 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7172
7173         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7174         Thanks to icc for warning and Martin Buchholz for reporting.
7175
7176 2003-01-29  Vin Shelton <acs@xemacs.org>
7177
7178         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7179
7180         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7181         remember to multiply by the element size.
7182
7183 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7184
7185         * XEmacs 21.4.12 "Portable Code" is released.
7186
7187 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7188
7189         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7190         * s/cygwin.sc: new linker file.
7191
7192 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7193
7194         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7195
7196         * redisplay-x.c (x_output_string): Use X11-specified types.
7197         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7198         * emacs.c (__free_hook): Use typeof with Intel compiler.
7199         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7200
7201 2003-01-08  Andy Piper  <andy@xemacs.org>
7202
7203         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7204         reserve size during unexec().
7205
7206 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7207
7208         * process-unix.c (unix_create_process): Don't let outchannel block.
7209
7210 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7211
7212         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7213         Needed for IsBadReadPtr().
7214
7215 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7216
7217         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7218
7219 2002-12-14  Ben Wing  <ben@xemacs.org>
7220
7221         * callint.c: Declaration error.
7222         * dumper.c (pdump):
7223         * dumper.c (pdump_load): Warning fix.
7224         * process.c: GCPRO error.
7225         * glyphs.c (unmap_subwindow):
7226         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7227         * event-stream.c (maybe_kbd_translate): Wrong argument to
7228         character_to_event().
7229
7230         * alloc.c (garbage_collect_1):
7231         * emacs.c:
7232         * emacs.c (debug_can_access_memory):
7233         * emacs.c (fatal_error_signal):
7234         * emacs.c (mswindows_handle_hardware_exceptions):
7235         * emacs.c (main_1):
7236         * emacs.c (main):
7237         * emacs.c (assert_failed):
7238         * emacs.c (syms_of_emacs):
7239         * lisp.h:
7240         * print.c:
7241         * print.c (std_handle_out_va):
7242         * print.c (write_string_to_stdio_stream):
7243         * print.c (write_fmt_string):
7244         * print.c (printing_badness):
7245         * print.c (printing_major_badness):
7246         * print.c (print_internal):
7247         * print.c (debug_print_no_newline):
7248         * print.c (debug_backtrace):
7249         Be more defensive in handling bad values when printing.  Add code
7250         from trunk involving inhibit_non_essential_printing_operations.
7251         When going down or in debug_print(), don't do external conversion
7252         and such and try really, really hard when printing to avoid core
7253         dumping.  Add force-debugging-signal, debug_break().
7254
7255 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7256
7257         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7258         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7259
7260 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7261
7262         * database.c: Fix open_database. Berkeley DB API has changed in
7263         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7264
7265 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7266
7267         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7268
7269 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7270
7271         * event-Xt.c (Xt_timeout):
7272         (Xt_timeout_callback):
7273         (emacs_Xt_add_timeout):
7274         (emacs_Xt_remove_timeout):
7275         (Xt_timeout_to_emacs_event):
7276         Turn completed_timeouts from a stack into a queue.  Fixes
7277         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7278
7279 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7280
7281         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7282         * emacs.c (main): Assert that mmap'd allocation is disabled.
7283
7284 2002-10-14  Andy Piper  <andy@xemacs.org>
7285
7286         * glyphs-widget.c (layout_query_geometry): add in fiddle
7287         factor. Include border text in width layout calculation.
7288         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7289
7290 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7291
7292         * XEmacs 21.4.10 "Military Intelligence" is released.
7293
7294 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7295
7296         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7297         using the NAS private array SoundFileInfo that no longer exists in
7298         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7299         and earlier.  This is broken for some versions between 1.5a and
7300         1.5f.
7301
7302 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7303
7304         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7305
7306         * emacs.c (shut_down_emacs): Improve crash message.
7307
7308 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7309
7310         * file-coding.c (determine_real_coding_system): Check for coding
7311         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7312         shebangs and Python PEP 263.
7313
7314 2002-10-08  Andy Piper  <andy@xemacs.org>
7315
7316         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7317         if static sizes haven't been set.
7318
7319 2002-08-30  Mike Alexander  <mta@arbortext.com>
7320
7321         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7322         to close a socket.
7323
7324 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7325
7326         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7327
7328 2002-09-20  Mike Sperber <mike@xemacs.org>
7329
7330         (This partially gets back my patch from 2002-07-20 without the
7331         bug.)
7332         * callproc.c (child_setup): Remove Ben's comment noting confusion
7333         over the file descriptors >= 3: close_process_descs() doesn't
7334         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7335         * process-unix.c (unix_create_process): Call
7336         begin_dont_check_for_quit to inhibit unwanted interaction (and
7337         thus breaking of X event synchronicity) in the child.
7338
7339 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7340
7341         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7342         widget.
7343
7344 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7345
7346         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7347         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7348         the xemacs process did not exit, but looped infinitely here.  This
7349         fixes that problem.
7350
7351 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7352
7353         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7354         (find_context): Improve comments.
7355
7356         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7357         (re_match_2): An XCHAR_TABLE operation was missing.
7358
7359         Many of the following changes were inspired by Andy Piper's (now
7360         obsolete) patch to make syntax-table text property lookup optional.
7361
7362         [Documentation]
7363
7364         * syntax.h (top level): Document semantics of syntax flags.
7365         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7366         * syntax.c, syntax.h (top level): Document syntax cache better in
7367         comments.
7368
7369         [Instrument syntax caching (temporary change)]
7370
7371         * syntax.h (enum syntax_cache_statistics_functions, struct
7372         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7373         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7374         * syntax.c (scan_words, Fforward_comment, scan_lists,
7375         Fbackward_prefix_characters):
7376         * font-lock.c (find_context):
7377         Use them to instrument syntax caching. 
7378         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7379         syntax_cache_statistics_function_names): New type and variables.
7380         * syntax.c (update_syntax_cache): Update and report statistics.
7381
7382         [Major syntax cache optimizations]
7383
7384         syntax.c (lookup_syntax_properties): Default off.
7385
7386         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7387         * syntax.c (update_syntax_cache):
7388         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7389
7390         [Minor syntax cache optimizations and code clarifications]
7391
7392         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7393         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7394         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7395         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7396         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7397         (Code clarification.)
7398
7399         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7400         scan_lists): Compute code from syncode, use Boolean macros instead
7401         of redundant masking operations.  (Code clarification; any decent
7402         compiler can do this optimization.)
7403
7404         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7405         for clarity.
7406
7407         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7408         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7409         use F*_single_property_change instead of F*_extent_change.
7410         Currently F*_single_property_change is _much_ less efficient.
7411
7412         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7413         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7414         syntax_cache.object properly, don't leave Qt or Qnil.
7415         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7416         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7417         tests for Qt or Qnil.
7418
7419 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7420
7421         * redisplay.c (point_in_line_start_cache): 
7422         * extents.c (print_extent_1):
7423         Fix warnings.
7424
7425         * extents.c (Fset_extent_property): Document `syntax-table' property.
7426
7427         * extents.h (Fnext_single_property_change): EXFUN it.
7428
7429 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7430
7431         * search.c (clear_unused_search_regs): New static function.
7432         (search_buffer): 
7433         (simple_search): 
7434         (boyer_moore):
7435         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7436         Minor clarifications in comments.
7437
7438         * regex.c (re_match_2_internal): Ensure no stale submatches.
7439
7440 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7441
7442         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7443
7444 2002-08-29  Jerry James  <james@xemacs.org>
7445
7446         * lisp.h: structrures -> structures.
7447
7448 2002-06-03  Andy Piper  <andy@xemacs.org>
7449
7450         * frame.c (frame_conversion_internal): add conversion appropriate
7451         for setting frame dimensions in pixels.
7452
7453         * console.h (struct console_methods): add device-specific widget
7454         layout functions.
7455
7456         * emacs.c (main_1): initialize glyph vars.
7457
7458         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7459         (handle_focus_event_2): new function. Allow focus to
7460         be set to a particular window and widget.
7461         (enqueue_focus_event): new function. Create a
7462         synthetic focus event.
7463         (emacs_Xt_handle_magic_event): call
7464         handle_focus_event_2.
7465
7466         * frame.c (Fset_frame_pixel_height): new function. Allow
7467         pixel-based sizing. Does the right thing on character-oriented
7468         displays.
7469         (Fset_frame_pixel_width): ditto.
7470         (Fset_frame_pixel_size): ditto.
7471         (syms_of_frame): declare.
7472
7473         * general-slots.h: add :vertically-justify and
7474         :horizontally-justify.
7475
7476         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7477         (mswindows_widget_border_width): new function.
7478         (mswindows_combo_box_instantiate): set border widths.
7479         (console_type_create_glyphs_mswindows): declare.
7480
7481         * glyphs-widget.c:
7482         (check_valid_justification): allow vertical and horizontal
7483         justification.
7484         (widget_border_width): new function. Call device methods.
7485         (widget_instance_border_width): ditto.
7486         (logical_unit_height): new function. Determine the height of a
7487         logical-unit. Logical units are intended to provide grid-like
7488         layout for subcontrols in a layout. If the layout is
7489         :vertically-justify top then subcontrols will be positioned on
7490         logical-unit boundaries, thus allowing adjacent subcontrols to
7491         line up.
7492         (widget_logical_unit_height): ditto for widgets.
7493         (redisplay_widget): misc cleanup.
7494         (widget_spacing): new function. Call device specific
7495         methods. Intended to be the default gap between adjacent widgets.
7496         (widget_query_geometry): use new spacing functions to determine
7497         appropriate geometry.
7498         (initialize_widget_image_instance): initialize horizontal and
7499         vertical justification.
7500         (widget_instantiate): use logica-units where appropriate for
7501         sizing large widgets.
7502         (button_query_geometry): use widget_instance_border_width.
7503         (tree_view_query_geometry): ditto.
7504         (tab_control_query_geometry): ditto.
7505         (edit_field_query_geometry): new function.
7506         (layout_update): pick up :justify, :horizontally-justify and
7507         :vertically-justify none of which worked previously. :justify is
7508         used as a fallback for both horizontal and vertical justification.
7509         (layout_query_geometry): use logical units to size appropriately.
7510         (layout_layout): ditto.
7511         (Fwidget_logical_to_character_width): new function. Allow users to
7512         convert from logical units to characters so that frame sizes can
7513         be set appropriately.
7514         (Fwidget_logical_to_character_height): ditto.
7515         (syms_of_glyphs_widget): declare.
7516         (image_instantiator_edit_fields): add edit_field_query_geometry.
7517         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7518         :horizontally-justify.
7519         (specifier_vars_of_glyphs_widget): new function. Declare
7520         Vwidget_border_width which is not yet used.
7521
7522         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7523         (x_widget_border_width): new function.
7524         (x_widget_instantiate): create a sensible name for widgets.
7525         (console_type_create_glyphs_x): declare x_widget_border_width.
7526
7527         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7528         (struct Lisp_Image_Instance): add :vertically-justify and
7529         :horizontally-justify.
7530         (LAYOUT_JUSTIFY_TOP): new.
7531         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7532         (ROUND_UP): new macro. Round argument up to next integral
7533         interval.
7534
7535         * redisplay-output.c (redisplay_output_layout): misc formatting.
7536
7537         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7538
7539 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7540
7541         * XEmacs 21.4.9 "Informed Management" is released.
7542
7543 2002-08-19  Andy Piper  <andy@xemacs.org>
7544
7545         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7546         win32 format.
7547
7548         * realpath.c (xrealpath): normalize drive spec also so that dir
7549         sep chars are not mixed on cygwin.
7550
7551 2002-08-06  Jerry James  <james@xemacs.org>
7552
7553         * window.c (Fsplit_window): Count only half of the divider width
7554         against the left window when splitting horizontally. 
7555
7556 2002-06-24  Andy Piper  <andy@xemacs.org>
7557
7558         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7559         toolbar was cleared.
7560
7561         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7562         function. Split out from mswindows_output_frame_toolbars.
7563         (mswindows_output_frame_toolbars): move clear pieces to
7564         mswindows_output_frame_toolbars.
7565
7566         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7567         out from gtk_output_frame_toolbars.
7568         (gtk_output_frame_toolbars): move clear pieces to
7569         gtk_clear_frame_toolbars.
7570
7571         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7572         the frame is cleared. How this ever worked before is a mystery.
7573         (x_output_frame_toolbars): Only output toolbars.
7574         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7575
7576         * gutter.c (update_gutter_geometry):
7577         Mark frame layout changed.
7578         (update_frame_gutter_geometry, update_frame_gutters):
7579         Respect frame_layout_changed.
7580
7581         * console.h (struct console_methods): add
7582         clear_frame_toolbars_method.
7583
7584         * redisplay.c (redisplay_frame): call
7585         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7586
7587         * toolbar.h: declare update_frame_toolbars_geometry.
7588
7589         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7590         out from update_frame_toolbars.  Call clear_frame_toolbars.
7591         (update_frame_toolbars): only output, do not change geometry.
7592
7593         * redisplay.c: add frame_layout_changed.
7594
7595         * redisplay.h: add frame_layout_changed.
7596         (CLASS_RESET_CHANGED_FLAGS): set it.
7597         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7598         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7599         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7600
7601         * device.h (struct device): add frame_layout_changed.
7602         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7603
7604         * frame.h (struct frame): add frame_layout_changed.
7605         (MARK_FRAME_LAYOUT_CHANGED): new.
7606
7607 2002-06-30  Mike Alexander  <mta@arbortext.com>
7608
7609         * event-msw.c (mswindows_need_event): Don't wait for a new message
7610         if the queue is not empty.  Suggested by Paul Moore.
7611
7612 2002-06-12  Andy Piper  <andy@xemacs.org>
7613
7614         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7615         for printing on accurately.
7616
7617 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7618
7619         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7620         WM_ACTIVATE message. Make sure that the frame is visible if the
7621         window is visible. This seemss to fix the problem where XEmacs
7622         appears to freeze after switching desktops with certain virtual
7623         window managers.
7624         (debug_output_mswin_message): Added code to output message
7625         parameters for WM_WINDOWPOSCHANGED, 
7626         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7627
7628 2002-05-25  Andy Piper  <andy@xemacs.org>
7629
7630         * select-x.c (vars_of_select_x): Fix docstring of
7631         x-selection-strict-motif-ownership
7632
7633 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7634
7635         * keymap.c (get_keymap):
7636         Add comment about do_autoload GCPROs own args.
7637
7638 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7639
7640         * bytecode.c (execute_optimized_program): check_opcode ifdef
7641         ERROR_CHECK_BYTE_CODE.
7642
7643 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7644
7645         Thanks to Ben Wing and Michael Sperber.
7646
7647         * eval.c (Fcommand_execute):
7648         (Feval):
7649         (Ffuncall):
7650         (Fmacroexpand_internal):
7651         (function_argcount):
7652         callint.c (Fcall_interactively):
7653         Add comment about do_autoload GCPROs own args.
7654
7655         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7656
7657         * eval.c (Ffuncall): Extra braces to placate GCC.
7658
7659 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7660
7661         * backtrace.h (grow_specpdl):
7662         (SPECPDL_RESERVE):
7663         * EmacsFrame.c (EmacsFrameSetValues):
7664         * eval.c (grow_specpdl):
7665         * ExternalShell.c (hack_event_masks_1):
7666         * glyphs-x.c (convert_EImage_to_XImage): 
7667         (x_finalize_image_instance):
7668         * ralloc.c (page_size):
7669         (r_alloc_sbrk):
7670         * xgccache.c (gc_cache_hash):
7671         Fix unsigned comparison warnings.
7672
7673 2002-07-29  Jerry James  <james@xemacs.org>
7674
7675         * lread.c (locate_file): Any nonnegative return value indicates
7676         success if MODE is nonnegative.
7677
7678 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7679
7680         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7681         argument. 
7682
7683 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7684
7685         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7686
7687         * dumper.c (pdump_get_indirect_count):
7688         (pdump_scan_by_alignment):
7689         (pdump_dump_root_struct_ptrs):
7690         (pdump_dump_rtables):
7691         (pdump_dump_root_objects):
7692         (pdump):
7693         * nas.c (WaveOpenDataForReading):
7694         * fns.c (print_bit_vector):
7695         * font-lock.c (SINGLE_SYNTAX_STYLE):
7696         * glyphs.c (check_for_ignored_expose):
7697         (find_matching_subwindow):
7698         * glyphs-eimage.c:
7699         * imgproc.c (get_histogram):
7700         * redisplay.c (point_in_line_start_cache):
7701         * redisplay-output.c (redisplay_unmap_subwindows):
7702         * symbols.c (defsymbol_massage_name_1):
7703         (defkeyword_massage_name):
7704         (deferror_massage_name_and_message):
7705         * redisplay-x.c (x_output_string): 
7706         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7707         * frame.h (struct frame):
7708         * filelock.c (current_lock_owner):
7709         * doprnt.c (emacs_doprnt_1):
7710         * lisp.h (struct Lisp_Bit_Vector):
7711         (DO_REALLOC):
7712         Fix warnings.
7713
7714 2002-02-13  Ben Wing  <ben@xemacs.org>
7715
7716         * event-stream.c (reset_key_echo):
7717         * event-stream.c (reset_this_command_keys):
7718         * event-stream.c (execute_command_event):
7719         If console is dead as a result of C-x 5 0, then post-command stuff
7720         needs to be careful and do only non-console-specific stuff.
7721
7722 2002-07-01  Mike Sperber <mike@xemacs.org>
7723
7724         * process-unix.c (unix_send_process): Mark coding_outstream as
7725         non-open upon SIGPIPE.
7726
7727         * event-stream.c (Fnext_event): Reorder switch cases to something
7728         that makes sense.
7729
7730 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7731
7732         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7733         Don't bogusly reinitialize ascii_character property.
7734
7735 2002-07-08  Mike Sperber <mike@xemacs.org>
7736
7737         * process.c (Fstart_process_internal): Do error checking before we
7738         fork off the child, so the child can't muck with the state of the
7739         parent.
7740
7741 2002-07-08  Mike Sperber <mike@xemacs.org>
7742
7743         * ralloc.c (init_ralloc): Allocate properly for pdump.
7744
7745 2002-06-12  Andy Piper  <andy@xemacs.org>
7746
7747         * glyphs.c (query_string_geometry): check the string.
7748
7749         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7750         widget names.
7751
7752 2002-06-17  Jerry James  <james@xemacs.org>
7753
7754         * sysdll.c: Remove RTLD_GLOBAL initialization.
7755         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7756
7757 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7758
7759         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7760
7761 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7762
7763         * sysdep.c (sys_rename): Make sys_rename work for the case where
7764         Windows rename sets errno to EACCES if target file exists.
7765
7766 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7767
7768         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7769         Fix detection of metric units to work on Win95
7770
7771 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7772
7773         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7774
7775 2002-04-25  Andy Piper  <andy@xemacs.org>
7776
7777         * redisplay.c (create_text_block): Remove extra comment trailer.
7778
7779 2002-04-24  Andy Piper  <andy@xemacs.org>
7780
7781         * redisplay.c (create_text_block): Don't actually add propagation
7782         data if the line ends after we have added a glyph.
7783
7784 2002-04-22  Andy Piper  <andy@xemacs.org>
7785
7786         * extents.c (extent_fragment_update): check for glyphs we have
7787         previously displayed.
7788         * extents.c (print_extent_1): warning removal.
7789         * extents.h: change prototype.
7790         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7791         widths correctly for wide glyphs.
7792         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7793         * redisplay.c (prop_type): add PROP_GLYPH.
7794         * redisplay.c (struct prop_block): add glyph type
7795         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7796         to the propagation data.
7797         * redisplay.c (create_text_block): if there is a glyph in the
7798         propagation data use it to salt extent_fragment_update.
7799         * redisplay.c (create_string_text_block): ditto.
7800
7801 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7802
7803         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7804         * redisplay-output.c (compare_runes): Compare them.
7805         * redisplay.c: Update copyright date.
7806         * redisplay.c (pos_data): Add need_baseline_computation field.
7807         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7808         need_baseline_computation; zero yoffset. Set max_pixmap_height
7809         for all pixmaps, not just automatically positioned ones.
7810         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7811         * redisplay.c (calculate_baseline): New, compute textual baseline.
7812         * redisplay.c (add_glyph_rune): Call them.
7813         * redisplay.c (create_text_block): Likewise.
7814         * redisplay.c (create_overlay_glyph_block): Likewise.
7815         * redisplay.c (add_margin_runes): Likewise.
7816         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7817
7818         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7819         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7820         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7821         * redisplay-msw.c (mswindows_output_string): Likewise.
7822         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7823         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7824         * redisplay-x.c (x_output_display_block): Likewise.
7825
7826 2002-03-28  Ben Wing  <ben@xemacs.org>
7827
7828         * redisplay.c: Fixed bug in redisplay
7829         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7830         and down of the lines, since they're bigger than the line
7831         size. (It was seen most obviously when there's a horizontal scroll
7832         bar, e.g. do C-h a glyph or something like that.) The problem was
7833         that the glyph-contrib-p setting on glyphs was ignored even if it
7834         was set properly, which it wasn't until now.
7835
7836 2002-04-24  Andy Piper  <andy@xemacs.org>
7837
7838         * lisp.h (Dynarr_end): Fix definition.
7839
7840 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7841
7842         * redisplay.c (mark_redisplay): Remove call to
7843         update_frame_window_mirror.
7844
7845 2001-11-15  Andy Piper  <andy@xemacs.org>
7846
7847         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7848         cygwin (again).
7849
7850 2002-02-13  Andy Piper  <andy@xemacs.org>
7851
7852         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7853         we did in fact enqueue the XM_MAPFRAME event.
7854
7855 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7856
7857         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7858         to fix problem switching between virtual desktops under virtuawin
7859         virtual window manager.
7860
7861 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7862
7863         * event-msw.c: Typo fix.
7864         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7865         magic XM_MAPFRAME event has been sent.
7866
7867 2001-11-23  Andy Piper  <andy@xemacs.org>
7868
7869         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7870
7871 2001-11-21  Andy Piper  <andy@xemacs.org>
7872
7873         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7874         mouse events outside the frame.
7875
7876 2002-03-20  Andy Piper  <andy@xemacs.org>
7877
7878         * menubar-msw.c (mswindows_popup_menu): warning removal.
7879         * dialog-msw.c (dialog_popped_down): ditto.
7880
7881 2001-12-11  Andy Piper  <andy@xemacs.org>
7882
7883         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7884         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7885         popup_up_p.
7886         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7887         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7888         * menubar-msw.c (mswindows_popup_menu): ditto.
7889
7890 2001-10-29  Andy Piper  <andy@xemacs.org>
7891
7892         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7893         cancels.
7894
7895 2002-01-03  Andy Piper  <andy@xemacs.org>
7896
7897         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7898         letters.
7899         (xrealpath): ditto.
7900
7901 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7902
7903         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7904         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7905         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7906         Detect and handle case where machine is set up for metric units
7907
7908 2002-04-02  Andy Piper  <andy@xemacs.org>
7909
7910         * dired-msw.c (mswindows_get_files): 
7911         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7912         completely handled by XEmacs. Suggested by Thomas Vogler
7913         <mail@thomas-vogler.de>.
7914
7915 2001-11-14  Andy Piper  <andy@xemacs.org>
7916
7917         * nt.c (REG_ROOT): change registry key to XEmacs.
7918
7919 2002-04-27  Andy Piper  <andy@xemacs.org>
7920
7921         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7922
7923 2002-04-26  Andy Piper  <andy@xemacs.org>
7924
7925         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7926         behavior.
7927
7928 2002-03-14  Mike Alexander  <mta@arbortext.com>
7929
7930         * event-msw.c (mswindows_unwait_process): New, remove process from
7931         wait list
7932         * process-nt.c (nt_finalize_process_data): Call
7933         mswindows_unwait_process
7934         * console-msw.h: Declare mswindows_unwait_process
7935
7936 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7937
7938         * editfns.c (Fdecode_time):
7939         (Fformat_time_string):
7940         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7941         (make_time): Warning elimination (change arg name).
7942
7943 2001-11-24  Andy Piper  <andy@xemacs.org>
7944
7945         * window.c (Fsplit_window): Doc return type.
7946
7947 2002-04-01  Andy Piper  <andy@xemacs.org>
7948
7949         * emacs.c (Fkill_emacs): Only output message box in interactive
7950         mode.
7951
7952 2002-04-26  Andy Piper  <andy@xemacs.org>
7953  
7954         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7955         cygwin.
7956
7957 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7958
7959         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7960         bit platform.
7961
7962 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7963
7964         * XEmacs 21.4.8 "Honest Recruiter" is released.
7965
7966 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7967
7968         Supersedes 2002-04-17 patch.
7969
7970         * process.h (PROCESS_LIVE_P): Use the process status as
7971         evidence of health, not the state of the input stream.
7972         (PROCESS_READABLE_P): Say if the process is readable
7973         from. (It may be dead nonetheless.)
7974         (CHECK_READABLE_PROCESS): Test for that condition.
7975
7976         * process.c (create_process): Use PROCESS_READABLE_P.
7977         (read_process_output, set_process_filter): Likewise.
7978
7979         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7980         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7981
7982         This code is #if 0'd, this is not the time to add new functions:
7983
7984         * process.c (Fprocess_readable_p): Report readability status.
7985         * process.c (Qprocess_readable_p): New, associated symbol...
7986         * process.c (syms_of_process): ... initialize it.
7987
7988 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7989
7990         * XEmacs 21.4.7 "Economic Science" is released.
7991
7992 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7993
7994         * process.h (PROCESS_LIVE_P): Use the process status as
7995         evidence of health, not the state of the input stream.
7996
7997 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7998
7999         * sysdep.c (sys_siglist): change "signum" to "signal"
8000
8001 2001-04-21  Martin Buchholz  <martin@xemacs.org>
8002
8003         * s/darwin.h: New file.
8004         Thanks to Greg Parker <gparker@cs.stanford.edu>.
8005         
8006 2002-04-23  Andreas Jaeger  <aj@suse.de>
8007
8008         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
8009         which use lib64 for 64-bit libs.
8010         (START_FILES): Likewise.
8011
8012 2002-02-11  Mike Sperber  <mike@xemacs.org>
8013
8014         * device-x.c: 
8015         (x_IO_error_handler):
8016         (x_init_device): Temporarily keep device in static variable
8017         `device_being_initialized' so we can recover gracefully from
8018         internal XOpenDevice failure.  (XOpenDevice is documented to
8019         return NULL on failure, but sometimes calls the IO error handler
8020         instead.)
8021
8022 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8023
8024         * dired.c (Ffile_name_all_completions): Change documentation --
8025         remove reference to completion-ignored-extensions.
8026         * dired.c (vars_of_dired): Change documentation for
8027         completion-ignored-extensions -- remove reference to
8028         file-name-all-completions.
8029
8030 2002-03-06  Jerry James  <james@xemacs.org>
8031
8032         * emodules.c (emodules_load): Fix multiple loading of same module.
8033
8034 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8035         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8036         RTLD_LAZY to avoid incorrect symbol binding when using nested
8037         shared libraries on Solaris.
8038
8039 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8040
8041         * fileio.c (Ffind_file_name_handler): Improve docstring.
8042
8043 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8044
8045         * fns.c (Fmapconcat): Improve docstring.
8046
8047 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8048
8049         * device-gtk.c: Add prototype for
8050         emacs_gtk_selection_clear_event_handle.
8051         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8052         selection.  Setup signal handler for "selection_clear_event"
8053         (emacs_gtk_selection_clear_event_handle).
8054
8055         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8056         other applications owning the clipboard (based on
8057         x_handle_selection_clear).
8058
8059 2001-12-23  William M. Perry  <wmperry@gnu.org>
8060
8061         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8062         
8063 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8064
8065         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8066
8067 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8068
8069         * XEmacs 21.4.6 "Common Lisp" is released.
8070
8071 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8072
8073         * search.c (Freplace_match): Add missing sub-expression functionality.
8074
8075         * buffer.c (decode_buffer): Add a check for pointer type to
8076         decode_buffer, before gcc's CSE optimization reorders a
8077         dereference in front of the allow_string test.
8078
8079 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8080
8081         * window.c (window_loop): Fix bug that sometimes prevented
8082         window_loop() from iterating across multiple devices.  Also, at
8083         Ben's request, changed infloop-detecting code to abort() instead
8084         of silently terminating window_loop().
8085
8086 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8087
8088         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8089         * editfns.c (make_time): New function.
8090         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8091         * lisp.h (make_time): Prototype and comment it.
8092         * dired.c (wasteful_word_to_lisp): Deprecate.
8093         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8094
8095 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8096
8097         * fileio.c (auto_save_1): Use current coding system, not
8098         escape-quoted.
8099
8100 2001-11-13  Ben Wing  <ben@xemacs.org>
8101
8102         * window.c:
8103         * window.c (window_truncation_on):
8104         * window.c (syms_of_window):
8105         truncate-partial-width-windows should respect the buffer being
8106         displayed, like other redisplay vars.
8107
8108 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8109
8110         * event-stream.c (Fread_key_sequence): save current buffer.
8111
8112 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8113
8114         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8115
8116 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8117
8118         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8119
8120 2001-10-26  Mike Alexander  <mta@arbortext.com>
8121
8122         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8123
8124 2001-10-25  Andy Piper  <andy@xemacs.org>
8125
8126         * ChangeLog:
8127         * dialog-msw.c (handle_directory_proc): new function.
8128          (handle_directory_dialog_box): new fucntion.
8129          (handle_file_dialog_box): use new directory dialog support.
8130          (mswindows_make_dialog_box_internal): ditto.
8131         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8132         handling.
8133         (mswindows_find_frame): make global.
8134         * fileio.c (Fexpand_file_name): build fix.
8135         * general-slots.h: add Qdirectory.
8136         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8137         handling.
8138         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8139         cygwin not leaving win32 paths unchanged.
8140         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8141         cygwin runtime to do path conversion.
8142         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8143         (syms_of_win32): add new function.
8144         * window.c (window_loop): build fix.
8145
8146 2001-10-15  Andy Piper  <andy@xemacs.org>
8147
8148         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8149
8150 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8151
8152         * XEmacs 21.4.5 "Civil Service" is released.
8153
8154 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8155
8156         * glyphs-x.c: Force buffer-tab highlight update when moving the
8157         buffer, avoiding an ugly black border, used for keyboard focus
8158         indication, on a widget that can never have keyboard focus, the
8159         buffer tab.
8160
8161 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8162
8163         * process-unix.c (unix_open_multicast_group): Remove too much
8164         conversion between host and network byte order.
8165
8166 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8167
8168         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8169         before replacing them.
8170
8171         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8172         operation.
8173
8174         * src/window.c (undedicate_windows): Use it.
8175         * src/window.h: Add prototype.
8176
8177 2001-09-17  Ben Wing  <ben@xemacs.org>
8178
8179         * fileio.c (normalize_filename):
8180         * fileio.c (Fexpand_file_name):
8181         Fix various C++ compile errors in Andy's recent code.
8182         
8183         * callint.c (Fcall_interactively):
8184         * editfns.c (Ftemp_directory):
8185         * editfns.c (Fuser_full_name):
8186         * emacs.c (argmatch):
8187         * lread.c (locate_file_map_suffixes):
8188         * redisplay-x.c (x_ring_bell):
8189         Fix sign-compare warnings.
8190         
8191 2001-09-08  Andy Piper  <andy@xemacs.org>
8192
8193         * fileio.c (normalize_filename): copied from nt.c
8194         * (Ffile_name_directory): enable win32 paths under cygwin.
8195         * (Ffile_name_nondirectory): ditto.
8196         * (directory_file_name): ditto.
8197         * (Fexpand_file_name): ditto.
8198         * (Ffile_truename): ditto.
8199         * (Fsubstitute_in_file_name): ditto.
8200         * (Ffile_name_absolute_p): ditto.
8201         * (Ffile_readable_p): ditto.
8202
8203 2001-09-08  Andy Piper  <andy@xemacs.org>
8204
8205         * device-msw.c (mswindows_finish_init_device): remove dde
8206         initialization.
8207         * device-msw.c (mswindows_init_dde): factor out from
8208         mswindows_finish_init_device()
8209         * device-msw.c (init_mswindows_very_early): new function
8210         initialize but don't enable dde.
8211         * emacs.c (main_1): call init_mswindows_very_early.
8212         * event-msw.c:
8213         * event-msw.c (mswindows_dde_callback): only execute when we are
8214         ready.
8215         * symsinit.h: declare init_mswindows_very_early.
8216
8217 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8218
8219         [sjt: This has been in 21.5 for months with no complaints.]
8220
8221         * console.h (struct console_methods): Added flags member.
8222         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8223         (CONMETH_IMPL_FLAG):
8224         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8225         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8226
8227         * device.c (window_system_pixelated_geometry): Use the above macros.
8228
8229         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8230         implememntation flag.
8231         * device.h (DEVICE_DISPLAY_P): Use it.
8232
8233         * frame.c (delete_frame_internal): Use the above macro.
8234
8235         * redisplay.c (redisplay_device): Use it.
8236         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8237         (redisplay_frame): Ditto.
8238
8239         * device-msw.c (mswindows_device_implementation_flags): Removed.
8240         (msprinter_device_implementation_flags): Removed.
8241         (console_type_create_device_mswindows): Removed references to
8242         implementation_flags methods, set implementation flags here.
8243         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8244
8245         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8246         (console_type_create_device_gtk): Removed method declaration.
8247         Added commented out statement which semantically matches the
8248         commented out statement in the above removed method.
8249
8250 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8251
8252         The attached patch fixes a few warnings. 
8253
8254         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8255         * src/frame-gtk.c: guard against GNOME calls in GTK only
8256         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8257         * src/select-gtk.c: prototype lisp_to_time
8258
8259 2001-06-08  Ben Wing  <ben@xemacs.org>
8260
8261         ------ gc-in-window-procedure fixes ------
8262         
8263         * alloc.c:
8264         * alloc.c (struct post_gc_action):
8265         * alloc.c (register_post_gc_action):
8266         * alloc.c (run_post_gc_actions):
8267         * alloc.c (garbage_collect_1):
8268         Create "post-gc actions", to avoid those dreaded "GC during window
8269         procedure" problems.
8270
8271         * event-msw.c:
8272         Abort, clean and simple, when GC in window procedure.  We want
8273         to flush these puppies out.
8274
8275         * glyphs-msw.c:
8276         * glyphs-msw.c (finalize_destroy_window):
8277         * glyphs-msw.c (mswindows_finalize_image_instance):
8278         Use a post-gc action when destroying subwindows.
8279
8280         * lisp.h:
8281         Declare register_post_gc_action().
8282
8283         * scrollbar-msw.c:
8284         * scrollbar-msw.c (unshow_that_mofo):
8285         Use a post-gc action when unshowing scrollbar windows, if in gc.
8286
8287         * redisplay.c (mark_redisplay):
8288         Add comment about the utter evilness of what's going down here.
8289
8290         ------ cygwin setitimer fixes ------
8291         
8292         * Makefile.in.in (sheap_objs):
8293         * Makefile.in.in (profile_objs):
8294         * Makefile.in.in (objs):
8295         Compile profile.c only when HAVE_SETITIMER.
8296         
8297         * nt.c (mswindows_sigset):
8298         * nt.c (mswindows_sighold):
8299         * nt.c (mswindows_sigrelse):
8300         * nt.c (mswindows_sigpause):
8301         * nt.c (mswindows_raise):
8302         * nt.c (close_file_data):
8303         Style fixes.
8304         
8305         * nt.c:
8306         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8307         
8308         * profile.c:
8309         * profile.c (Fstart_profiling):
8310         * profile.c (Fstop_profiling):
8311         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8312         instead of just plain setitimer().
8313         
8314         * signal.c:
8315         * signal.c (set_one_shot_timer):
8316         * signal.c (alarm):
8317         Define qxe_setitimer() as an encapsulation around setitimer() --
8318         call setitimer() directly unless Cygwin or MS Win, in which case
8319         we use our simulated version in win32.c.
8320         
8321         * systime.h:
8322         * systime.h (struct itimerval):
8323         * systime.h (ITIMER_REAL):
8324         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8325         comment about "qxe" and the policy regarding encapsulation.
8326
8327         * win32.c:
8328         * win32.c (setitimer_helper_proc):
8329         * win32.c (setitimer_helper_period):
8330         * win32.c (setitimer_helper):
8331         * win32.c (mswindows_setitimer):
8332         Move setitimer() emulation here, so Cygwin can use it.
8333         Rename a couple of functions and variables to be longer and more
8334         descriptive.  In setitimer_helper_proc(), send the signal
8335         using either mswindows_raise() or (on Cygwin) kill().  If for
8336         some reason we are still getting lockups, we'll change the kill()
8337         to directly invoke the signal handlers.
8338
8339         ------ windows shell fixes ------
8340         
8341         * callproc.c:
8342         * ntproc.c:
8343         Comments about how these two files must die.
8344
8345         * callproc.c (init_callproc):
8346         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8347         not just COMSPEC. (more correct and closer to FSF.) Don't
8348         force a value for SHELL into the environment. (Comments added
8349         to explain why not.)
8350         
8351         * nt.c (init_user_info):
8352         Don't shove a fabricated SHELL into the environment.  See above.
8353
8354 2001-06-01  Ben Wing  <ben@xemacs.org>
8355
8356         * Makefile.in.in (ldflags):
8357         eliminate that pesky "defaulting to 00401000" warning.
8358         * nt.h:
8359         eliminate warnings.
8360
8361 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8362
8363         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8364         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8365
8366 2001-04-24  Jerry James <james@xemacs.org>
8367
8368         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8369         correct order.
8370
8371 2001-06-01  Ben Wing  <ben@xemacs.org>
8372
8373         * event-msw.c (debug_mswin_messages):
8374         conditionalize the messages that were causing compile errors.
8375         (if only macros could generate #ifdef statements ...)
8376
8377 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8378
8379         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8380
8381 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8382
8383         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8384
8385 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8386
8387         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8388         * process-unix.c (unix_canonicalize_host_name):
8389         sysdep.c (init_system_name):
8390         Use it to conditionally support IPv6 canonicalization.
8391
8392 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8393
8394         * event-msw.c:
8395         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8396
8397 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8398
8399         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8400         attempt is made to scroll when no scroll bar is available.
8401
8402 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8403
8404         * input-method-motif.c (XIM_delete_frame): New callback.
8405         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8406         got deleted from 21.4.3.)
8407
8408 2001-06-01  Ben Wing  <ben@xemacs.org>
8409
8410         * nt.c (mswindows_utime):
8411         * nt.c (close_file_data):
8412         fix off-by-one-indirection error.
8413
8414 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8415
8416         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8417         because set_file_times() now takes Lisp_Object path, instead of
8418         char*.
8419         * nt.c: Include buffer.h.
8420         * nt.c (convert_from_time_t): New.
8421         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8422         not set mtime correctly.
8423         * nt.h: Declare mswindows_utime().
8424         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8425         path, instead of char*.
8426         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8427
8428 2001-05-30  Ben Wing  <ben@xemacs.org>
8429
8430         For 21.4:
8431
8432         (Stephen, just take all event-msw.c patches.  This includes
8433         the "iconify" fix below.)
8434
8435         * event-msw.c:
8436         * event-msw.c (mswindows_dequeue_dispatch_event):
8437         * event-msw.c (assert):
8438         * event-msw.c (emacs_mswindows_quit_p):
8439         * event-msw.c (debug_mswin_messages):
8440         * event-msw.c (debug_output_mswin_message):
8441         * event-msw.c (vars_of_event_mswindows):
8442         Fix yet more problems with C-g handling.
8443         Implement debug-mswindows-events.
8444         
8445 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8446
8447         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8448         
8449 2001-05-23  Ben Wing  <ben@xemacs.org>
8450
8451         * event-msw.c (winsock_writer):
8452         * event-msw.c (winsock_closer):
8453         prior kludgy code was clobbering the buffer, thinking it was
8454         "unused" space to store an unneeded return value; instead, use
8455         the variable we've already got staring us in the face.
8456
8457 2001-05-17  Andy Piper  <andy@xemacs.org>
8458
8459         * sysfile.h: don't assume that file attributes are boolean
8460
8461 2001-05-23  Ben Wing  <ben@xemacs.org>
8462
8463         * device-msw.c (msprinter_init_device):
8464         signal an error rather than crash with an unavailable network
8465         printer (from Mike Alexander).
8466         
8467         * event-msw.c:
8468         * event-msw.c (struct winsock_stream):
8469         * event-msw.c (winsock_writer):
8470         * event-msw.c (winsock_closer):
8471         * event-msw.c (make_winsock_stream_1):
8472         cleanup headers.  fix (hopefully) an error with data corruption
8473         when sending to a network connection.
8474
8475         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8476         to handle the ~user prefix by (a) always assuming we're referencing
8477         ourselves and not even verifying the user -- hence any file with
8478         a tilde as its first char is invalid! (b) if there wasn't a slash
8479         following the filename, the pointer was set *past* the end of
8480         file and we started reading from uninitialized memory.  Now we
8481         simply treat these as files, always.
8482
8483         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8484         
8485 2001-05-19  Ben Wing  <ben@xemacs.org>
8486
8487         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8488
8489         * process-nt.c:
8490         * process-nt.c (vars_of_process_nt):
8491         remove unused mswindows-quote-process-args.  rec for 21.4.
8492         
8493 2001-05-12  Ben Wing  <ben@xemacs.org>
8494
8495         * event-msw.c (mswindows_dde_callback):
8496         * event-msw.c (mswindows_wnd_proc):
8497         eliminate cygwin warnings.
8498
8499 2001-05-06  Ben Wing  <ben@xemacs.org>
8500
8501         * console-msw.h:
8502         * device-msw.c:
8503         * device-msw.c (print_dialog_worker):
8504         * device-msw.c (mswindows_handle_print_dialog_box):
8505         * device-msw.c (syms_of_device_mswindows):
8506         * dialog-msw.c (mswindows_make_dialog_box_internal):
8507         * general-slots.h:
8508         implement printing the selection when it's selected.
8509
8510 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8511
8512         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8513
8514 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8515
8516         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8517         EMACS_INT is signed.
8518
8519 2001-04-15  Michael Lausch  <mla@1012surf.net>
8520
8521         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8522         gtk_widget_request_size() to give scrollbar >0 width for
8523         GTK >1.2.8.
8524
8525 2001-05-30  William M. Perry  <wmperry@gnu.org>
8526
8527         * event-gtk.c: Check for buttons as modifier keys.
8528
8529 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8530
8531         * s\mingw32.h:
8532         Properly find MinGW's <process.h> inside Cygwin's restructured
8533         include directories.  Don't try to include <cygwin/version.h>
8534         since we are dropping support for MinGW in versions of Cygwin
8535         earlier than b21.
8536         * nt.c:
8537         Drop support for MinGW in versions of Cygwin before b21.
8538         * sysdep.c:
8539         Properly find MinGW's <process.h> inside Cygwin's restructured
8540         include directories.
8541         * syswindows.h:
8542         Drop support for MinGW in versions of Cygwin before b21.
8543         * unexcw.c:
8544         Even though a.out.h is no longer detected by configure, allow
8545         MinGW to use it until we figure out how to do the job with Win32.
8546
8547 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8548
8549         * syntax.c (find_start_of_comment):
8550         Fix `unbalanced parentheses' bug when dealing with mixed comment
8551         styles in c++/java/etc. mode
8552
8553 2001-05-29  Mike Alexander  <mta@arbortext.com>
8554
8555         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8556         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8557
8558 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8559
8560         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8561
8562 2001-03-31  Mike Sperber <mike@xemacs.org>
8563
8564         * search.c (Freplace_match): Support FSF-style specification of
8565         match subexpression when applied to a buffer.
8566
8567 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8568
8569         * event-stream.c (is_scrollbar_event): add missing semicolon
8570
8571 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8572
8573         * Makefile.in.in: Use TAR macro instead of hardcoding
8574           tar.  Allows use of GNU tar instead of system tar
8575
8576 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8577
8578         * event-stream.c (is_scrollbar_event): add missing semicolon
8579
8580 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8581
8582         * XEmacs 21.4.3 "Academic Rigor" is released.
8583
8584 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8585
8586         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8587
8588 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8589
8590         * buffer.c (Vcase_fold_search): Remove obsolete
8591           comment about non ASCII case-fold-search.  This
8592           bug has been fixed by case-table changes.
8593
8594 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8595
8596         * event-msw.c: Restore include of events-mod.h.
8597
8598 2001-04-22   zhaoway  <zw@debian.org>
8599
8600         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8601         !HAVE_SCROLLBARS.
8602
8603 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8604
8605         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8606
8607 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8608
8609         * mule-charset.c (Fmake_charset): Add missing else.
8610
8611 2001-04-23  Ben Wing  <ben@xemacs.org>
8612
8613         * event-msw.c (FAKE_MOD_QUIT):
8614         * event-msw.c (mswindows_dequeue_dispatch_event):
8615         * event-msw.c (mswindows_wnd_proc):
8616         * event-msw.c (emacs_mswindows_quit_p):
8617         Get critical quit working.
8618
8619 2001-05-05  Ben Wing  <ben@xemacs.org>
8620
8621         * console-msw.h:
8622         * device-msw.c:
8623         * device-msw.c (mswindows_get_default_margin):
8624         * frame-msw.c (mswindows_size_frame_internal):
8625         * frame-msw.c (msprinter_init_frame_1):
8626         * frame-msw.c (vars_of_frame_mswindows):
8627         Change top/bottom margin defaults to 0.5 inches.
8628
8629 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8630
8631         Fix link error with gcc 3.0 on Linux.
8632         * terminfo.c (UP): Remove.
8633         * terminfo.c (BC): Remove.
8634         * terminfo.c (PC): Remove.
8635         They weren't used, and in any case, these symbols should be
8636         defined in the *library*.
8637
8638 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8639
8640         * s/aix4.h: Fix crash with xlc -O3.
8641         Improve comment explaining how -O3 works.
8642
8643 2001-04-15  Ben Wing  <ben@xemacs.org>
8644
8645         * event-stream.c:
8646         * event-stream.c (Fnext_event):
8647         * event-stream.c (is_scrollbar_event):
8648         * event-stream.c (execute_command_event):
8649         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8650         crash' problem.  His fix introduces other problems.  We filter
8651         out scrollbar events specifically, making them somewhat invisible
8652         to command-building, and not appearing in `this-command-keys'.
8653         More work is still needed (see comments in event-stream.c), but
8654         this fixes all the major problems.
8655
8656 2001-04-20  Ben Wing  <ben@xemacs.org>
8657
8658         * .cvsignore: Added stuff for Windows.
8659
8660 2001-04-28  Ben Wing  <ben@xemacs.org>
8661
8662         * buffer.c (Ferase_buffer):
8663         * editfns.c (buffer_insert1):
8664         * editfns.c (Finsert_before_markers):
8665         * editfns.c (Finsert_string):
8666         * editfns.c (Finsert_char):
8667         * editfns.c (Fdelete_region):
8668         * editfns.c (Fwiden):
8669         * editfns.c (Fnarrow_to_region):
8670         remove bogus lines setting zmacs_region_stays to 0.
8671         
8672 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8673
8674         * process-unix.c (unix_open_network_stream): If connect() fails
8675         invalidate file descriptor after closing it.
8676
8677 2001-03-08  Mike Alexander  <mta@arbortext.com>
8678
8679         * event-msw.c (mswindows_need_event_in_modal_loop):
8680         Don't dispatch a message if we didn't get one.
8681         (mswindows_need_event):
8682         Terminate the correct process when one exits instead of the first
8683         one on Vprocess_list and look for process termination when in
8684         mswindows_protect_modal_loop.
8685
8686 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8687
8688         * XEmacs 21.4.1 "Copyleft" is released.
8689
8690 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8691
8692         * input-method-motif.c (XIM_delete_frame): New callback.
8693         (XIM_init_frame): Register it.
8694
8695 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8696
8697         * XEmacs 21.4.0 "Solid Vapor" is released.
8698
8699 2001-04-15  Ben Wing  <ben@xemacs.org>
8700
8701         * cmdloop.c (call_command_loop):
8702         Fix braino in bit-rotting code.
8703         
8704 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8705
8706         * extents.c (Fset_extent_endpoints): Force creation of extent info
8707         in buffer_or_string.
8708
8709         * extents.c (process_extents_for_insertion_mapper): Correctly
8710         check for open-open zero-length extents.
8711
8712 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8713
8714         * lisp.h: New typedefs Memory_count, Element_count.
8715         * regex.c:
8716         * regex.h:
8717         Sign-compare warning elimination: several unsigned -> signed.
8718         Based on work by Ben Wing <ben@xemacs.org>.
8719
8720 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8721
8722         * XEmacs 21.2.47 "Zephir" is released.
8723
8724 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8725
8726         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8727
8728 2001-04-03  Mike Sperber <mike@xemacs.org>
8729
8730         * search.c: Revert previous patch due because of release.
8731
8732 2001-03-30  Ben Wing  <ben@xemacs.org>
8733
8734         * s\cygwin32.h:
8735         Add missing killpg prototype.
8736
8737         * elhash.c:
8738         Add a comment about fixing problems when a new entry is added
8739         while mapping.
8740
8741         * frame-msw.c (mswindows_init_frame_1):
8742         Fix compile warnings.
8743
8744         * menubar.c (vars_of_menubar):
8745         Provide `menu-accelerator-support' to indicate that we properly
8746         support %_ in menu specifications, so that package code can
8747         conditionalize on this (and remove %_ from menu specifications
8748         on older versions).
8749
8750         * event-msw.c:
8751         * scrollbar-msw.c:
8752         * scrollbar-msw.c (can_scroll):
8753         * scrollbar-msw.h:
8754         Fix handling of mouse wheel under Windows to follow standards --
8755         now scrolls window under pointer, not selected window.
8756
8757 2001-03-31  Mike Sperber <mike@xemacs.org>
8758
8759         * search.c (Freplace_match): Support FSF-style specification of
8760         match subexpression when applied to a buffer.
8761
8762 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8763
8764         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8765         function to modify KEYMAP, so map over a copy of the hash table.
8766
8767 2001-03-21  Martin Buchholz <martin@xemacs.org>
8768
8769         * XEmacs 21.2.46 "Urania" is released.
8770
8771 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8772
8773         * realpath.c (xrealpath): Make file-truename work with symlinks to
8774         /cygdrive paths on cygwin. Always lowercase drive-letters on
8775         native windows.
8776         (cygwin_readlink): Don't try to find canonical filename unless
8777         file exists.
8778
8779 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8780
8781         * ChangeLog: Log GTK merge.
8782
8783         * dumper.c:
8784         * select-x.c:
8785         * specifier.c:
8786         * symeval.h:
8787         Revert gratuitous whitespace changes from GTK merge.
8788
8789         * emacs.c: Document end of complex #ifdef @ l. 1495.
8790
8791
8792 2001-03-12  Andy Piper  <andy@xemacs.org>
8793
8794         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8795         have to do likewise.
8796
8797 2001-03-12  Andy Piper  <andy@xemacs.org>
8798
8799         * sysdep.c: we only support mingw now.
8800
8801 2001-03-09  Andy Piper  <andy@xemacs.org>
8802
8803         * unexcw.c (copy_executable_and_dump_data_section): making approx
8804         overrun a warning only.
8805
8806 2001-03-10  William M. Perry  <wmperry@aventail.com>
8807
8808         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8809         satisfy Stephen's identical-after-cpp plea.
8810
8811 2001-03-02  Ben Wing  <ben@xemacs.org>
8812
8813         * cmds.c:
8814         * cmds.c (Fforward_char):
8815         * syntax.c:
8816         * window.c:
8817
8818         Augment documentation of the most common motion commands to make
8819         note of the shifted-motion support.
8820         
8821 2001-03-02  Ben Wing  <ben@xemacs.org>
8822
8823         * nt.c (mswindows_fstat):
8824         * nt.c (mswindows_stat):
8825         * search.c (boyer_moore):
8826         Fix compile warnings under Windows.
8827         
8828         * sysdep.c (sys_readdir):
8829         Fix buggy filename-conversion code under Mule.
8830
8831 2001-03-09  William M. Perry  <wmperry@aventail.com>
8832
8833         * Makefile.in.in:
8834         * config.h.in:
8835         * console.c:
8836         * console.h:
8837         * device.c:
8838         * device.h:
8839         * dragdrop.c:
8840         * emacs.c:
8841         * event-stream.c:
8842         * events.c:
8843         * events.h:
8844         * faces.c:
8845         * frame.h:
8846         * general-slots.h:
8847         * glyphs.c:
8848         * gutter.c:
8849         * inline.c:
8850         * lisp.h:
8851         * lrecord.h:
8852         * make-src-depend:
8853         * redisplay-output.c:
8854         * redisplay.c:
8855         * symsinit.h:
8856         * sysfile.h:
8857         * toolbar.c:
8858         * window.c:
8859         The Great GTK Merge.
8860
8861         * ChangeLog.GTK:
8862         * console-gtk.c:
8863         * console-gtk.h:
8864         * device-gtk.c:
8865         * emacs-marshals.c:
8866         * emacs-widget-accessors.c:
8867         * event-gtk.c:
8868         * frame-gtk.c:
8869         * gccache-gtk.c:
8870         * gccache-gtk.h:
8871         * glade.c:
8872         * glyphs-gtk.c:
8873         * glyphs-gtk.h:
8874         * gtk-glue.c:
8875         * gtk-xemacs.c:
8876         * gtk-xemacs.h:
8877         * gui-gtk.c:
8878         * gui-gtk.h:
8879         * menubar-gtk.c:
8880         * native-gtk-toolbar.c:
8881         * objects-gtk.c:
8882         * objects-gtk.h:
8883         * redisplay-gtk.c:
8884         * scrollbar-gtk.c:
8885         * scrollbar-gtk.h:
8886         * select-gtk.c:
8887         * toolbar-gtk.c:
8888         * ui-byhand.c:
8889         * ui-gtk.c:
8890         * ui-gtk.h:
8891         The Great GTK Merge: new files.
8892
8893 2001-02-26  Ben Wing  <ben@xemacs.org>
8894
8895         Reapplied Lstream change.
8896
8897 2001-02-26  Ben Wing  <ben@xemacs.org>
8898
8899         Undid the last change, since it is more controversial than I
8900         thought.  It should be back in at some point soon.
8901         
8902 2001-02-25  Ben Wing  <ben@xemacs.org>
8903
8904         * buffer.c:
8905         * callproc.c (Fold_call_process_internal):
8906         * event-msw.c (ntpipe_slurp_reader):
8907         * event-msw.c (ntpipe_shove_writer):
8908         * event-msw.c (winsock_reader):
8909         * event-msw.c (winsock_writer):
8910         * file-coding.c:
8911         * file-coding.c (detect_eol_type):
8912         * file-coding.c (detect_coding_type):
8913         * file-coding.c (determine_real_coding_system):
8914         * file-coding.c (Fdetect_coding_region):
8915         * file-coding.c (decoding_reader):
8916         * file-coding.c (decoding_writer):
8917         * file-coding.c (mule_decode):
8918         * file-coding.c (Fdecode_coding_region):
8919         * file-coding.c (encoding_reader):
8920         * file-coding.c (encoding_writer):
8921         * file-coding.c (mule_encode):
8922         * file-coding.c (Fencode_coding_region):
8923         * file-coding.c (detect_coding_sjis):
8924         * file-coding.c (decode_coding_sjis):
8925         * file-coding.c (encode_coding_sjis):
8926         * file-coding.c (detect_coding_big5):
8927         * file-coding.c (decode_coding_big5):
8928         * file-coding.c (encode_coding_big5):
8929         * file-coding.c (detect_coding_ucs4):
8930         * file-coding.c (decode_coding_ucs4):
8931         * file-coding.c (encode_coding_ucs4):
8932         * file-coding.c (detect_coding_utf8):
8933         * file-coding.c (decode_coding_utf8):
8934         * file-coding.c (encode_coding_utf8):
8935         * file-coding.c (detect_coding_iso2022):
8936         * file-coding.c (decode_coding_iso2022):
8937         * file-coding.c (encode_coding_iso2022):
8938         * file-coding.c (decode_coding_no_conversion):
8939         * file-coding.c (encode_coding_no_conversion):
8940         * glyphs-x.c (write_lisp_string_to_temp_file):
8941         * gpmevent.c (tty_get_foreign_selection):
8942         * lisp.h:
8943         * lstream.c:
8944         * lstream.c (Lstream_flush_out):
8945         * lstream.c (Lstream_adding):
8946         * lstream.c (Lstream_write_1):
8947         * lstream.c (Lstream_write):
8948         * lstream.c (Lstream_raw_read):
8949         * lstream.c (Lstream_read_more):
8950         * lstream.c (Lstream_read):
8951         * lstream.c (Lstream_unread):
8952         * lstream.c (Lstream_fputc):
8953         * lstream.c (stdio_reader):
8954         * lstream.c (stdio_writer):
8955         * lstream.c (filedesc_reader):
8956         * lstream.c (filedesc_writer):
8957         * lstream.c (lisp_string_reader):
8958         * lstream.c (struct fixed_buffer_stream):
8959         * lstream.c (make_fixed_buffer_input_stream):
8960         * lstream.c (make_fixed_buffer_output_stream):
8961         * lstream.c (fixed_buffer_reader):
8962         * lstream.c (fixed_buffer_writer):
8963         * lstream.c (struct resizing_buffer_stream):
8964         * lstream.c (resizing_buffer_writer):
8965         * lstream.c (dynarr_writer):
8966         * lstream.c (lisp_buffer_reader):
8967         * lstream.c (lisp_buffer_writer):
8968         * lstream.h:
8969         * lstream.h (lstream_implementation):
8970         * lstream.h (struct lstream):
8971         * md5.c (Fmd5):
8972         * process-nt.c (nt_send_process):
8973         * process-unix.c (unix_send_process):
8974         
8975         Correct Lstream lossage due to mixing of signed and unsigned
8976         quantities.  All Lstream uses of size_t and ssize_t are now a
8977         single signed data type Lstream_data_count.  This fixes problems
8978         under Windows with sending large quantities of data to a process,
8979         and may well fix other subtle bugs.
8980
8981 2001-02-23  Martin Buchholz <martin@xemacs.org>
8982
8983         * XEmacs 21.2.45 "Thelxepeia" is released.
8984
8985 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8986
8987         * lisp-union.h (XSETINT): 
8988         (XSETCHAR):
8989         (XSETOBJ): 
8990         Reverse previous change of 2001-02-06.
8991
8992 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8993
8994         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8995         buffers.
8996         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8997         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8998         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8999         * regex.c (POS_AS_IN_BUFFER): removed
9000         * regex.c (re_search_2):
9001         * regex.c (re_match_2):
9002         Don't use an offset of 1 when calculating buffer positions, since
9003         `BI_BUF_BEGV' does it already.
9004
9005 2001-02-18  Wim Dumon  <wim@easics.be>
9006
9007         * insdel.c (prepare_to_modify_buffer): Also check for
9008         supersession when clash-detection is enabled. 
9009
9010 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
9011
9012         * regex.c (re_match_2_internal):
9013         Convert temp characters from 'const unsigned char' to 're_char'.
9014         Fix crashing bug with extended characters under mule.
9015         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9016         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9017         font-lock, pdump, and new syntax-table code.
9018         * syntax.c (find_start_of_comment):
9019         (find_end_of_comment):
9020         (forward-comment):
9021         Fix crashing bugs involving moving beyond end of buffer.
9022         * syntax.c (find_start_of_comment):
9023         Fixed logic to allow proper detection of cases where the same
9024         character is used to end both a two-char comment start and a
9025         two-char comment end sequence. Fixes `(forward-comment -1)'.
9026         * syntax.c (find_start_of_comment):
9027         Return position just past last comment-end character for all cases
9028         (previously was only done for two-char comment-end sequences).
9029         * syntax.c (forward-comment):
9030         Take value returned from `find_end_of_comment', rather than
9031         incrementing it.
9032         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9033         Properly deal with BUFFERP (syntax_cache.object)
9034
9035 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9036
9037         * alloc.c (Fgarbage_collect): 
9038         * alloc.c (make_bit_vector_from_byte_vector):
9039         -Wsign-compare-correctness.
9040
9041 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9042
9043         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9044         (XSETCHAR): Likewise.
9045         (XSETOBJ): Likewise.
9046
9047 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9048
9049         * mule-canna.c (canna-func-delete_previous): 
9050         Rename to canna-func-delete-previous.
9051
9052 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9053
9054         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9055
9056 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9057
9058         * font-lock.c (find_context): Fix C++ compile errors introduced by
9059         recent patch
9060
9061 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9062
9063         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9064         pragma, but earlier ones barf on the same pragma.
9065
9066 2001-02-06  Mike Sperber <mike@xemacs.org>
9067
9068         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9069         `configure-mule-lisp-directory'.
9070
9071 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9072
9073         Make sure dump-id.c is compiled in the same way as other .c's.
9074         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9075         * dump-id.h: Remove.
9076         * emacs.c: Move dump-id.h into dumper.h.
9077         * dumper.h: Move dump-id.h into dumper.h.
9078         * Makefile.in.in:
9079         Use standard .c.o rule for building dump-id.o.
9080         Remove preprocessor flags from link command.
9081         Add dump-id.o to ${otherobjs} if PDUMP.
9082
9083 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9084
9085         Port FSF 20.7 syntax table improvements.
9086         * syntax.c.
9087         * syntax.h.
9088
9089         Fixups for new syntax table stuff.
9090         * dired.c: Include syntax.c.
9091         (Fdirectory_files): Initialize regex_match_object and
9092         regex_emacs_buffer.
9093         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9094         and Fget_char_property.
9095
9096         Use ported FSF 20.7 syntax table improvements.
9097         * font-lock.c.
9098         * regex.c.
9099         * search.c.
9100         
9101 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9102
9103         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9104         Unixware's enum boolean from sys/types.h.
9105
9106 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9107
9108         Fix support for building with latest Purify.
9109         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9110         (PURIFY_FLAGS): Likewise.
9111
9112 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9113
9114         * fileio.c (lisp_string_set_file_times): New.
9115         * fileio.c (Fcopy_file): Use it.
9116         Fixes bug:
9117         (copy-file filename non-ascii-filename t t)
9118         ==> No such file or directory, non-ascii-filename
9119
9120 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9121
9122         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9123         USHRT_MAX seems clearer than ~0 anyways.
9124
9125 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9126
9127         dumper improvements.  Inspired by Olivier.
9128         * dumper.c (pdump_max_align): New.
9129         * dumper.c (pdump_add_entry): Use pdump_max_align.
9130         * dumper.c (pdump_get_entry_list): Likewise.
9131         * dumper.c (pdump_scan_by_alignment): Likewise.
9132         Don't iterate through unnecessary alignments.
9133         * dumper.c (pdump_file_get): No need to align result of malloc().
9134         * dumper.c (pdump_mallocadr): Remove.  
9135         The result of malloc() is guaranteed to be maximally aligned.
9136         * dumper.c: s/elmt/elt/g;
9137         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9138         * dumper.c (pdump_alert_undump_object): Likewise.
9139         * dumper.c (pdump_align_table): 
9140         Don't support alignments > 64.
9141         Store ALIGNOF's, not shift counts, in table.
9142
9143 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9144
9145         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9146         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9147         * systime.h: Use HAVE_UTIME.
9148         * sysdep.c (struct utimbuf): Remove.
9149         * sysdep.c (set_file_times): Prefer utime() to utimes().
9150         * config.h.in (HAVE_UTIME): New.
9151         * config.h.in (HAVE_UTIME_H): Remove.
9152         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9153
9154 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9155
9156         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9157
9158 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9159
9160         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9161
9162 2001-02-08  Martin Buchholz <martin@xemacs.org>
9163
9164         * XEmacs 21.2.44 "Thalia" is released.
9165
9166 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9167
9168         Fixes crashes in kill-emacs on some systems.
9169         * process-unix.c (unix_kill_child_process):
9170         It's OK for kill() to fail with ESRCH.
9171
9172 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9173
9174         Contortions to make .gdbinit tricks work on most systems.
9175         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9176         * alloc.c (dbg_valmask): Make non-const.
9177         * alloc.c (dbg_typemask): Make non-const.
9178         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9179         * alloc.c (dbg_valbits): Make non-const.
9180         * alloc.c (dbg_gctypebits): Make non-const.
9181         * .gdbinit (decode_object): Make it work with AIX cc.
9182
9183 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9184
9185         * elhash.c (make_general_lisp_hash_table):
9186         Use simpler and more efficient calloc to clear entries.
9187
9188 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9189
9190         * window.c (window_scroll): Work around an AIX C compiler bug.
9191         Fixes 'scroll-up' does nothing problem with xlC.
9192
9193 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9194
9195         * .gdbinit: Remove obsolete comment.
9196
9197 2001-01-31  Mike Alexander  <mta@arbortext.com>
9198
9199         * select.c (Fown_selection_internal): Set owned_p for device
9200         method correctly.
9201
9202 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9203
9204         Port to g++ 2.97.
9205         "not" cannot be used as a macro name as it is an operator in C++
9206         * config.h.in: Stop #defining `not'.
9207         * chartab.c (check_category_char): not ==> not_p
9208         * chartab.h: Likewise.
9209         * regex.c (re_match_2_internal): Likewise.
9210
9211 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9212
9213         * lisp-disunion.h: Fix up comments.
9214
9215 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9216
9217         * keymap.c (define_key_check_and_coerce_keysym):
9218         (syms_of_keymap):
9219         Support mouse-6 and mouse-7 bindings in the obvious way.
9220
9221 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9222
9223         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9224
9225 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9226
9227         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9228         Previous patch missed DEFVAR_INT_MAGIC.
9229         Make sure future DEFVAR_foo use correct types.
9230         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9231         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9232         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9233         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9234         * (DEFVAR_INT): Likewise.
9235         * redisplay.c (vertical_clip): Should be of type Fixnum.
9236         * redisplay.c (horizontal_clip): Likewise.
9237         * lisp.h (dump_add_opaque_int): New.
9238         (dump_add_opaque_fixnum): New.
9239
9240 2001-01-29  Andy Piper  <andy@xemacs.org>
9241
9242         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9243         since they can be eval'ed
9244
9245 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9246
9247         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9248         Oops, XEmacs redefines `class'.  Use `typename' instead.
9249
9250 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9251
9252         * dumper.c: Fix C++ compile errors.
9253
9254 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9255
9256         * tparam.c: Use correct prototypes.
9257
9258 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9259
9260         * sysproc.h: #include util.h for NetBSD's openpty.
9261
9262 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9263
9264         More 64-bit correctness.
9265         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9266         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9267         Fix up comments.
9268         This finally finishes the 64-bit SGI port.
9269         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9270         * symbols.c: Fix up comments and type casts.
9271         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9272         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9273         * symeval.h (Fixnum): New type.
9274         * symeval.h (symbol_value_type): Fix up comment.
9275
9276         * commands.h:
9277         * nt.c:
9278         * emacs.c:
9279         * data.c:
9280         * redisplay.c:
9281         * abbrev.c:
9282         * dired-msw.c:
9283         * event-Xt.c:
9284         * eldap.c:
9285         * window.c:
9286         * sound.c:
9287         * event-stream.c:
9288         * eval.c:
9289         * buffer.c:
9290         * mule-canna.c: A million DEFVAR_INTs here...
9291         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9292         * extents.c:
9293         * cmdloop.c:
9294         * lisp.h:
9295         * select-x.c:
9296         * console-x.h:
9297         * event-msw.c:
9298         * mule-wnnfns.c:
9299         * hpplay.c:
9300         * ralloc.c:
9301         * alloc.c:
9302         * keymap.c:
9303         * profile.c:
9304         s/int/Fixnum/g in DEFVAR_INT declarations.
9305
9306 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9307
9308         Port pdump to SGI alignment-sensitive environment.
9309         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9310         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9311         properly aligned.
9312         Define and use aligned reading and writing macros.
9313         Use buffered stdio instead of posix i/o for faster dumping.
9314         Eliminate kludgy 256 byte space for header.
9315         Read and write from dump file using structs for alignment safety.
9316         * dumper.c (pdump_align_stream): New.
9317         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9318         * dumper.c (PDUMP_READ_ALIGNED): New.
9319         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9320         * dumper.c (pdump_static_Lisp_Object): New struct.
9321         * dumper.c (pdump_static_pointer): New struct.
9322         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9323         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9324         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9325         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9326
9327         * dumper.c (pdump_backtrace):
9328         * dumper.c (pdump_get_indirect_count):
9329         * dumper.c (pdump_register_object):
9330         * dumper.c (pdump_register_struct):
9331         * dumper.c (pdump_reloc_one):
9332         * dumper.c (pdump_scan_by_alignment):
9333         * dumper.c (pdump_dump_from_root_struct_ptrs):
9334         * dumper.c (pdump_dump_opaques):
9335         * dumper.c (pdump_dump_rtables):
9336         * dumper.c (pdump_dump_from_root_objects):
9337         * dumper.c (pdump):
9338         * dumper.c (pdump_load_finish):
9339         Use aligned reading and writing.
9340
9341         * dumper.c (pdump_free): Make static.
9342         * dumper.c (pdump_hFile): Likewise.
9343         * dumper.c (pdump_hMap): Likewise.
9344
9345 2001-01-26  Martin Buchholz <martin@xemacs.org>
9346
9347         * XEmacs 21.2.43 "Terspichore" is released.
9348
9349 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9350
9351         Type fiddling for window_config.saved_windows_count
9352         * window.c (struct window_config): 
9353         Make saved_windows_count member unsigned.
9354         * window.c (sizeof_window_config_for_n_windows): 
9355         Make parameter unsigned.
9356         * window.c (mark_window_config):
9357         * window.c (window_config_equal):
9358         * window.c (free_window_configuration):
9359         * window.c (Fset_window_configuration):
9360         * window.c (count_windows):
9361         * window.c (Fcurrent_window_configuration):
9362         * window.c (reinit_vars_of_window):
9363         Update all callers and users.
9364
9365 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9366
9367         Alignment correctness for flexible arrays.
9368         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9369         Make alignment-correct. Add interesting comments.
9370         * alloc.c (size_vector):
9371         * alloc.c (make_vector_internal):
9372         * alloc.c (make_bit_vector_internal):
9373         * alloc.c (sweep_bit_vectors_1):
9374         * fns.c (size_bit_vector):
9375         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9376         * window.c (sizeof_window_config_for_n_windows): 
9377         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9378
9379 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9380
9381         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9382
9383 2001-01-23  Andy Piper  <andy@xemacs.org>
9384
9385         * select.c (Fown_selection_internal): pass owned_p
9386
9387         * select-msw.c (mswindows_own_selection): New Signature.
9388
9389         * console.h (struct console_methods): add owned_p to
9390         _own_selection.
9391
9392         * select-x.c (x_own_selection): pass owned_p
9393         (hack_motif_clipboard_selection): use owned_p
9394         (vars_of_select_x): new variable -
9395         x_selection_strict_motif_ownership.
9396
9397 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9398
9399         * specifier.h (specifier_data_offset): Remove pointless parens.
9400         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9401
9402 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9403
9404         Make Lisp_Object sizeof methods be alignment-correct.
9405         pdump must restore objects to the same alignment as the C compiler
9406         assumes.  It really matters on SGIs.
9407         * lstream.c (aligned_sizeof_lstream): New.
9408         (sizeof_lstream): Use aligned_sizeof_lstream.
9409         (Lstream_new): Likewise.
9410         * opaque.c (aligned_sizeof_opaque): New.
9411         (sizeof_opaque): Use aligned_sizeof_opaque.
9412         (make_opaque): Likewise.
9413         * specifier.c (aligned_sizeof_specifier): New.
9414         (sizeof_specifier): Use aligned_sizeof_specifier.
9415         (make_specifier_internal): Likewise.
9416
9417 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9418
9419         * lstream.h (struct lstream): Use max_align_t for trailing data.
9420         * specifier.h (struct Lisp_Specifier): Likewise.
9421
9422 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9423
9424         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9425         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9426         (CCL_SUSPEND): Likewise.
9427         (CCL_INVALID_CMD): Likewise.
9428         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9429         (ccl_driver): Likewise.
9430         (CCL_WRITE_CHAR): Macro hygiene.
9431         (CCL_WRITE_STRING): Macro hygiene.
9432
9433 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9434
9435         Port "portable" dumper to SunOS 4 and HP-UX.
9436         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9437         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9438         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9439
9440 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9441
9442         * lisp.h (ALIGNOF): A better definition for C++.
9443
9444 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9445
9446         Macro hygiene.
9447         Fix printf warnings: int format, long int arg.
9448         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9449         (PUSH_FAILURE_POINT): Use correct printf formats.
9450         (POP_FAILURE_POINT): Use correct printf formats.  
9451         Use do {...} while (0)
9452
9453 2001-01-20  Martin Buchholz <martin@xemacs.org>
9454
9455         * XEmacs 21.2.42 "Poseidon" is released.
9456
9457 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9458
9459         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9460
9461 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9462
9463         De-kludgify FIXED_TYPE free list frobbing.
9464         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9465         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9466         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9467         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9468         * alloc.c (LRECORD_FREE_P): New.
9469         * alloc.c (MARK_LRECORD_AS_FREE): New.
9470         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9471         * alloc.c (STRUCT_FREE_P): Deleted.
9472         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9473         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9474         * alloc.c (STRING_CHARS_FREE_P): New.
9475         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9476         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9477         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9478         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9479         * alloc.c (resize_string): Use new definitions.
9480         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9481         * alloc.c (verify_string_chars_integrity): Use new definitions.
9482         * alloc.c (compact_string_chars): Use new definitions.
9483         * alloc.c: Update monster comments.
9484         * lrecord.h (lrecord_type): Add some new lrecord types for
9485         alloc.c's use.
9486
9487 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9488
9489         Improve alignment hackery.
9490         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9491         (max_align_t): Moved from opaque.h - general purpose.
9492         (ALIGN_PTR): Use size_t, not long.
9493         * opaque.h (max_align_t): Move to lisp.h.
9494
9495 2001-01-18  Norbert Koch  <nk@LF.net>
9496
9497         * gui.h: Fix and add prototypes to fix build problems.
9498
9499 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9500
9501         temacs is going away, so `dump-temacs' is now a bad name.
9502         * .dbxrc (dump-temacs): Rename to `dmp'.
9503         * .gdbinit (dump-temacs): Rename to `dmp'.
9504
9505 2001-01-17  Andy Piper  <andy@xemacs.org>
9506
9507         * glyphs.c (print_image_instance): comment to make martin happy.
9508
9509         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9510         change.
9511
9512         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9513         activation.
9514         (mswindows_tab_control_redisplay): warning suppression.
9515
9516         * glyphs-widget.c (widget_update): re-write to cope with updated
9517         items.
9518         (widget_instantiate): use new gui_item functions.
9519         (tab_control_update): deleted.
9520         (progress_gauge_update): deleted.
9521         (image_instantiator_progress_guage): take out update reference.
9522         (image_instantiator_tree_view): ditto.
9523         (image_instantiator_tab_control): ditto.
9524
9525         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9526         Right the new way.
9527         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9528         return whether anything was changed.
9529         (update_gui_item_keywords): as it sounds.
9530
9531         * gui.h: declare widget_gui_parse_item_keywords.
9532
9533         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9534         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9535
9536 2001-01-17  Martin Buchholz <martin@xemacs.org>
9537
9538         * XEmacs 21.2.41 "Polyhymnia" is released.
9539
9540 2001-01-16  Didier Verna  <didier@xemacs.org>
9541
9542         * glyphs.c (image_instantiate): don't use fallbacks when
9543         instantiating a face's background pixmap by inheritance.
9544
9545 2001-01-14  Mike Sperber <mike@xemacs.org>
9546
9547         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9548         Conditionalize accordingly.
9549
9550 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9551
9552         * dumper.c (pdump_file_get): Fix a compiler warning.
9553
9554 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9555
9556         Make Purify happy when pdumping.
9557         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9558         iniitalizing all bits of new lisp object memory.
9559         * symbols.c (Fmake_local_variable): Likewise.
9560         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9561         * symbols.c (Fdefvaralias): Likewise.
9562         * mule-charset.c (vars_of_mule_charset): Likewise.
9563
9564 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9565         Add the `-nd' flag when running pre-dump operations under the debugger.
9566         * .dbxrc (run-temacs): Add `-nd'.
9567         * .dbxrc (update-elc): Likewise.
9568         * .dbxrc (dump-temacs): Likewise.
9569         * .gdbinit (run-temacs): Likewise.
9570         * .gdbinit (check-temacs): Likewise.
9571         * .gdbinit (update-elc): Likewise.
9572         * .gdbinit (dump-temacs): Likewise.
9573
9574 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9575
9576         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9577         export OBJECT_MODE=64
9578         configure --pdump --use-union-type=no
9579         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9580         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9581
9582         * miscplay.c (sndcnv8U_2mono):
9583         Avoid two uses of `++' in the same expression.
9584         Suppresses a GCC warning.
9585
9586 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9587
9588         Make sure future compilers don't miscompile alloc.c.
9589         * alloc.c:
9590         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9591         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9592
9593 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9594
9595         * dumper.c: A little post-pdump-rename comment fixup.
9596
9597 2001-01-09  Jerry James  <james@eecs.ku.edu>
9598
9599         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9600
9601 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9602
9603         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9604         script:
9605         #!/bin/sh
9606         replace_symbol () {
9607           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9608         }
9609
9610         replace_symbol pdump_wire_lists pdump_weak_object_chains
9611         replace_symbol pdump_wire_list dump_add_weak_object_chain
9612
9613         replace_symbol pdump_wires pdump_root_objects
9614         replace_symbol pdump_wire dump_add_root_object
9615
9616         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9617         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9618
9619         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9620         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9621         replace_symbol dumpstructinfo pdump_root_struct_ptr
9622         replace_symbol dumpstruct dump_add_root_struct_ptr
9623
9624         replace_symbol dumpopaque dump_add_opaque
9625         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9626         replace_symbol dumpopaqueinfos pdump_opaques
9627         replace_symbol dumpopaqueinfo pdump_opaque
9628
9629         replace_symbol nb_structdump nb_root_struct_ptrs
9630         replace_symbol nb_opaquedump nb_opaques
9631
9632         replace_symbol align_table pdump_align_table
9633         replace_symbol dump_header pdump_header
9634
9635         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9636         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9637
9638
9639 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9640
9641         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9642         optimizing bytecount_to_charcount().
9643
9644 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9645
9646         * config.h.in:
9647         (HAVE_DLFCN_H): Removed.
9648         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9649
9650 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9651
9652         Portable dumper maintainability improvements.
9653         * alloc.c (staticpro):
9654         * alloc.c (staticpro_nodump):
9655         * alloc.c (garbage_collect_1):
9656         * alloc.c (reinit_alloc_once_early):
9657         * alloc.c (init_alloc_once_early):
9658         * alloc.c: Move dumper functions to alloc.c.
9659         * dumper.c (pdump_backtrace):
9660         * dumper.c (pdump_dump_structs):
9661         * dumper.c (pdump_dump_opaques):
9662         * dumper.c (pdump_dump_rtables):
9663         * dumper.c (pdump_dump_wired):
9664         * dumper.c (pdump):
9665         * dumper.c (pdump_load_check):
9666         * dumper.c (pdump_load_finish):
9667         * dumper.c (pdump_file_unmap):
9668         * dumper.c (pdump_file_get):
9669         * dumper.c (pdump_resource_free):
9670         * dumper.c (pdump_resource_get):
9671         * dumper.c (pdump_file_free):
9672         * dumper.c (pdump_file_try):
9673         * dumper.c (pdump_load):
9674         Remove fixed size limits on staticpro(), staticpro_nodump(),
9675         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9676         Remove custom code for dumping lrecord_implementations_table - use
9677         dumpopaque instead.
9678         Remove (most of the) custom code for dumping staticpros - dump it
9679         like any other dynarr.
9680
9681         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9682         * dumper.c: Moved functions from alloc.c.
9683         * alloc.c (dumpstruct): Moved to dumper.c.
9684         * alloc.c (dumpopaque): Likewise.
9685         * alloc.c (pdump_wire): Likewise.
9686         * alloc.c (pdump_wire_list): Likewise.
9687
9688         * lisp.h (Dynarr_sizeof): New.
9689         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9690         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9691         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9692
9693         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9694         * lisp.h (dumpopaque): ditto.
9695         * lisp.h (pdump_wire): ditto.
9696         * lisp.h (pdump_wire_list): ditto.
9697
9698 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9699
9700         * make-src-depend (PrintPatternDeps):
9701         Use `sort' to make output independent of perl version.
9702
9703 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9704
9705         Port to Netbsd 1.5.
9706         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9707         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9708
9709 2001-01-03  Didier Verna  <didier@xemacs.org>
9710
9711         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9712         that `focus_frame' is alive before thinking of calling
9713         `redisplay_redraw_cursor' on it.
9714
9715 2001-01-08  Martin Buchholz <martin@xemacs.org>
9716
9717         * XEmacs 21.2.40 is released.
9718
9719 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9720
9721         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9722
9723 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9724
9725         * alloc.c (dbg_valmask): Make const.
9726         * alloc.c (dbg_typemask): Make const.
9727         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9728         * alloc.c (dbg_valbits): Make const.
9729         * alloc.c (dbg_gctypebits): Make const.
9730
9731 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9732
9733         * redisplay-x.c (x_bevel_area):
9734         redisplay.h (struct rune):
9735         Typo fixes in comments.
9736
9737 2001-01-05  Andy Piper  <andy@xemacs.org>
9738
9739         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9740         adjustment.
9741
9742         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9743
9744 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9745
9746         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9747
9748         * mule-ccl.c (stack_idx_of_map_multiple):
9749         Non const global data must not be initialized!
9750         Found by MIYASHITA Hisashi.
9751
9752 2001-01-02  Andy Piper  <andy@xemacs.org>
9753
9754         * frame.c (change_frame_size): make sure frame size is always
9755         marked as changed.
9756
9757         * glyphs.c (image_instance_layout): minor code reuse.
9758
9759         * window.c (Fcurrent_window_configuration): revert previous
9760         change.
9761
9762 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9763
9764         * glyphs.h:
9765         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9766
9767 2000-12-31  Andy Piper  <andy@xemacs.org>
9768
9769         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9770         when widget gets unmapped.
9771
9772         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9773         function. Make sure widgets losing focus don't just drop it.
9774         (handle_focus_event_1): record the widget with focus.
9775
9776 2000-12-31  Andy Piper  <andy@xemacs.org>
9777
9778         * window.c (allocate_window): use
9779         make_image_instance_cache_hash_table.
9780         (make_dummy_parent): ditto.
9781         (Fset_window_configuration): ditto.
9782
9783         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9784
9785         * glyphs.c (process_image_string_instantiator): use
9786         INSTANTIATOR_TYPE.
9787         (get_image_instantiator_governing_domain): ditto.
9788         (normalize_image_instantiator): ditto.
9789         (instantiate_image_instantiator): ditto.
9790         (make_image_instance_1): ditto.
9791         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9792         (instantiator_eq_equal): new function for use with instance hash
9793         tables.
9794         (instantiator_eq_hash): ditto.
9795         (make_image_instance_cache_hash_table): create a suitable hash
9796         table for storing image instances.
9797
9798         * elhash.h (hash_table_weakness): new internal weakness type
9799         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9800         declare new functions.
9801
9802         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9803         another weakness type for glyphs.
9804         (make_standard_lisp_hash_table): new function split out from
9805         make_general_lisp_hash_table.
9806         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9807         (hash_table_instantiate): ditto.
9808         (Fmake_hash_table): ditto.
9809
9810 2000-12-31  Martin Buchholz <martin@xemacs.org>
9811
9812         * XEmacs 21.2.39 is released.
9813
9814 2000-12-29  Andy Piper  <andy@xemacs.org>
9815
9816         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9817
9818         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9819         the frame has changed so that we pick up geometry changes such as
9820         menubar visibility.
9821
9822 2000-12-28  Andy Piper  <andy@xemacs.org>
9823
9824         * lastfile.c (my_ebss): make a char array so we can pad the
9825         bss. Fixes cygwin unexec.
9826
9827         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9828
9829 2000-12-26  Andy Piper  <andy@xemacs.org>
9830
9831         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9832         comments and try and be more precise about a non-/SIGIO world.
9833         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9834         SIGIO.
9835
9836         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9837         we don't normalize to zero width or height.
9838
9839 2000-12-24  Andy Piper  <andy@xemacs.org>
9840
9841         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9842
9843 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9844
9845         * s/sco5.h: SCO 5 has pty support.
9846
9847 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9848
9849         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9850         input-method-xlib.c contains whole contents of input-method-xfs.c,
9851         so we can use input-method-xlib.c's code for USE_XFONTSET
9852         using #ifdefs.
9853         * input-method-xfs.c: removed.
9854
9855 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9856
9857         * file-coding.h (enum coding_category_type): reorder enumerators to
9858         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9859         (now one greater than largest real coding_category_type enumerator).
9860         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9861         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9862         Fcoding_category_list, Fset_coding_priority_list,
9863         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9864         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9865
9866 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9867
9868         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9869         * redisplay-output.c (redisplay_output_window): Clear top of window
9870         when face is changed.
9871         * redisplay-x.c (x_redraw_exposed_window): Call
9872         redisplay_clear_top_of_window.
9873         * redisplay.h: Publish redisplay_clear_top_of_window.
9874
9875 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9876
9877         * buffer.c (Fkill_buffer): Map over all devices.
9878         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9879         (list_windows): New function.
9880         (list_all_windows): Ditto.
9881         (Freplace_buffer_in_windows): Use them.
9882
9883 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9884
9885         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9886         (Fopen_database): Use `db_create' instead of `db_open'.
9887         (syms_of_database): Initialize Qqueue.
9888
9889 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9890
9891         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9892         buffer_local_face_property.
9893         * buffer.h (struct buffer): New member buffer_local_face_property.
9894         * window.c (Fset_window_buffer):  Mark window's face as changed
9895         when buffer has buffer local face.
9896         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9897         * objects.c (color_after_change): Set buffer_local_face_property
9898         when locale of face specifier is buffer.
9899         * objects.c (font_after_change): Ditto.
9900         * objects.c (face_boolean_after_change): Ditto.
9901         * glyphs.c (image_after_change): Ditto.
9902
9903 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9904
9905         * nt.c (mswindows_fstat): Report file permissions, volume serial
9906         number, etc. Code adapted from FSF Emacs 20.7.
9907
9908 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9909
9910         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9911         of stat when we don't have symbolic links, to make sure
9912         mswindows_stat is called on mswindows.
9913
9914 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9915
9916         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9917
9918 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9919
9920         * doprnt.c (emacs_doprnt_1): More printing fixes.
9921         Make printing of numbers compatible with libc and FSF Emacs.
9922         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9923         Use the system printf to do most of the hard work of formatting,
9924         instead of doprnt_1().
9925         Calculate memory to allocate for format string.
9926         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9927         (doprnt_1): Cleaner code and documentation.
9928
9929 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9930
9931         * Makefile.in.in: Use the loop variable to install headers.
9932
9933 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9934
9935         * window.c (Fsplit_window): Don't invalidate face cache.
9936
9937 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9938
9939         * minibuf.c (Fall_completions): Undo the previous change
9940         which removed checking elements start with space.
9941
9942 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9943
9944         * mule-canna.c: Didier suppression.
9945
9946 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9947
9948         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9949         (warning suppression).  Add English comment translations.
9950
9951 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9952
9953         * unexelfsgi.c (unexec): Better test for mmap failure.
9954
9955 2000-12-05  Martin Buchholz <martin@xemacs.org>
9956
9957         * XEmacs 21.2.38 is released.
9958
9959 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9960
9961         * redisplay.c (bar-cursor): Make a user variable.
9962
9963         * symsinit.h: Add init_postgresql_from_environment.
9964
9965 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9966
9967         * regex.c: Convert to clean C.
9968
9969 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9970
9971         * realpath.c:
9972         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9973         initialization.
9974         (sys_readlink): renamed to system_readlink to avoid conflict with
9975         the other sys_readlink.
9976
9977 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9978
9979         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9980
9981 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9982
9983         * postgresql.c (init_postgresql_from_environment): new function.
9984         (vars_of_postgresql): Move code initializing Lisp variables out and
9985         into init_postgresql_from_environment.
9986         emacs.c (main_1): Call init_postgresql_from_environment if and only
9987         if running a dumped XEmacs.
9988
9989 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9990
9991         * buffer.c: Make find-file-compare-truenames default to true on
9992         windows.
9993
9994         * realpath.c (win32_abs_start):
9995         (cygwin_readlink):
9996         (win32_readlink): New functions.
9997         (xrealpath): Return really real filenames on windows.
9998
9999         * fileio.c (Ffile_truename): Make file-truename work on windows.
10000
10001 2000-11-29  Didier Verna  <didier@xemacs.org>
10002
10003         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
10004         * faces.c (update_face_cachel_data): use it.
10005         * faces.c (add_face_cachel): use it. Complete background pixmap
10006         frobbing in face cache if `update_face_cachel_data' has not done so.
10007
10008 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
10009
10010         * search.c (string_match_1): Don't set last_thing_searched
10011         when search failed.
10012
10013 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
10014
10015         * buffer.c: Include casetab.h
10016         (common_init_complex_vars_of_buffer): Use new case-table object.
10017         * buffer.h: Include casetab.h
10018         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10019         (DOWNCASE_TABLE_OF): Ditto.
10020         * bufslots.h: Remove char-tables and add case-table.
10021         * casetab.c: Include casetab.h
10022         (CASE_TABLE_P): Removed.
10023         (mark_case_table): New function.
10024         (allocate_case_table): New function.
10025         (Fcase_table_p): Use new case-table.
10026         (case_table_char): New function.
10027         (Fget_case_table): Ditto.
10028         (Fput_case_table): Ditto.
10029         (Fput_case_table_pair): Ditto.
10030         (Fcopy_case_table): Ditto.
10031         (Fcurrent_case_table): Return case-table.
10032         (Fstandard_case_table): Return case-table.
10033         (Fset_case_table): Fix doc-string.
10034         (set_case_table): Use case-table
10035         (syms_of_casetab): DEFSUBR new functions.
10036         (complex_vars_of_casetab): Set up standard case-table.
10037         * casetab.h: New file.
10038         * editfns.c: Include casetab.h
10039         (Fcompare_buffer_substrings): Use case-table.
10040         * inline.c: Include casetab.h
10041         * lisp.h: Remove bogus extern.
10042         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10043         * search.c: Include casetab.h
10044         (TRANSLATE_ASCII): Removed.
10045         (TRANSLATE): Unconditionally translate character.
10046         (looking_at_1): Use case-table.
10047         (string_match_1): Ditto.
10048         (fast_string_match): Ditto.
10049         (search_command): Ditto.
10050         (search_buffer): Separate boyer_moore.  Check whether
10051         boyer_moore is possible.
10052         (simple_search): New function.
10053         (boyer_moore): Separated from search_buffer. Translate char.
10054
10055 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10056
10057         * regex.c (RE_TR_ASCII): Removed.
10058         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10059         (PATFETCH): Call PATFETCH_RAW.
10060         (PATFETCH_RAW): Fetch Emchar.
10061         (PATUNFETCH): Decrement charptr.
10062         (GET_BUFFER_SPACE): Rename b to buf_end.
10063         (BUF_PUSH): Ditto.
10064         (BUF_PUSH_2): Ditto.
10065         (BUF_PUSH_3): Ditto.
10066         (EXTEND_BUFFER): Ditto.
10067         (SET_LIST_BIT): Ditto.
10068         (regex_compile): Ditto.  Translate non ASCII char.
10069         (compile_range): Ditto.
10070         (re_search_2): Ditto.
10071         (re_match_2_internal): Compare Emchar.
10072         (bcmp_translate): Ditto.
10073
10074 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10075
10076         * lisp.h (basic char/int typedefs):  comment improvement.
10077
10078 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10079
10080         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10081         unstomp inhibit_site_lisp.  Improve comments.
10082
10083 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10084
10085         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10086
10087 2000-11-28  Andy Piper  <andy@xemacs.org>
10088
10089         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10090         clipped display for windows in the gutter also.
10091         (redisplay_display_boxes_in_window_p): change semantics of return
10092         codes to be more intuitive.
10093
10094         * gutter.h: declare display_boxes_in_gutter_p.
10095
10096         * gutter.c (display_boxes_in_gutter_p): new function for
10097         redisplay.
10098
10099 2000-11-22  Andy Piper  <andy@xemacs.org>
10100
10101         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10102         autodetect domain.
10103
10104 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10105
10106         * callproc.c (Fold_call_process_internal):
10107         * gpm.c (Freceive_gpm_event):
10108         (tty_get_foreign_selection): Might be just warning supression.
10109         * fileio.c (Fwrite_region_internal):
10110         (Fset_visited_file_modtime):
10111         * keymap.c (event_matches_key_specifier_p):
10112         Initialize GCPROed variable.
10113
10114         * menubar-x.c (command_builder_find_menu_accelerator):
10115         Initialize before use.
10116
10117 2000-11-23  Andy Piper  <andy@xemacs.org>
10118
10119         * unexcw.c (unexec): make the resulting executable executable.
10120
10121 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10122
10123         * doc.c (get_doc_string):
10124         Use size_t, not int, for result of XSTRING_LENGTH.
10125
10126         * cmds.c (Fdelete_char):
10127         * cmds.c (Fpoint_at_eol):
10128         * cmds.c (Fself_insert_command):
10129         Use EMACS_INT, not int, for result of XINT.
10130         Someday, someone will want to insert more than 2**31 identical characters.
10131
10132         * cmds.c (Fdelete_char):
10133         * cmds.c (Fdelete_backward_char):
10134         * syntax.c (Fforward_word):
10135         * syntax.c (Fforward_comment):
10136         Make COUNT argument optional, for consistency with forward-char et al.
10137
10138 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10139
10140         * lisp.h:
10141         * print.c (long_to_string):
10142         Return a useful value: the pointer at end of data written.
10143
10144         * doprnt.c:
10145         Use `static const char * const' for constant strings.
10146         (union printf_arg): Delete `i', `ui' members.
10147         (get_doprnt_args):
10148         (emacs_doprnt_1):
10149         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10150         Do all printf-ing via the `l' specifier.
10151         Use EMACS_INT instead of int.
10152         Optimize.
10153
10154 2000-11-20  Didier Verna  <didier@xemacs.org>
10155
10156         * faces.c (update_face_cachel_data): don't frob the background
10157         pixmap when the window is being created. The face is needed but
10158         does not exist yet.
10159
10160 2000-11-20  Andy Piper  <andy@xemacs.org>
10161
10162         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10163         messing with a debug environment.
10164
10165 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10166
10167         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10168
10169 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10170
10171         * casetab.c (Fcase_table_p): Fix compile error and crash.
10172
10173 2000-11-18  Philip Aston  <philipa@mail.com>
10174
10175         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10176
10177 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10178
10179         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10180         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10181
10182 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10183
10184         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10185         * unexelf.c: Use HAVE_ELF_H.
10186         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10187         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10188         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10189         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10190         for testing.
10191         So this is an unexelfsgi.c from a different line of development.
10192
10193 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10194
10195         * regex.c (RE_TR_ASCII): New function.
10196         (RE_TRANSLATE): Call it.
10197
10198 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10199
10200         * buffer.h (TRT_TABLE_OF): Remove assert.
10201         (IN_TRT_TABLE_DOMAIN): Removed.
10202
10203 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10204
10205         * free-hook.c (log_gcpro):
10206         (show_gcprohist): Add support for GCPRO5.
10207
10208 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10209
10210         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10211
10212 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10213
10214         * symeval.h: Declare flush_all_buffer_local_cache.
10215
10216         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10217         (flush_buffer_local_cache): Added.
10218         (flush_all_buffer_local_cache): Added.
10219
10220         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10221
10222         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10223         (pdump_dump_data): Ditto.
10224         (pdump_reloc_one): Ditto.
10225         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10226         before dumping.
10227
10228
10229 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10230
10231         * buffer.c: Remove if 0'ed entry.
10232         * buffer.h: Rewrite TRT to use char-table.
10233         * bufslots.h: Remove mirror tables.
10234         * casetab.c: Remove mirror tables.
10235         (CASE_TABLE_P): New macro.
10236         (Fcase_table_p): Element of a case table is string or char-table.
10237         (make_mirror_trt_table): Removed.
10238         (set_case_table): Setup char-table from strings for backward
10239         compatibility.
10240         * dired.c (Fdirectory_files):
10241         * dired-msw.c: (mswindows_get_files):
10242         * lisp.h: Change prototype of re_pattern_buffer.
10243         * regex.c: (RE_TRANSLATE): New macro.
10244         (TRANSLATE_P): Ditto.
10245         Change translate to type RE_TRANSLATE_TYPE.
10246         * regex.h: Define RE_TRANSLATE_TYPE
10247         * search.c (TRANSLATE): New macro.
10248         (TRANSLATE_ASCII): New macro.
10249         Translate table is changed to Lisp_Object.
10250         (signal_failure): Inhibit return.
10251
10252 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10253
10254         * device-msw.c:
10255         * eldap.c:
10256         * event-Xt.c:
10257         * event-stream.c:
10258         * print.c:
10259         Do UNGCPRO before return.
10260
10261 2000-11-14  Martin Buchholz <martin@xemacs.org>
10262
10263         * XEmacs 21.2.37 is released.
10264
10265 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10266
10267         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10268         Add comments about discarded return value.
10269
10270 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10271
10272         * callint.c:
10273         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10274
10275 2000-10-27  Andy Piper  <andy@xemacs.org>
10276
10277         * gutter.c (Fset_default_gutter_position): default left and right
10278         gutters to visible.
10279         (calculate_gutter_size): calculate resonable heuristic for left
10280         and right gutter sizes.
10281         (specifier_vars_of_gutter): change left and right gutter sizes to
10282         autodetect.
10283         (calculate_gutter_size_from_display_lines): new function.
10284         (output_gutter): check for resizing on left and right gutters.
10285         (clear_gutter): don't special case top and left gutters.
10286         (specifier_vars_of_gutter): use new signature for
10287         set_specifier_caching.
10288
10289         * glyphs-x.c (x_redisplay_widget): spelling fix.
10290         * glyphs.c (specifier_vars_of_glyphs):
10291         * menubar.c (specifier_vars_of_menubar):
10292         * redisplay.c (specifier_vars_of_redisplay):
10293         * toolbar.c (specifier_vars_of_toolbar):
10294         * window.c (specifier_vars_of_window):
10295         * scrollbar.c (specifier_vars_of_scrollbar):
10296         (complex_vars_of_scrollbar): use new signature for
10297         set_specifier_caching.
10298
10299         * specifier.c (set_specifier_caching): include recompute flag.
10300         (recompute_one_cached_specifier_in_window): always recompute if
10301         flag set.
10302         (recompute_one_cached_specifier_in_frame): ditto.
10303
10304         * specifier.h (struct specifier_caching): add recompute flag.
10305
10306 2000-10-24  Andy Piper  <andy@xemacs.org>
10307
10308         * unexcw.c (copy_executable_and_dump_data_section): add new
10309         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10310         5.0 happy.
10311
10312 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10313
10314         * console-x.h (x_device): New member modifier_release_time.
10315         * event-Xt.c (x_handle_sticky_modifiers):
10316         Bound interval modifier keys are sticky.
10317         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10318         * events.h: extern it.
10319
10320 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10321
10322         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10323
10324 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10325
10326         * event-stream.c (execute_command_event): Preserve current_events
10327         and the like when event is misc-user-event.
10328         Inhibit quit during the call to maybe_echo_keys.
10329
10330 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10331
10332         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10333         symlink when buffer is killed.
10334         (inhibit_clash_detection): New variable.
10335
10336 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10337
10338         * console.c (Fset_input_method): Trigger redisplay on tty.
10339
10340 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10341
10342         * process.c (Fprocess_status): Revert to previous behavior:
10343         (process-status "nosuchprocess") ==> nil
10344
10345 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10346
10347         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10348         Work around another GCC 2.95.2 optimizer bug.
10349
10350 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10351
10352         * process.c (Fget_process): Use LIST_LOOP_2.
10353         (kill_buffer_processes): Use LIST_LOOP_2.
10354
10355         * minibuf.c (Fall_completions):
10356         Delete old non-functional code for FSF fourth argument.
10357
10358         * frame.c (frame_matches_frame_spec):
10359         Renamed from `frame_matches_frametype'.  Update all callers.
10360         (device_matches_device_spec):
10361         Renamed from 'device_matches_console_spec'.  Update all callers.
10362
10363         * doc.c (Fsubstitute_command_keys):
10364         Remove buffer overflow crash.  Small code cleanups.
10365
10366         * casetab.c (check_case_table): Simpler code.
10367
10368         * window.c (Freplace_buffer_in_windows):
10369         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10370         (and similar implementation) as Fdelete_windows_on.
10371         Update all callers.
10372
10373         * alloc.c (Fmake_list):
10374         * alloc.c (make_vector):
10375         * alloc.c (Fmake_vector):
10376         * alloc.c (make_bit_vector):
10377         * alloc.c (Fmake_bit_vector):
10378         * alloc.c (Fbit_vector):
10379         * alloc.c (Fmake_string):
10380         * alloc.c (Fpurecopy):
10381         * alloc.c (Fmemory_limit):
10382         * buffer.c:
10383         * buffer.c (Fget_buffer):
10384         * buffer.c (Fkill_buffer):
10385         * buffer.c (complex_vars_of_buffer):
10386         * bytecode.c (Fcompiled_function_stack_depth):
10387         * callint.c (Fprefix_numeric_value):
10388         * event-stream.c:
10389         * event-stream.c (Fread_key_sequence):
10390         * casetab.c:
10391         * casetab.c (Fcase_table_p):
10392         * casetab.c (check_case_table):
10393         * casetab.c (Fset_case_table):
10394         * casetab.c (Fset_standard_case_table):
10395         * chartab.c:
10396         * chartab.c (Fchar_table_type):
10397         * chartab.c (Freset_char_table):
10398         * chartab.c (Fget_char_table):
10399         * chartab.c (Fget_range_char_table):
10400         * chartab.c (Fput_char_table):
10401         * chartab.c (Fmap_char_table):
10402         * chartab.c (Fcategory_table_p):
10403         * chartab.c (Fcheck_category_at):
10404         * chartab.c (Fchar_in_category_p):
10405         * chartab.c (Fcategory_table):
10406         * chartab.c (Fcopy_category_table):
10407         * chartab.c (Fset_category_table):
10408         * chartab.c (Fcategory_designator_p):
10409         * chartab.c (Fcategory_table_value_p):
10410         * cmds.c (Fdelete_char):
10411         * cmds.c (Fdelete_backward_char):
10412         * cmds.c (Fself_insert_command):
10413         * cmds.c (Fself_insert_internal):
10414         * console.c (Fvalid_console_type_p):
10415         * console.c (Fcdfw_console):
10416         * console.c (Fconsole_type):
10417         * console.c (Fconsole_name):
10418         * console.c (Fconsole_device_list):
10419         * console.c (Fconsole_on_window_system_p):
10420         * data.c:
10421         * data.c (Feq):
10422         * data.c (Fold_eq):
10423         * data.c (Fsubr_interactive):
10424         * data.c (Fchar_to_int):
10425         * data.c (Fint_to_char):
10426         * data.c (Fsetcar):
10427         * data.c (Fsetcdr):
10428         * data.c (Fnumber_to_string):
10429         * data.c (Fstring_to_number):
10430         * data.c (Frem):
10431         * database.c (mark_database):
10432         * database.c (finalize_database):
10433         * database.c (Fdatabase_live_p):
10434         * database.c (Fdatabasep):
10435         * device-x.c (Fx_get_resource):
10436         * device.c (Fdfw_device):
10437         * dired.c:
10438         * dired.c (Ffile_name_completion):
10439         * dired.c (Ffile_name_all_completions):
10440         * dired.c (Fuser_name_completion):
10441         * dired.c (Fuser_name_completion_1):
10442         * dired.c (Fuser_name_all_completions):
10443         * doc.c (Fdocumentation):
10444         * doc.c (Fdocumentation_property):
10445         * doc.c (Fsubstitute_command_keys):
10446         * editfns.c:
10447         * editfns.c (Fchar_to_string):
10448         * editfns.c (Fstring_to_char):
10449         * editfns.c (Ftemp_directory):
10450         * editfns.c (Finsert_char):
10451         * editfns.c (Fbuffer_substring_no_properties):
10452         * editfns.c (Fnarrow_to_region):
10453         * editfns.c (Fchar_equal):
10454         * editfns.c (Fchar_Equal):
10455         * editfns.c (Ftranspose_regions):
10456         * emacs.c (Fdump_emacs):
10457         * eval.c (Fthrow):
10458         * eval.c (Fcommand_execute):
10459         * eval.c (Fautoload):
10460         * eval.c (Fbacktrace):
10461         * eval.c (Fbacktrace_frame):
10462         * events.c:
10463         * events.c (Fcopy_event):
10464         * events.c (Fcharacter_to_event):
10465         * events.c (Fevent_button):
10466         * events.c (Fevent_process):
10467         * extents.c:
10468         * extents.c (Fnext_extent_change):
10469         * extents.c (Fextent_property):
10470         * faces.c (Ffacep):
10471         * faces.c (Fmake_face):
10472         * file-coding.c:
10473         * file-coding.c (Fencode_shift_jis_char):
10474         * file-coding.c (Fencode_big5_char):
10475         * fileio.c (Ffile_name_directory):
10476         * fileio.c (Ffile_name_nondirectory):
10477         * fileio.c (Ffile_name_as_directory):
10478         * fileio.c (Fdirectory_file_name):
10479         * fileio.c (Ffile_truename):
10480         * fileio.c (Fsubstitute_in_file_name):
10481         * fileio.c (Ffile_modes):
10482         * fileio.c (Fset_file_modes):
10483         * fileio.c (Fset_default_file_modes):
10484         * fileio.c (Fverify_visited_file_modtime):
10485         * floatfns.c (Facos):
10486         * floatfns.c (Fasin):
10487         * floatfns.c (Fatan):
10488         * floatfns.c (Fcos):
10489         * floatfns.c (Fsin):
10490         * floatfns.c (Ftan):
10491         * floatfns.c (Fbessel_j0):
10492         * floatfns.c (Fbessel_j1):
10493         * floatfns.c (Fbessel_jn):
10494         * floatfns.c (Fbessel_y0):
10495         * floatfns.c (Fbessel_y1):
10496         * floatfns.c (Fbessel_yn):
10497         * floatfns.c (Ferf):
10498         * floatfns.c (Ferfc):
10499         * floatfns.c (Flog_gamma):
10500         * floatfns.c (Fexp):
10501         * floatfns.c (Fexpt):
10502         * floatfns.c (Flog):
10503         * floatfns.c (Flog10):
10504         * floatfns.c (Fsqrt):
10505         * floatfns.c (Fcube_root):
10506         * floatfns.c (Facosh):
10507         * floatfns.c (Fasinh):
10508         * floatfns.c (Fatanh):
10509         * floatfns.c (Fcosh):
10510         * floatfns.c (Fsinh):
10511         * floatfns.c (Ftanh):
10512         * floatfns.c (Fabs):
10513         * floatfns.c (Ffloat):
10514         * floatfns.c (Flogb):
10515         * floatfns.c (Fceiling):
10516         * floatfns.c (Ffloor):
10517         * floatfns.c (Fround):
10518         * floatfns.c (Ftruncate):
10519         * floatfns.c (Ffceiling):
10520         * floatfns.c (Fffloor):
10521         * floatfns.c (Ffround):
10522         * floatfns.c (Fftruncate):
10523         * fns.c (Fstring_equal):
10524         * fns.c (Fstring_lessp):
10525         * fns.c (concat2):
10526         * fns.c (concat3):
10527         * fns.c (vconcat2):
10528         * fns.c (vconcat3):
10529         * fns.c (Fsubstring):
10530         * fns.c (Fassoc):
10531         * fns.c (Fold_assoc):
10532         * fns.c (assoc_no_quit):
10533         * fns.c (Fassq):
10534         * fns.c (Fold_assq):
10535         * fns.c (assq_no_quit):
10536         * fns.c (Frassoc):
10537         * fns.c (Fold_rassoc):
10538         * fns.c (Frassq):
10539         * fns.c (Fold_rassq):
10540         * fns.c (rassq_no_quit):
10541         * fns.c (Fremassoc):
10542         * fns.c (remassoc_no_quit):
10543         * fns.c (Fremassq):
10544         * fns.c (remassq_no_quit):
10545         * fns.c (Fremrassoc):
10546         * fns.c (Fremrassq):
10547         * fns.c (remrassq_no_quit):
10548         * fns.c (Fsort):
10549         * fns.c (Fplist_get):
10550         * fns.c (Fplist_put):
10551         * fns.c (Fplist_remprop):
10552         * fns.c (Fplist_member):
10553         * fns.c (Flax_plist_get):
10554         * fns.c (Flax_plist_put):
10555         * fns.c (Flax_plist_remprop):
10556         * fns.c (Flax_plist_member):
10557         * fns.c (Fequal):
10558         * fns.c (Fold_equal):
10559         * fns.c (Frequire):
10560         * fns.c (Fbase64_encode_region):
10561         * fns.c (Fbase64_encode_string):
10562         * fns.c (Fbase64_decode_region):
10563         * frame.c:
10564         * frame.c (frame_matches_frame_spec):
10565         * frame.c (device_matches_device_spec):
10566         * frame.c (next_frame):
10567         * frame.c (previous_frame):
10568         * frame.c (Fnext_frame):
10569         * frame.c (Fprevious_frame):
10570         * frame.c (Fframe_property):
10571         * frame.c (Fset_frame_height):
10572         * frame.c (Fset_frame_size):
10573         * frame.h:
10574         * glyphs.c:
10575         * glyphs.c (if):
10576         * glyphs.c (decode_error_behavior_flag):
10577         * glyphs.c (Fmake_image_instance):
10578         * indent.c (Findent_to):
10579         * intl.c (Fignore_defer_gettext):
10580         * keymap.c (Fkeymapp):
10581         * keymap.c (Flookup_key):
10582         * lread.c:
10583         * lread.c (Fload_internal):
10584         * lread.c (Feval_buffer):
10585         * lread.c (Feval_region):
10586         * macros.c (Fexecute_kbd_macro):
10587         * marker.c (set_marker_internal):
10588         * marker.c (Fset_marker):
10589         * marker.c (set_marker_restricted):
10590         * marker.c (Fcopy_marker):
10591         * marker.c (noseeum_copy_marker):
10592         * menubar.c:
10593         * menubar.c (Fpopup_menu):
10594         * minibuf.c:
10595         * mule-charset.c (Fcharset_name):
10596         * mule-charset.c (Fchar_charset):
10597         * mule-charset.c (Fchar_octet):
10598         * mule-charset.c (Fsplit_char):
10599         * mule-wnnfns.c (Fwnn_open):
10600         * mule-wnnfns.c (Fwnn_dict_comment):
10601         * mule-wnnfns.c (Fwnn_quit_henkan):
10602         * mule-wnnfns.c (Fwnn_word_toroku):
10603         * mule-wnnfns.c (Fwnn_word_sakujo):
10604         * mule-wnnfns.c (Fwnn_word_use):
10605         * mule-wnnfns.c (Fwnn_hindo_set):
10606         * objects.c:
10607         * objects.c (Fmake_color_instance):
10608         * objects.c (Fmake_font_instance):
10609         * print.c (Fwrite_char):
10610         * process.c:
10611         * process.c (mark_process):
10612         * process.c (print_process):
10613         * process.c (get_process_from_usid):
10614         * process.c (Fprocessp):
10615         * process.c (Fprocess_live_p):
10616         * process.c (Fget_process):
10617         * process.c (Fget_buffer_process):
10618         * process.c (get_process):
10619         * process.c (Fprocess_id):
10620         * process.c (Fprocess_name):
10621         * process.c (Fprocess_command):
10622         * process.c (init_process_io_handles):
10623         * process.c (start_process_unwind):
10624         * process.c (Fstart_process_internal):
10625         * process.c (Fopen_multicast_group_internal):
10626         * process.c (Fset_process_window_size):
10627         * process.c (read_process_output):
10628         * process.c (send_process):
10629         * process.c (Fprocess_tty_name):
10630         * process.c (Fset_process_buffer):
10631         * process.c (Fprocess_buffer):
10632         * process.c (Fprocess_mark):
10633         * process.c (set_process_filter):
10634         * process.c (Fset_process_filter):
10635         * process.c (Fprocess_filter):
10636         * process.c (Fprocess_send_region):
10637         * process.c (Fprocess_send_string):
10638         * process.c (exec_sentinel):
10639         * process.c (Fset_process_sentinel):
10640         * process.c (Fprocess_sentinel):
10641         * process.c (status_notify):
10642         * process.c (Fprocess_status):
10643         * process.c (Fprocess_exit_status):
10644         * process.c (process_send_signal):
10645         * process.c (Fprocess_send_eof):
10646         * process.c (deactivate_process):
10647         * process.c (remove_process):
10648         * process.c (Fdelete_process):
10649         * process.c (kill_buffer_processes):
10650         * process.c (Fprocess_kill_without_query):
10651         * process.c (Fprocess_kill_without_query_p):
10652         * rangetab.c:
10653         * rangetab.c (Fget_range_table):
10654         * rangetab.c (Fput_range_table):
10655         * rangetab.c (Fremove_range_table):
10656         * rangetab.c (Fclear_range_table):
10657         * search.c:
10658         * search.c (Fskip_chars_forward):
10659         * search.c (Fskip_chars_backward):
10660         * search.c (Fskip_syntax_forward):
10661         * search.c (Fskip_syntax_backward):
10662         * search.c (search_command):
10663         * search.c (Freplace_match):
10664         * search.c (Fregexp_quote):
10665         * select.c (Fown_selection_internal):
10666         * select.c (Fselection_owner_p):
10667         * select.c (Fselection_exists_p):
10668         * select.c (Fget_selection_internal):
10669         * specifier.c:
10670         * symbols.c:
10671         * symbols.c (Fintern):
10672         * symbols.c (Fintern_soft):
10673         * symbols.c (Funintern):
10674         * symbols.c (Fapropos_internal):
10675         * symbols.c (Fset_default):
10676         * syntax.c:
10677         * syntax.c (Fsyntax_table_p):
10678         * syntax.c (Fcopy_syntax_table):
10679         * syntax.c (Fset_syntax_table):
10680         * syntax.c (Fchar_syntax):
10681         * syntax.c (syntax_match):
10682         * syntax.c (Fmatching_paren):
10683         * syntax.c (Fforward_word):
10684         * syntax.c (scan_lists):
10685         * syntax.c (Fscan_lists):
10686         * syntax.c (Fscan_sexps):
10687         * syntax.c (Fparse_partial_sexp):
10688         * toolbar.c (Fcheck_toolbar_button_syntax):
10689         * tooltalk.doc:
10690         * window.c:
10691         * window.c (Fwindowp):
10692         * window.c (Fwindow_live_p):
10693         * window.c (Fwindow_point):
10694         * window.c (Fdelete_window):
10695         * window.c (Fnext_window):
10696         * window.c (Fprevious_window):
10697         * window.c (Fother_window):
10698         * window.c (window_loop):
10699         * window.c (Fget_lru_window):
10700         * window.c (Fsplit_window):
10701         * window.c (Fenlarge_window):
10702         * window.c (Fenlarge_window_pixels):
10703         * window.c (Fshrink_window):
10704         * window.c (Fshrink_window_pixels):
10705         * window.c (change_window_height):
10706         * window.c (Fwindow_configuration_p):
10707         * window.c (Fcurrent_window_configuration):
10708         * window.h:
10709         * casefiddle.c (casify_object):
10710         * casefiddle.c (Fupcase):
10711         * casefiddle.c (Fdowncase):
10712         * casefiddle.c (Fcapitalize):
10713         * casefiddle.c (Fupcase_initials):
10714         * casefiddle.c (casify_region_internal):
10715         * casefiddle.c (casify_region):
10716         * casefiddle.c (Fupcase_region):
10717         * casefiddle.c (Fdowncase_region):
10718         * casefiddle.c (Fcapitalize_region):
10719         * casefiddle.c (Fupcase_initials_region):
10720         * casefiddle.c (Fupcase_word):
10721         * casefiddle.c (Fdowncase_word):
10722         * casefiddle.c (Fcapitalize_word):
10723         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10724         Replace 0 with '\0' when working with bytes.
10725         Replace initial "(" with "\(" in docstrings.
10726
10727 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10728
10729         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10730
10731         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10732
10733 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10734
10735         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10736
10737 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10738
10739         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10740         correctly.
10741
10742 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10743
10744         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10745         (inhibit_auto_save_session): New variable.
10746         (vars_of_fileio): Declare and initialize them.
10747         * fileio.c (Fdo_auto_save): Don't create session file if
10748         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10749
10750 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10751
10752         * sgiplay.c (play_internal): C++ compilability.
10753         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10754         * callproc.c (Fold_call_process_internal):
10755         Remove unused vars `env', `first'.
10756         * scrollbar.c (update_scrollbar_instance):
10757         #### unused var `current_window'.
10758         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10759         etc. within #ifdef NOT_YET.
10760         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10761         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10762         * specifier.c (specifier_instance):
10763         #### unused var `tag'.
10764         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10765
10766 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10767
10768         * fns.c (Fbutlast):
10769         * fns.c (list_sort):
10770         * fns.c (Ffillarray):
10771         * fns.c (bytecode_nconc2):
10772         * fns.c (Fnconc):
10773         * fns.c (mapcar1):
10774         * fns.c (Fmapconcat):
10775         Be pedantically 64-bit correct.  For the time when someone will
10776         want to have a list with length > 2**32.
10777
10778         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10779         Work around MIPSpro compiler bug.
10780
10781         * process-unix.c (unix_kill_child_process): Add snarky comment.
10782         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10783
10784         * config.h.in: Oops, _getpt ==> _getpty
10785
10786 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10787
10788         * config.h.in:
10789         * regex.c:
10790         Use void*, not char*, as return type of alloca().
10791
10792         * alloc.c (free_marker): Side effect inside assert expression!
10793
10794 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10795
10796         * mule-charset.c (Fset_charset_ccl_program): To check
10797         if the given ccl program is valid, use setup_ccl_program()
10798         instead of CHECK_VECTOR().
10799         (Fmake_charset): Likewise.
10800
10801 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10802
10803         * faces.c (get_extent_fragment_face_cache_index):
10804         Fix cachel.merged_faces memory leak.
10805
10806 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10807
10808         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10809         Reset MSB of octets obtained by DECODE_SJIS
10810         because of the incompatibility with Emacs.
10811         (ccl_driver)<CCL_ENCODE_SJIS>:
10812         Set MSB of octets before passing them to
10813         ENCODE_SJIS because of the incompatibility
10814         with Emacs.
10815
10816 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10817
10818         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10819         (DECLARE_LRECORD): Undo the last change.
10820         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10821
10822 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10823
10824         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10825         the implementation to lrecord_implementations_table.
10826
10827 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10828
10829         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10830         initial value of `lrecord_type_##c_name' and
10831         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10832         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10833         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10834         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10835         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10836
10837 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10838
10839         * miscplay.c (sndcnv8S_2mono):
10840         (sndcnv2monounsigned):
10841         (sndcnvULaw_2linear):
10842         (sndcnv16swap):
10843         Remove implementation-defined behavior.
10844
10845 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10846
10847         * input-method-xlib.c: Warning suppression.
10848
10849 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10850
10851         * mule-ccl.c: Sync up with Emacs 21.0.90.
10852         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10853         Do nothing.
10854         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10855         Likewise.
10856         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10857         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10858         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10859         leading char belongs to official 2-dimensional charset.
10860         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10861         write the given character as is.  Otherwise,
10862         if it is a multibyte char, convert it by
10863         non_ascii_set_charptr_emchar, then write it.
10864         (CCL_WRITE_STRING): Likewise.
10865         (ccl_get_compiled_code): New function.
10866         (setup_ccl_program): When ccl_prog is invalid,
10867         return -1.
10868         (Fregister_code_conversion_map): New function.
10869         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10870
10871         * mule-ccl.h: Sync up with Emacs 21.0.90.
10872         (Fregister_ccl_program): export it.
10873
10874         * redisplay-msw.c (separate_textual_runs):
10875         If ccl program is not valid, don't do ccl conversion.
10876
10877         * redisplay-x.c (separate_textual_runs): Ditto.
10878
10879         * file-coding.c (Fmake_coding_system):
10880         When type is ccl and value is vector, register it
10881         with a proper symbol.  And checks whether the
10882         given ccl program is valid.
10883         (mule_decode): When calling ccl_driver, if src indicates
10884         NULL pointer, set an empty string instead.
10885         (mule_encode): Likewise.
10886
10887 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10888
10889         The following large batch of changes gets us back to a state of
10890         C++ compilability.  Extbyte is now a char, which means that
10891         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10892
10893         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10894
10895         * sound.c (Fplay_sound): Type correctness.
10896
10897         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10898         (x_get_window_property): Type correctness.
10899         (receive_incremental_selection): unsigned char ==> Extbyte
10900         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10901         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10902         (Fx_store_cutbuffer_internal): Type correctness.
10903
10904         * process-unix.c (try_to_initialize_subtty): Type correctness.
10905
10906         * objects-x.c (x_print_color_instance): Type correctness.
10907         (x_print_font_instance): Type correctness.
10908         (x_list_fonts): SExtbyte ==> Extbyte.
10909         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10910         (x_find_charset_font): SExtbyte ==> Extbyte.
10911         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10912         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10913         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10914         Use bufbyte_strcmp.
10915
10916         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10917         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10918         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10919         (BYTE_C0_P): Use bit ops for char-signedness safety.
10920         (BYTE_C1_P): Use bit ops for char-signedness safety.
10921         (CHARSET_BY_LEADING_BYTE):
10922         (CHARSET_BY_ATTRIBUTES):
10923         Always use inline function.
10924         Use type_checking_assert.
10925         Hide chlook.
10926
10927         * mule-charset.c (non_ascii_charptr_copy_char):
10928         Modify to work with both ASCII and non-ASCII characters.
10929         Improve docs and variable names.
10930         Replace over-clever fall-through switch with a simple loop.
10931         (Lstream_get_emchar_1):
10932         Replace over-clever fall-through switch with a simple loop.
10933
10934         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10935         Warning suppression.
10936
10937         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10938         the return value of Lstream_getc, which could be EOF as well.
10939
10940         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10941
10942         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10943         APIs can be used on Extbytes without casts.  Risky!
10944         (SExtbyte): Remove.
10945         (UExtbyte): Remove.
10946
10947         * input-method-xlib.c (XIM_init_device):
10948         Use Xlib.h instead of IntrinsicP.h.
10949         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10950         which will break in X11R7.
10951         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10952         to call XRegisterIMInstantiateCallback with correct types.
10953
10954         * gui-x.c (button_item_to_widget_value): Type correctness.
10955
10956         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10957
10958         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10959         (xbm_instantiate_1): Type correctness.
10960         (BUILD_GLYPH_INST):  Type correctness.
10961
10962         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10963
10964         * file-coding.c:
10965         (decode_coding_sjis):
10966         (decode_coding_big5):
10967         (decode_coding_ucs4):
10968         (decode_coding_utf8):
10969         (decode_coding_iso2022):
10970         (decode_coding_no_conversion):
10971         Make all decoding functions take an Extbyte * arg.
10972         (encode_coding_sjis):
10973         (encode_coding_big5):
10974         (encode_coding_ucs4):
10975         (encode_coding_utf8):
10976         (encode_coding_iso2022):
10977         (encode_coding_no_conversion):
10978         Make all encoding functions take a Bufbyte * arg.
10979         Use size_t instead of unsigned int for memory sizes.
10980         Only cast to unsigned char whenever dereferencing Extbyte *.
10981
10982         * doc.c (unparesseuxify_doc_string): Type correctness.
10983
10984         * console-x.c (split_up_display_spec):
10985         Rewrite without using details of internal string representation.
10986         (x_semi_canonicalize_device_connection): Type correctness.
10987
10988         * config.h.in:
10989         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10990         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10991         (HAVE_XFREE386): Removed.
10992
10993         * buffer.h (DEC_CHARPTR): `const' correctness.
10994         (bufbyte_strcmp): New.
10995         (bufbyte_memcmp): New.
10996
10997         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10998
10999         * buffer.h (XCHAR_OR_CHAR_INT):
11000         Always use inline function.
11001         Remove redundant type checking assert() - XINT will abort quite nicely.
11002
11003 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11004
11005         * search.c (Freplace_match): Set newtext to an empty string.
11006
11007 2000-10-10  Martin Buchholz  <martin@xemacs.org>
11008
11009         * s/decosf1-3.h: Remove #include of stropts.h
11010         * s/ptx.h: Remove #include of stropts.h
11011         * s/usg5-4.h: Remove #include of stropts.h
11012         * sysproc.h:
11013         * config.h.in:
11014         Use stropts.h, not sys/stropts.h.
11015         Use strtio.h, not sys/strtio.h.
11016
11017 2000-10-04  Martin Buchholz <martin@xemacs.org>
11018
11019         * XEmacs 21.2.36 is released.
11020
11021 2000-09-21  Andy Piper  <andy@xemacs.org>
11022
11023         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11024         changes still involve copying the widget tree.
11025         (update_widget_face): make sure a change is register in the widget
11026         tree. Call update_tab_widget_face appropriately.
11027         (update_tab_widget_face): ditto.
11028         (x_tab_control_redisplay): make sure non-structural changes still
11029         involve copying the widget tree.
11030
11031 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11032
11033         * lread.c (locate_file): Check the path element is non-nil.
11034
11035 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11036
11037         * lisp.h: Warning suppression for SCO compilers.
11038
11039         * redisplay-tty.c (reset_tty_modes): Fix crash.
11040         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11041
11042 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11043
11044         Big signal/process handling overhaul.  Bugs fixed:
11045         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11046         M-x comint-kill-subjob should work for both values nil and t of
11047         process-connection-type. It was broken on most platforms.
11048         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11049         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11050         * process-unix.c: Signal/Process handling overhaul.
11051         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11052         (allocate_pty): Use all available modern methods of allocating
11053         ptys, falling back to old style BSD allocation as a last resort.
11054         Use allegedly more secure Unix98 pty allocation by default.
11055         (allocate_pty_the_old_fashioned_way): New. the last resort.
11056         (unix_create_process): Push ptem, ldterm, ttcompat where
11057         available.  Autoconfiscate.
11058         (try_to_initialize_subtty): New.
11059         (unix_kill_child_process): Proper signal handling for ptys on most
11060         platforms, using special knowledge of AIX, BSD, etc...
11061         (unix_create_process): Always disconnect_controlling_terminal() for
11062         subprocesses, whether using ptys or not.
11063         * process.h: Remove old getpt-dependent PTY code.
11064         * process.c (Fprocess_send_signal): New, obvious generic function.
11065         (decode_signal): New.
11066         (Finterrupt_process):
11067         (Fkill_process):
11068         (Fquit_process):
11069         (Fstop_process):
11070         (Fcontinue_process):
11071         (Fsignal_process): Use decode_signal.
11072         (process_send_signal):
11073         Many docstring corrections.
11074         Allow any signal to be sent to a process object.
11075         * config.h.in: Add symbols for big signal/process overhaul.
11076         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11077         * sysproc.h: Include process-related headers, where available:
11078         sys/stropts.h sys/strtio.h pty.h libutil.h
11079         * s/irix4-0.h:
11080         * s/irix5-0.h:
11081         * s/cygwin32.h:
11082         * s/gnu.h:
11083         * s/linux.h:
11084         * s/hpux.h:
11085         * s/aix3-1.h:
11086         Remove old S&M pty stuff.
11087         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11088         * systty.h: Simplify cpp hackery, improve comments.
11089         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11090
11091         * editfns.c (Fformat_time_string):
11092         Be a little more paranoid with the return value of ctime.
11093
11094         * fileio.c (check_executable):
11095         (check_writable):
11096         Use symbolic constants X_OK, W_OK.
11097
11098         * console-x.c (split_up_display_spec): Fix a warning.
11099
11100 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11101
11102         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11103         * ntproc.c (sys_spawnve): make_string ==> build_string
11104         Small clarity improvements.
11105
11106 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11107
11108         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11109
11110         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11111
11112         * config.h.in (HAVE_STRCASECMP): Remove.
11113
11114 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11115
11116         * redisplay-output.c (redisplay_output_pixmap):
11117         Cleaner and possibly more 64-bit correct code.
11118
11119 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11120
11121         * dumper.c (pdump_load_finish): move restoration of
11122         `noninteractive1' to emacs.c (main_1).
11123         * emacs.c (main_1): protect LISP-visible command-line flags
11124         from pdump_load().
11125
11126 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11127
11128         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11129         DUMP_TARGET instead of literal program names.
11130
11131 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11132
11133         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11134
11135 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11136
11137         * *: Spelling mega-patch
11138
11139 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11140
11141         * fns.c (bad_bad_turtle):
11142         Delete "Eek!" comment, since we fixed the bug to which it refers.
11143
11144 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11145
11146         * alloca.c: Replace REGISTER with register.
11147
11148 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11149
11150         * file-coding.c (ucs_to_char): Use countof.
11151
11152 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11153
11154         * file-coding.c: (ucs_to_char):
11155         (complex_vars_of_file_coding):
11156         Use countof instead of sizeof.
11157         Use CHECK_NATNUM instead of CHECK_INT.
11158
11159         * sysdep.c (strcasecmp): Remove.
11160         * device-x.c (ascii_strcasecmp): New.
11161         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11162         Avoid using non-standard non-portable strcasecmp.
11163
11164 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11165
11166         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11167         * font-lock.c: remove reference to emacsfns.h.
11168         * search.c: small doc improvement.
11169         * event-Xt.c: correct file names in comments.
11170         * console-x.h Correct file names in comments.
11171         * frame.c: Correct file names in comments.
11172         * event-stream.c: remove Energize from comments.
11173
11174 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11175
11176         * symeval.h (DEFERROR_STANDARD):
11177         (DEFERROR):
11178         (DEFSYMBOL):
11179         (DEFSYMBOL_NO_DUMP):
11180         (DEFSYMBOL_MULTIWORD_PREDICATE):
11181         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11182         (DEFKEYWORD):
11183         The construct &##name is not sensible C.
11184         Fixes compilation errors with Unixware native compiler.
11185
11186 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11187
11188         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11189         (next_frame_internal): Removed.  We now just have next_frame.
11190         (next_frame):
11191         Write a simpler and cleaner one-pass algorithm.
11192         Remove called_from_delete_device arg and #ifdefed-out code.
11193         (previous_frame):
11194         Renamed from prev_frame.  Update callers.
11195         Cleaned up to have an analogous implementation to next_frame.
11196         (other_visible_frames_internal): Remove the
11197         called_from_delete_device bogus arg, and hence, remove this
11198         function.  Just use other_visible_frames().
11199
11200         * window.c (Fnext_window):
11201         Prettify docstring.
11202         Since next_frame() is guaranteed to return a frame, remove check
11203         for nil inserted in previous patch.
11204         (Fprevious_window):
11205         Prettify docstring.
11206         Make code look more like Fnext_window.
11207         (window_loop):
11208         Respect the `console' arg when iterating through windows.
11209         Fixes bug: (get-buffer-window buffer t device) not respecting
11210         the `device' arg.
11211         This function needs more work, as others have pointed out.
11212
11213         * frame.h: Rename prev_frame to previous_frame.
11214         device_matches_console_spec no longer takes a `frame' arg.
11215
11216         * s/gnu.h:
11217         * s/linux.h:
11218         * s/hpux.h:
11219         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11220         From "Golubev I. N." <gin@mo.msk.ru>.
11221
11222         * make-src-depend: Fix typo.
11223
11224 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11225
11226         * window.c (Fnext_window):
11227         next_frame() might return nil, not a frame.
11228         Fixes this crash:
11229         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11230
11231         * frame.c (next_frame_internal):
11232         We've passed a frame if we've passed its device.
11233         Fixes this crash:
11234         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11235 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11236
11237 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11238
11239         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11240         Allow option to suppress accelerators in menu/dialog items.
11241         (populate_or_checksum_helper): Pass dialog title through above.
11242
11243 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11244
11245         * event-msw.c (mswindows_key_to_emacs_keysym):
11246         Add "pause" key, fix "menu" key.
11247
11248 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11249
11250         * eval.c (reinit_vars_of_eval):
11251         Increase max_lisp_eval_depth to 1000,
11252         required for thai-xtis.el to byte-compile under some circumstances.
11253
11254 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11255
11256         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11257         From Kenichi Handa.
11258
11259 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11260
11261         * make-src-depend: Make the generated Makefiles smaller.
11262
11263         * s/hpux.h (SETUP_SLAVE_PTY):
11264         Provide a %d in the format string for the errno argument.
11265
11266         * editfns.c (Ftemp_directory):
11267         Warning fix.
11268         Avoid buffer overrun on very long file name.
11269
11270         * input-method-xlib.c (XIM_init_device):
11271         6th parameter of XRegisterIMInstantiateCallback has different
11272         pointer types on different OSes, so simply cast to (void *).
11273
11274         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11275
11276         * sysdll.c (dll_open):
11277         shl_load will hang hard if passed a NULL filename.
11278         Simply return NULL for compatibility with dlopen.
11279         * sysdll.c: Conform to XEmacs coding standards.
11280
11281         * sysdep.c (get_pty_max_bytes):
11282         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11283
11284 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11285
11286         * tooltalk.c: Add #include <syssignal.h>
11287
11288 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11289
11290         * s/hpux.h: Don't use undefined function sigunblock().
11291
11292 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11293
11294         * config.h.in: Add HAVE_BALLOON_HELP.
11295         * emacs.c: Use HAVE_BALLOON_HELP.
11296         * Makefile.in.in (x_objs):
11297         Make Balloon Help conditional on finding shape.h.
11298
11299 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11300
11301         * syntax.c (regex_emacs_buffer_p): New variable.
11302         * syntax.h (regex_emacs_buffer_p): extern.
11303         * search.c (looking_at_1):
11304         (string_match_1):
11305         (fast_string_match):
11306         (search_buffer): Set regex_emacs_buffer_p.
11307         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11308         when before_dot, at_dot, after_dot.
11309
11310 2000-08-23  Andy Piper  <andy@xemacs.org>
11311
11312         * gui-x.c (popup_selection_callback): Only set action_occurred
11313         when we really have an image instance.
11314         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11315
11316 2000-08-23  Andy Piper  <andy@xemacs.org>
11317
11318         * gui-msw.c (mswindows_handle_gui_wm_command): set
11319         action_occurred.
11320         * gui-x.c (popup_selection_callback): ditto.
11321
11322         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11323         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11324         (struct Lisp_Image_Instance): add action_occurred flag.
11325
11326         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11327         (image_instance_changed): ditto.
11328         (reset_frame_subwindow_instance_cache): only unmap windows - do
11329         not remove them from the cache also.
11330
11331         * glyphs-widget.c (tab_control_update): better debug.
11332         (progress_gauge_update): ditto.
11333         (layout_update): ditto.
11334         (layout_instantiate): ditto.
11335         (tab_control_order_only_changed): cope with null pending items.
11336
11337         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11338         debug. Force selection of an item when an action occurred. Cope
11339         with null pending_items.
11340         (mswindows_progress_gauge_redisplay): better debug.
11341         * glyphs-x.c (x_tab_control_redisplay): ditto.
11342
11343         * redisplay.c (redisplay_frame): reset the frame cache if the
11344         frame is garbaged.
11345
11346         * window.c (Fset_window_configuration): potentially re-enable
11347         frame cache reset.
11348         (window_unmap_subwindows): need to finalize instances here since
11349         it is only used in mark_window_as_deleted.
11350
11351 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11352
11353         * nas.c (SndOpenDataForReading):
11354         nas.c (WaveOpenDataForReading):
11355         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11356         Somehow escaped from the 2000-08-14 patch.
11357
11358 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11359
11360         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11361         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11362
11363 2000-08-21  Andy Piper  <andy@xemacs.org>
11364
11365         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11366         window if it is not already displayed.
11367
11368         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11369         it is not already displayed.
11370
11371         * window.c (Fset_window_configuration): don't reset the frame
11372         cache.
11373
11374         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11375         instances from the frame cache if we are actually finalizing them.
11376         (reset_frame_subwindow_instance_cache): reset frame cache only
11377         after unmapping everything.
11378         (map_subwindow): set displayed flag after mapping.
11379
11380 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11381
11382         * data.c (indirect_function):
11383         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11384
11385         * eval.c (function_argcount):
11386         Use original function when signaling errors.
11387
11388 2000-08-18  Andy Piper  <andy@xemacs.org>
11389
11390         * frame.c (delete_frame_internal): use new
11391         free_frame_subwindow_instances name.
11392
11393         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11394         (add_tab_item): make return type correct.
11395         (mswindows_tab_control_instantiate): assert index of tab.
11396         (mswindows_tab_control_redisplay): Re-code to use
11397         gui_item_equal_sans_selected and gui_item_list_find_selected.
11398
11399         * glyphs-widget.c (tab_control_update): Correct comment.
11400
11401         * window.c (window_unmap_subwindows): use new
11402         unmap_subwindow_instance_cache_mapper.
11403         (window_unmap_subwindows_cache_mapper): deleted.
11404         (Fset_window_configuration): comparisons should now be with
11405         EQ. Preserve the subwindow instance cache across configuration
11406         changes.
11407         (allocate_window): ditto.
11408         (make_dummy_parent): ditto.
11409
11410         * glyphs.c (free_frame_subwindow_instances): rename from
11411         free_frame_subwindow_instance_cache. finalize all instances rather
11412         than just those in the display cache.
11413         (finalize_all_subwindow_instances): walk windows unmapping and
11414         finalizing subwindows.
11415         (unmap_subwindow_instance_cache_mapper): moved from
11416         window.c. Allow finalization as well as unmapping.
11417
11418         * gui.c (gui_item_list_find_selected): new function.
11419
11420         * gui.h (gui_item_list_find_selected): declare.
11421
11422         * glyphs-x.c (x_tab_control_redisplay): pick tab
11423         explicitly. Re-code to use gui_item_equal_sans_selected and
11424         gui_item_list_find_selected.
11425
11426         * glyphs-x.h: add lwlib-utils.h
11427
11428         * buffer.c (Frecord_buffer): undo previous change.
11429
11430 2000-08-09  Vin Shelton  <acs@xemacs.org>
11431
11432         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11433         possible.  Create temporary files more securely.  The patch was
11434         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11435         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11436         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11437         for details.
11438
11439 2000-08-07  Ben Wing  <ben@xemacs.org>
11440
11441         * getloadavg.c: remove duplicate (and windows-breaking)
11442         includes of fcntl.h and sys/file.h.
11443
11444         * nt.c: remove duplicate getloadavg() definition.
11445
11446         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11447         encodings.
11448
11449 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11450
11451         * eval.c (function_argcount): If function needs to be autoloaded
11452         actually use the loaded definition.
11453         GCPRO function.
11454
11455 2000-08-05  Ben Wing  <ben@xemacs.org>
11456
11457         * getloadavg.c: add prototype for getloadavg().  remove
11458         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11459         of the code).  remove duplicate header includes.
11460
11461         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11462
11463         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11464         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11465         useful load average.
11466
11467         * alloc.c (reinit_alloc_once_early): removed references to
11468         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11469         the lisp vars are the only things referencing the malloc_sbrk_*
11470         vars, and they were already if 0'd out.  these vars only exist
11471         in the older malloc.c, which is basically unused, and they're
11472         only for informational purposes.
11473
11474         * m\*.h: removed useless VIRT_ADDR_VARIES.
11475
11476         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11477
11478 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11479
11480         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11481         color if the image is a mono pixmap.
11482
11483 2000-07-30  Ben Wing  <ben@xemacs.org>
11484
11485         * Makefile.in.in (release):
11486         Remove stray @.
11487
11488         * buffer.c (directory_is_current_directory):
11489         * dired-msw.c (mswindows_get_files):
11490         * dired.c:
11491         * dired.c (Fdirectory_files):
11492         * dired.c (file_name_completion_stat):
11493         * dired.c (Ffile_attributes):
11494         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11495         preprocessor tricks, to avoid problems on some machines
11496         (e.g. SCO).
11497
11498         * callproc.c (egetenv): GC docs.
11499
11500         * console-msw.h:
11501         * console-msw.h (struct mswindows_dialog_id):
11502         * lrecord.h (lrecord_type):
11503         New object for use with MSW dialogs.
11504
11505         * console.h (struct console_methods):
11506         New enable/disable frame methods, for proper modal dialogs.
11507
11508         * device-msw.c (msprinter_default_printer): Fix to follow
11509         proper Mule conventions.
11510
11511         * device-msw.c:
11512         * device-msw.c (signal_open_printer_error):
11513         * device-msw.c (msprinter_init_device):
11514         * device-msw.c (ensure_not_printing):
11515         * device-msw.c (plist_get_margin):
11516         * device-msw.c (Fmsprinter_select_settings):
11517         * device-msw.c (finalize_devmode):
11518         * device-msw.c (Fmsprinter_settings_despecialize):
11519         * device-msw.c (signal_enum_priner_error):
11520         * extents.c (decode_extent):
11521         * extents.c (decode_map_extents_flags):
11522         * extents.c (decode_extent_at_flag):
11523         * extents.c (Fextent_at):
11524         * extents.c (Fextents_at):
11525         * extents.c (symbol_to_glyph_layout):
11526         [[[[2]]]] Use structured errors.
11527
11528         * dialog-msw.c:
11529         * dialog-msw.c (mswindows_is_dialog_msg):
11530         * dialog-msw.c (mark_mswindows_dialog_id):
11531         * dialog-msw.c (dialog_proc):
11532         * dialog-msw.c (handle_question_dialog_box):
11533         * dialog-msw.c (syms_of_dialog_mswindows):
11534         Define new object to clean up marking; use it as a dialog identifier.
11535         Call new delete-dialog-box-hook.
11536
11537         * dialog-x.c (dbox_selection_callback):
11538         * dialog-x.c (dbox_descriptor_to_widget_value):
11539         * dialog-x.c (x_make_dialog_box_internal):
11540         Call new delete-dialog-box-hook.
11541         Return an id.
11542
11543         * dialog.c:
11544         * dialog.c (syms_of_dialog):
11545         * dialog.c (vars_of_dialog):
11546         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11547
11548         * eval.c:
11549         * eval.c (signal_call_debugger):
11550         when noninteractive, output stack traces on the console instead
11551         of in a (never-seen) buffer.
11552
11553         * eval.c (signal_type_error):
11554         * eval.c (invalid_argument_2):
11555         * lisp.h:
11556         new funs for use w/structured errors.
11557
11558         * event-Xt.c:
11559         * event-Xt.c (x_to_emacs_keysym):
11560         * event-Xt.c (describe_event):
11561         * event-Xt.c (emacs_Xt_event_handler):
11562         * event-Xt.c (vars_of_event_Xt):
11563         * event-msw.c:
11564         * event-msw.c (mswindows_wnd_proc):
11565         * event-msw.c (vars_of_event_mswindows):
11566         rename {x,mswindows}-debug-events to debug-{}-events for
11567         consistency with other debug-foo variables.
11568
11569         * event-stream.c:
11570         document next-event more clearly.
11571
11572         * fileio.c (Ffile_name_directory):
11573         * fileio.c (Ffile_name_nondirectory):
11574         * fileio.c (Funhandled_file_name_directory):
11575         * fileio.c (file_name_as_directory):
11576         * fileio.c (Ffile_name_as_directory):
11577         * fileio.c (directory_file_name):
11578         * fileio.c (Fdirectory_file_name):
11579         * fileio.c (Fmake_temp_name):
11580         * fileio.c (Ffile_truename):
11581         * fileio.c (Fsubstitute_in_file_name):
11582         * fileio.c (expand_and_dir_to_file):
11583         * fileio.c (barf_or_query_if_file_exists):
11584         * fileio.c (check_executable):
11585         * fileio.c (Ffile_exists_p):
11586         * fileio.c (Ffile_writable_p):
11587         * fileio.c (Ffile_directory_p):
11588         * fileio.c (Ffile_regular_p):
11589         * fileio.c (Ffile_modes):
11590         * fileio.c (Ffile_newer_than_file_p):
11591         * fileio.c (Fverify_visited_file_modtime):
11592         * fileio.c (Fset_visited_file_modtime):
11593         * fileio.c (auto_save_1):
11594         (1). (2).
11595         fix up gcpro's.
11596
11597         * frame-msw.c:
11598         * frame-msw.c (mswindows_init_frame_1):
11599         * frame-msw.c (mswindows_enable_frame):
11600         * frame-msw.c (error_frame_unsizable):
11601         * frame-msw.c (msprinter_init_frame_1):
11602         * frame-msw.c (msprinter_init_frame_3):
11603         * frame-msw.c (console_type_create_frame_mswindows):
11604         (2).
11605         implement new enable/disable frame methods.
11606
11607         * frame-x.c:
11608         * frame-x.c (x_enable_frame):
11609         * frame-x.c (console_type_create_frame_x):
11610         implement new enable/disable frame methods.
11611
11612         * frame.c:
11613         * frame.c (Fdisable_frame):
11614         * frame.c (syms_of_frame):
11615         * frame.h (struct frame):
11616         implement new enable/disable frame methods/functions.
11617
11618         * general-slots.h:
11619         add initial-focus.
11620
11621         * glyphs-msw.c (mswindows_widget_instantiate):
11622         comment that initial-focus should be implemented.
11623
11624         * glyphs-widget.c:
11625         * glyphs-widget.c (check_valid_instantiator):
11626         * glyphs-widget.c (check_valid_orientation):
11627         * glyphs-widget.c (check_valid_tab_orientation):
11628         * glyphs-widget.c (check_valid_justification):
11629         * glyphs-widget.c (check_valid_border):
11630         * glyphs-widget.c (check_valid_callback):
11631         * glyphs-widget.c (check_valid_int_or_function):
11632         * glyphs-widget.c (check_valid_string_or_vector):
11633         * glyphs-widget.c (check_valid_item_list_1):
11634         * glyphs-widget.c (widget_validate):
11635         * glyphs-widget.c (combo_box_validate):
11636         * glyphs-widget.c (widget_instantiate):
11637         * glyphs-widget.c (syms_of_glyphs_widget):
11638         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11639         * glyphs-widget.c (image_instantiator_combo_box):
11640         * glyphs-widget.c (image_instantiator_scrollbar):
11641         * glyphs-widget.c (image_instantiator_tab_control):
11642         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11643         (2).
11644         support (unimplemented) keyword initial-focus.
11645         reindent long macros.
11646
11647         * glyphs-x.c (x_redisplay_widget):
11648         * glyphs-x.c (x_button_instantiate):
11649         * glyphs-x.c (x_button_redisplay):
11650         * glyphs-x.c (x_progress_gauge_instantiate):
11651         * glyphs-x.c (x_edit_field_instantiate):
11652         * glyphs-x.c (x_combo_box_instantiate):
11653         * glyphs-x.c (x_tab_control_instantiate):
11654         * glyphs-x.c (x_label_instantiate):
11655         * gui-x.c:
11656         * gui-x.c (button_item_to_widget_value):
11657         * gui-x.c (gui_items_to_widget_values_1):
11658         * gui-x.c (gui_item_children_to_widget_values):
11659         * gui-x.c (gui_items_to_widget_values):
11660         * gui-x.h:
11661         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11662         add new flag to gui-parsing routines to indicate whether
11663         accelerator specs should be supported.
11664
11665         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11666
11667         * glyphs.h (struct Lisp_Image_Instance):
11668         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11669         add initial-focus flag.
11670
11671         * gui.c:
11672         * gui.c (syms_of_gui):
11673         * gui.c (vars_of_gui):
11674         clean up menu-no-selection-hook.
11675
11676         * gui.h:
11677         support delete-dialog-box-hook.
11678
11679         * lread.c (Fload_internal):
11680         * lread.c (locate_file_in_directory_mapper):
11681         (1).
11682
11683         * lrecord.h:
11684         * lrecord.h (struct toolbar_button):
11685         * lrecord.h (syms_of_toolbar):
11686         document how to create a new object.
11687
11688         * menubar-msw.c (mswindows_char_is_accelerator):
11689         may be called on frames w/o menus.
11690
11691         * menubar.c (vars_of_menubar):
11692         clean up :filter docs.
11693
11694         * nt.c (readdir):
11695         * ntproc.c:
11696         (1).
11697
11698         * process-nt.c:
11699         * process-nt.c (validate_signal_number):
11700         * process-nt.c (signal_cannot_launch):
11701         * process-nt.c (nt_create_process):
11702         * process-nt.c (nt_send_process):
11703         * process-nt.c (nt_kill_child_process):
11704         * process-nt.c (nt_open_network_stream):
11705         * process-nt.c (syms_of_process_nt):
11706         (2).
11707         delete quote-handling.  call new lisp code that does it better.
11708
11709         * process-unix.c (connect_to_file_descriptor):
11710         * process-unix.c (allocate_pty):
11711         * process-unix.c (unix_send_process):
11712         * process-unix.c (unix_kill_child_process):
11713         * process-unix.c (unix_open_network_stream):
11714         * process-unix.c (unix_open_multicast_group):
11715         (1). (2).
11716
11717         * process.c:
11718         * process.c (Fstart_process_internal):
11719         (2).  need to canonicalize process path even if absolute.
11720
11721         * select-msw.c (symbol_to_ms_cf):
11722         * select-msw.c (ms_cf_to_symbol):
11723         * select-msw.c (cf_is_autofreed):
11724         * select-msw.c (mswindows_destroy_selection):
11725         * select.c:
11726         * select.c (syms_of_select):
11727         * select.h:
11728         support dibv5, fix bugs. (from Mike Alexander)
11729
11730         * select.c (Fget_selection_internal):
11731         * select.c (select_convert_out):
11732
11733         * sysdep.c:
11734         * sysdep.c (xemacs_stat):
11735         renamed.
11736
11737         * sysdep.c (mkdir):
11738         * sysdep.c (rmdir):
11739         but keep original stat() here because we provide encapsulation
11740         around these funs.
11741
11742         * sysfile.h:
11743         * sysfile.h (fstat):
11744         remove stat garbage.
11745
11746         * syswindows.h:
11747         fix X/MSW conflict.
11748         don't include tchar.h.  it's inappropriate because it makes
11749         compile-time distinctions when we want runtime distinctions.
11750         (we provide our own tchar replacements)
11751
11752         * toolbar.c:
11753         use default object printer for toolbar-button.
11754
11755         * unexcw.c:
11756         make sure we don't encapsulate.
11757
11758         * window.c (vars_of_window):
11759         emphasize that temp-buffer-show-hook is obsolete.
11760
11761 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11762
11763         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11764         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11765
11766         * events.c (Fevent_timestamp_lessp):
11767         Not 64-bit clean.  Use EMACS_INT, not int.
11768
11769 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11770
11771         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11772         unsigned int and changed the last enum to
11773         lrecord_type_last_built_in_type.
11774         (lrecord_implementations_table): changed prototype to know how
11775         long the array is supposed to be.
11776         (lrecord_type_count): new unsigned int to keep track of the
11777         current number of lisp lrecord types.
11778         (DEFINE_EXTERNAL_LRECORD):
11779         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11780         dynamic-modules to declare new lisp types. They are the same
11781         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11782         int for each new type, and increment lrecord_type_count by 1.
11783
11784         * alloc.c (lrecord_implementations_table): Changed to reference
11785         lrecord_type_last_built_in_type for the size of the array.
11786         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11787
11788 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11789
11790         * glyphs.h (check_valid_item_list): Renamed from
11791         check_valid_item_list_1.
11792
11793 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11794
11795         * select.c (Qselect_coerce): New.
11796         * select.c (Vselection_coercion_alist): New.
11797         * select.c (syms_of_select): Declare.
11798         * select.c (get-selection-internal): Use it.
11799         Use the new select-coerce functionality.
11800
11801         * select.c (select_coerce): New.
11802         * select.h (select_coerce): Declare.
11803         New function to coerce one type of data into another.
11804
11805 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11806
11807         * callproc.c (Fcall_process_internal):
11808         (Fcall_process_internal):
11809         * process-unix.c (unix_create_process):
11810         Save and restore the value of errno, so that error messages are accurate.
11811
11812 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11813
11814         * elhash.c (print_hash_table):
11815         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11816         Prettify docstrings and indentation.
11817
11818 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11819
11820         * window.c (Fwindow_pixel_edges): Subtract frame border and
11821         gutter size.
11822
11823 2000-07-31  Andy Piper  <andy@xemacs.org>
11824
11825         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11826         will acknowledge the change.
11827
11828         * glyphs.h: declare tab_control_order_only_changed.
11829
11830         * glyphs-x.c (x_tab_control_redisplay): use
11831         tab_control_order_only_changed.
11832
11833         * glyphs-widget.c (tab_control_order_only_changed): new function.
11834
11835         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11836         tab_control_order_only_changed.
11837
11838         * gui.c (gui_item_equal_sans_selected): new function.
11839         (gui_item_equal): use it.
11840
11841         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11842         :properties in favor of :items..
11843
11844         * glyphs-widget.c (check_valid_item_list): rename from
11845         check_valid_item_list_1.
11846         (check_valid_item_list_1): renamed.
11847         (combo_box_validate): deprecate :properties in favor of :items.
11848         (widget_instantiate): ditto.
11849         (tab_control_update): ditto.
11850         (image_instantiator_combo_box): ditto.
11851         (image_instantiator_tree_view): ditto.
11852         (image_instantiator_tab_control): ditto.
11853         (layout_post_instantiate): remove dead code.
11854
11855         * print.c (debug_print_no_newline): only write to debugger if in
11856         WIN32_NATIVE.
11857
11858         * elhash.c (Fmake_hash_table): update doc string.
11859
11860         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11861         messages whilst in GC. This at least stops XEmacs crashing but has
11862         the potential for wierd behaviour.
11863
11864 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11865
11866         * config.h.in:
11867         Make existence of s&m files optional.
11868
11869         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11870         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11871         * s/gnu.h: Remove HAVE_GETLOADAVG.
11872         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11873         * s/sol2.h: Remove HAVE_GETLOADAVG.
11874         * lisp.h: Remove getloadavg() declaration.
11875         * fns.c:
11876         Include <sys/loadavg.h> if available.
11877         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11878         * config.h.in:  Group together getloadavg()-related macros.
11879         Use only configure-time tests to detect getloadavg().
11880
11881 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11882
11883         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11884
11885 2000-07-25  Andy Piper  <andy@xemacs.org>
11886
11887         * syswindows.h: add tchar.h for native builds.
11888
11889         * frame.c (syms_of_frame): remove set-glyph-image.
11890
11891         * general-slots.h: add Qset_glyph_image.
11892
11893         * glyphs-widget.c (layout_update): add domain arg to
11894         set-glyph-image.
11895         (syms_of_glyphs_widget): remove set-glyph-image.
11896
11897 2000-07-23  Ben Wing  <ben@xemacs.org>
11898
11899         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11900         Vpopup_frame_list.
11901
11902 2000-07-22  Andy Piper  <andy@xemacs.org>
11903
11904         * symsinit.h: add syms_of_win32().
11905
11906         * gui-msw.c (syms_of_gui_mswindows): remove
11907         Fmswindows_shell_execute.
11908         (Fmswindows_shell_execute): moved to win32.c.
11909
11910         * emacs.c (main_1): add syms_of_win32 ().
11911
11912         * win32.c (init_potentially_nonexistent_functions): rewrite in
11913         compiler-friendly terms.
11914         (Fmswindows_shell_execute): move here from gui-msw.c.
11915         (syms_of_win32): new.
11916
11917         * device-msw.c (Fmswindows_printer_list): clean up args to
11918         EnumPrinters.
11919         Don't include tchar under cygwin or mingw.
11920         (msprinter_default_printer): make cygwin-friendly.
11921
11922 2000-07-21  Andy Piper  <andy@xemacs.org>
11923
11924         * glyphs-widget.c (image_instantiator_tree_view): use tab
11925         control's update function.
11926         (layout_property): new function. Retrieve items.
11927
11928         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11929         function. Re-populate the tree view from the pending items.
11930
11931         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11932         is designated the parent if the domain is an image instance. This
11933         is needed so that dirtiness can be cascade up the hierarchy and
11934         thus for layout children to be redisplayed correctly.
11935         (allocate_image_instance): rename glyph -> parent.
11936
11937         * redisplay.h: change redisplay_output_layout signature.
11938
11939         * redisplay-msw.c (mswindows_output_display_block): use domain
11940         arg.
11941
11942         * redisplay-x.c (x_output_display_block): use domain arg.
11943
11944 2000-07-10  Andy Piper  <andy@xemacs.org>
11945
11946         * window.c (Fset_window_configuration): add comment.
11947
11948         * redisplay-output.c (compare_runes):
11949         (redisplay_output_subwindow): redisplay rather than update subwindow.
11950         (redisplay_output_layout): ditto.
11951
11952         * redisplay-msw.c (mswindows_frame_output_end):
11953         (mswindows_frame_output_end): make defer window pos optional.
11954
11955         * lisp.h: add Flast.
11956
11957         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11958         normalize method. Change update method to be for changed
11959         instantiators. Add redisplay method. Change signature of layout
11960         method.
11961         (struct Lisp_Image_Instance): add instantiator.
11962         (IMAGE_INSTANCE_INSTANTIATOR): new.
11963         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11964         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11965         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11966
11967         * glyphs.c:
11968         (find_instantiator_differences): new function.
11969         (Fset_instantiator_property): new convenience function.
11970         (check_image_instance_structure): strictly check for vector
11971         instantiators.
11972         (normalize_image_instantiator): make non-static.
11973         (instantiate_image_instantiator): pass on dest_mask and use new
11974         signatures for image_instance_layout and friends.
11975         (mark_image_instance): mark the instantiator. Mark the subwindow
11976         face not the widget face.
11977         (image_instance_equal): add instantiator.
11978         (image_instance_hash): ditto.
11979         (allocate_image_instance): ditto.
11980         (Fset_image_instance_property): removed.
11981         (Fimage_instance_file_name): ditto.
11982         (Fcolorize_image_instance): ditto.
11983         (image_instance_layout): add offsets to be set.
11984         (update_image_instance): new function. update an image instance
11985         from its changed instantiator.
11986         (inherit_normalize): add dest_mask.
11987         (xbm_normalize): ditto.
11988         (xface_normalize): ditto.
11989         (xpm_normalize): ditto.
11990         (text_update): set_property -> update.
11991         (image_instantiate): use the glyph identity as a hash key, not the
11992         instantiator.
11993         (glyph_width): use new image_instance_layout signature.
11994         (glyph_ascent): ditto.
11995         (glyph_descent): ditto.
11996         (glyph_height): ditto.
11997         (glyph_query_geometry): ressurrect.
11998         (glyph_layout): ditto.
11999         (redisplay_subwindow): update -> redisplay.
12000         (syms_of_glyphs): add Fset_instantiator_property.
12001         (image_instantiator_format_create): set_property -> update.
12002
12003         * glyphs-x.c:
12004         (autodetect_normalize): add dest_maks to signature.
12005         (x_redisplay_subwindow): update -> redisplay.
12006         (x_redisplay_widget): ditto.
12007         (x_button_redisplay): ditto.
12008         (x_progress_gauge_redisplay): ditto.
12009         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
12010         stacking order.
12011         (console_type_create_glyphs_x): update -> redisplay.
12012         (image_instantiator_format_create_glyphs_x): ditto.
12013
12014         * glyphs-widget.c:
12015         (check_valid_instantiator): disallow glyphs in the instantiator,
12016         they must now be vectors.
12017         (check_valid_instantiator_list): ditto.
12018         (glyph_instantiator_to_glyph): use internal symbol rather than
12019         intern.
12020         (widget_update): renamed from widget_set_property. Call cascaded
12021         update methods.
12022         (redisplay_widget): renamed from update_widget.
12023         (widget_layout): image_instance_layout now takes position as well
12024         as size.
12025         (widget_normalize): ditto.
12026         (widget_instantiate): ditto.
12027         (tab_control_query_geometry) ditto.:
12028         (tab_control_update): renamed from tab_control_set_property.
12029         (progress_gauge_update): set_property -> update.
12030         (layout_normalize): rewrite so that child instantiators are
12031         normalized also.
12032         (layout_update): new function. Create glyphs from the normalized
12033         children and cope with any other layout keywords. We do not
12034         instantiate children here that will be take care of by
12035         redisplay_output_layout.
12036         (layout_instantiate): call layout_update and not much else.
12037         (layout_post_instantiate): not sure whether this is needed
12038         anymore.
12039         (layout_query_geometry): query glyph geometry rather than
12040         image_instance geometry.
12041         (layout_layout): set offsets from pass in parameters. Use glyph
12042         geometry and layout functions rather than image instance ones.
12043         (native_layout_layout): ditto.
12044         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12045         (image_instantiator_widget): set_property -> update.
12046         (image_instantiator_buttons): ditto.
12047         (image_instantiator_progress_guage): ditto.
12048         (image_instantiator_tab_control): ditto.
12049         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12050         (image_instantiator_layout): add update method.
12051
12052         * glyphs-msw.c (bmp_normalize):
12053         (mswindows_resource_normalize): add dest_mask so that it can be
12054         proprogated by layout_normalize.
12055         (begin_defer_window_pos): make optional because it may not be the
12056         right thing to do and it introduces differences with X.
12057         (mswindows_unmap_subwindow): ditto.
12058         (mswindows_map_subwindow): ditto.
12059         (mswindows_redisplay_subwindow): renamed from
12060         mswindows_update_subwindow.
12061         (mswindows_redisplay_widget): ditto.
12062         (mswindows_button_redisplay): renamed from
12063         mswindows_button_update. Update is now what the instantiation
12064         function does for a changed instantiator.
12065         (mswindows_progress_gauge_instantiate): set the progress value
12066         here if appropriate.
12067         (mswindows_tab_control_redisplay): cope with re-ordering of the
12068         members of the tab widget by simply selecting the new top
12069         widget. This makes things appear ok if you click on a tab.
12070         (mswindows_combo_box_instantiate): image_instance_layout now takes
12071         position as well as size.
12072         (mswindows_progress_gauge_redisplay): renamed from
12073         mswindows_progress_gauge_update.
12074         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12075         (image_instantiator_format_create_glyphs_mswindows): ditto.
12076
12077         * glyphs-eimage.c (jpeg_normalize):
12078         (gif_normalize):
12079         (png_normalize):
12080         (tiff_normalize): add dest_mask so that it can be proprogated by
12081         layout_normalize.
12082
12083         * elhash.c:
12084         (print_hash_table):
12085         (hash_table_weakness_validate):
12086         (decode_hash_table_weakness):
12087         (Fhash_table_weakness):
12088         (Fhash_table_type):
12089         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12090
12091         * console.h (struct console_methods): move update_* to
12092         redisplay_*.
12093
12094 2000-07-20  Ben Wing  <ben@xemacs.org>
12095
12096         * *.[ch] (XSETOBJ): remove unused middle argument.
12097         lisp-disunion.h: correct wrap_object() to one argument.
12098
12099 2000-07-15  Ben Wing  <ben@xemacs.org>
12100
12101         * s/cygwin32.h:
12102         * s/cygwin32.h (CYGWIN_CONV_PATH):
12103         Add missing logb prototype for v1.1.
12104         Use post-b20 names and alias to pre-b20 names when pre-b20.
12105
12106         * s/windowsnt.h: [5].
12107
12108 2000-07-15  Ben Wing  <ben@xemacs.org>
12109
12110         * Makefile.in.in (x_objs):
12111         * Makefile.in.in (sheap_objs):
12112         * Makefile.in.in (objs):
12113         added win32.o, cosmetic cleanups.
12114
12115         * alloc.c (Fmake_byte_code):
12116         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12117         etc. macros which declare their own args now.
12118
12119         * alloc.c (syms_of_alloc):
12120         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12121
12122         * buffer.c:
12123         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12124
12125         * buffer.c (Fget_file_buffer):
12126         Fixed GCPRO problem.
12127
12128         * buffer.c (get_truename_buffer):
12129         Fixed comment about GC checking.
12130
12131         * buffer.c (syms_of_buffer):
12132         Undeclared those dedicated frame funs.
12133         [2].
12134
12135         * buffer.h:
12136         Define convenience macros for internal/external conversions.
12137         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12138         and Qenvironment_variable_encoding for cleaner code.
12139
12140         * bufslots.h:
12141         Remove dedicated-frame; in lisp.
12142
12143         * bytecode.c (funcall_compiled_function):
12144         [1].
12145
12146         * bytecode.c (syms_of_bytecode):
12147         [2].
12148
12149         * console-msw.c:
12150         * console-msw.c (mswindows_show_console): Rewrote.
12151
12152         * console-msw.c (Fmswindows_debugging_output): New.
12153         Sends to OutputDebugString (special MSWin debugger interface).
12154
12155         * console-msw.c (Fmswindows_message_box):
12156         Fixed stupid bugs so it works when called from kill-emacs.
12157
12158         * console-msw.c (syms_of_console_mswindows):
12159         Declare Fmswindows_debugging_output.
12160
12161         * console-msw.h:
12162         New MSWin prototypes.
12163
12164         * console-msw.h (struct mswindows_frame):
12165         New entry last-click-mods for improved button-modifier support.
12166
12167         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12168         New struct entry `popup' with corresponding accessor.
12169
12170         * console-x.c:
12171         * console-x.c (split_up_display_spec):
12172         * console-x.c (get_display_arg_connection):
12173         * console-x.c (x_semi_canonicalize_console_connection):
12174         * console-x.c (x_canonicalize_device_connection):
12175         [[[6]]]: Change char to more specific type.
12176         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12177
12178         * console-x.c (x_semi_canonicalize_console_connection):
12179         * console-x.c (x_canonicalize_device_connection):
12180         [[[9]]]: Fix up error signalling to use new structured error system.
12181
12182         * console-x.h:
12183         [[[4]]]: Define codesys aliases:
12184         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12185         Qx_color_name_encoding, Qx_display_name_encoding.
12186
12187         * console.h (struct console_methods):
12188         New method make_dialog_box_internal supersedes older
12189         popup_dialog_box method.
12190
12191         * data.c:
12192         Define many new errors, part of new structured errors.
12193
12194         * data.c (init_errors_once_early):
12195         * data.c (syms_of_data):
12196         [2].
12197
12198         * device-msw.c (mswindows_init_device):
12199         [[[5]]]: Cleanup to support NT 3.51.
12200
12201         * device-msw.c (decode_devmode): Cleanup.
12202
12203         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12204         * device-msw.c (mswindows_handle_print_dialog_box):
12205         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12206         * device-msw.c (syms_of_device_mswindows):
12207         Delete the dialog box primitives recently introduced by Kirill and
12208         instead interface to general dialog box interface.
12209
12210         * device-x.c:
12211         * device-x.c (compute_x_app_name):
12212         * device-x.c (x_init_device):
12213         * device-x.c (Fx_valid_keysym_name_p):
12214         * device-x.c (Fx_set_font_path):
12215         [6].
12216         [7].
12217
12218         * device.h (wrap_device): New.
12219         First of its kind; meant to replace XSETDEVICE.
12220
12221         * dialog-msw.c: Many file-dialog symbols.
12222
12223         * dialog-msw.c (mswindows_register_popup_frame): New.
12224         * dialog-msw.c (mswindows_is_dialog_msg): New.
12225         For supporting kbd traversal in dialog boxes.
12226
12227         * dialog-msw.c (dialog_proc):
12228         Support hitting ESC in dialogs.
12229
12230         * dialog-msw.c (struct):
12231         Common dialog box errors.
12232
12233         * dialog-msw.c (handle_file_dialog_box): New.
12234         Add file dialog code.
12235
12236         * dialog-msw.c (handle_question_dialog_box):
12237         Redo existing code to support new question dialog syntax.
12238
12239         * dialog-msw.c (console_type_create_dialog_mswindows):
12240         We support new dialog console method.
12241
12242         * dialog-msw.c (syms_of_dialog_mswindows):
12243         * dialog-msw.c (vars_of_dialog_mswindows):
12244         New file dialog symbols, vars.
12245
12246         * dialog-x.c:
12247         * dialog-x.c (maybe_run_dbox_text_callback):
12248         * dialog-x.c (dbox_descriptor_to_widget_value):
12249         * dialog-x.c (x_make_dialog_box_internal):
12250         * dialog-x.c (console_type_create_dialog_x):
12251         Mule-ize entire file.
12252         Redo to support question dialog syntax.
12253         [6].
12254
12255         * dialog.c:
12256         * dialog.c (Fmake_dialog_box_internal):
12257         * dialog.c (syms_of_dialog):
12258         Kill old popup-dialog-box, replace with new primitive.
12259         Just call device method or signal error.
12260
12261         * eldap.c (Fldap_open):
12262         * eldap.c (Fldap_search_basic):
12263         * eldap.c (Fldap_add):
12264         * eldap.c (Fldap_modify):
12265         [1].
12266         [7].
12267
12268         * emacs.c:
12269         * emacs.c (make_arg_list_1):
12270         * emacs.c (make_arg_list):
12271         Mule-ize call to dll_init().
12272         [6].
12273         [8].
12274
12275         * emacs.c (make_argc_argv):
12276         * emacs.c (free_argc_argv):
12277         * emacs.c (init_cmdargs):
12278         * emacs.c (main_1):
12279         * emacs.c (Fkill_emacs):
12280         * emacs.c (Fdump_emacs):
12281         Update comments about what can be used in syms_* etc.
12282         Call init_win32() when necessary.
12283         Fix up MS Win dialog box in kill-buffer to actually work right.
12284         [7].
12285
12286         * eval.c:
12287         * eval.c (For):
12288         * eval.c (Fand):
12289         * eval.c (Fprogn):
12290         * eval.c (Fprog1):
12291         * eval.c (Fprog2):
12292         * eval.c (FletX):
12293         * eval.c (Flet):
12294         * eval.c (condition_case_3):
12295         * eval.c (Feval):
12296         * eval.c (function_argcount):
12297         * eval.c (funcall_lambda):
12298         [1].
12299
12300         * eval.c (type_error): New.
12301         * eval.c (maybe_type_error): New.
12302         * eval.c (continuable_type_error): New.
12303         * eval.c (maybe_continuable_type_error): New.
12304         * eval.c (type_error_with_frob): New.
12305         * eval.c (maybe_type_error_with_frob): New.
12306         * eval.c (continuable_type_error_with_frob): New.
12307         * eval.c (maybe_continuable_type_error_with_frob): New.
12308         New functions for use with structured errors.
12309
12310         * event-Xt.c:
12311         * event-Xt.c (x_event_to_emacs_event):
12312         Buttons are now modifiers too.
12313
12314         * event-Xt.c (emacs_Xt_current_event_timestamp):
12315         Implement new event method.
12316         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12317
12318         * event-msw.c:
12319         * event-msw.c (ntpipe_shove_writer): [5].
12320         * event-msw.c (mswindows_enqueue_mouse_button_event):
12321         * event-msw.c (mswindows_drain_windows_queue):
12322         * event-msw.c (mswindows_wnd_proc): [7].
12323         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12324         * event-msw.c (mswindows_modifier_state):
12325         Throughout: support new button modifiers.
12326
12327         * event-msw.c (emacs_mswindows_current_event_timestamp):
12328         Implement new event method.
12329         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12330
12331         * event-stream.c:
12332         * event-stream.c (event_stream_current_event_timestamp): New.
12333         * event-stream.c (maybe_kbd_translate): New functionality.
12334         * event-stream.c (vars_of_event_stream):
12335         Document new kbd-translate-table functionality.
12336
12337         * event-stream.c (Fcurrent_event_timestamp): New.
12338         New primitive for use in fabricated events.
12339         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12340
12341         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12342
12343         * events.c:
12344         * events.c (Fmake_event):
12345         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12346         [1].
12347         [9].
12348
12349         * events.c (format_event_object): fix gcc warnings.
12350
12351         * events.c (Fevent_timestamp): Document new primitives.
12352
12353         * events.c (TIMESTAMP_HALFSPACE): New.
12354
12355         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12356         comparing timestamps correctly (half-space algorithm).
12357
12358         * events.c (Fevent_modifier_bits): Doc fix.
12359
12360         * events.c (Fevent_modifiers): Major doc addition.
12361         * events.c (event_x_y_pixel_internal): Typo fix.
12362         * events.c (syms_of_events): Declare new primitives.
12363
12364         * events.h:
12365         Update long comment for button modifiers, timestamps.
12366
12367         * events.h (struct event_stream):
12368         New current_event_timestamp method.
12369
12370         * extents.c:
12371         * extents.c (extent_in_region_p):
12372         * extents.c (decode_extent):
12373         * extents.c (Fset_extent_parent):
12374         * extents.c (decode_map_extents_flags):
12375         Fix gcc warnings.
12376         [9].
12377
12378         * extents.c (struct extent_at_arg):
12379         * extents.c (decode_extent_at_flag):
12380         * extents.c (extent_at_mapper):
12381         * extents.c (extent_at_bytind):
12382         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12383         * extents.c (Fextents_at): New primitive. [9].
12384         * extents.c (symbol_to_glyph_layout): [9].
12385         Support new primitive `extents-at'.
12386
12387
12388         * extents.c (get_text_property_bytind):
12389         extent_at_bytind has another arg.
12390         [9].
12391
12392         * extents.c (syms_of_extents): New primitive.
12393
12394         * file-coding.c (Fmake_coding_system): [1].
12395         * file-coding.c (subsidiary_coding_system): fix gcc warning
12396         * file-coding.c (syms_of_file_coding): [2].
12397
12398         * fileio.c (Fexpand_file_name):
12399         * fileio.c (Fsysnetunam):
12400         * fileio.c (Ffile_exists_p):
12401         * fileio.c (Ffile_executable_p):
12402         * fileio.c (Fverify_visited_file_modtime):
12403         Clean up GCPROing.
12404
12405         * fileio.c (syms_of_fileio): [2].
12406
12407         * filelock.c (lock_file_1):
12408         * filelock.c (current_lock_owner):
12409         * filelock.c (lock_if_free):
12410         * filelock.c (lock_file):
12411         * filelock.c (unlock_file):
12412         Clean up GCPROing.
12413
12414         * fns.c (concat): Fix gcc warning.
12415
12416         * fns.c (Fmember):
12417         * fns.c (Fold_member):
12418         * fns.c (Fmemq):
12419         * fns.c (Fold_memq):
12420         * fns.c (memq_no_quit):
12421         * fns.c (Fassoc):
12422         * fns.c (Fold_assoc):
12423         * fns.c (Fassq):
12424         * fns.c (Fold_assq):
12425         * fns.c (assq_no_quit):
12426         * fns.c (Frassoc):
12427         * fns.c (Fold_rassoc):
12428         * fns.c (Frassq):
12429         * fns.c (Fold_rassq):
12430         * fns.c (rassq_no_quit):
12431         * fns.c (Fdelete):
12432         * fns.c (Fold_delete):
12433         * fns.c (Fdelq):
12434         * fns.c (Fold_delq):
12435         * fns.c (delq_no_quit):
12436         * fns.c (Fremassoc):
12437         * fns.c (Fremassq):
12438         * fns.c (remassq_no_quit):
12439         * fns.c (Fremrassoc):
12440         * fns.c (Fremrassq):
12441         * fns.c (remrassq_no_quit):
12442         * fns.c (Freverse):
12443         * fns.c (mapcar1):
12444         [1].
12445
12446         * frame-msw.c (mswindows_init_frame_1):
12447         * frame-msw.c (mswindows_delete_frame):
12448         Register popups with dialog code so keyboard traversing works.
12449
12450         * frame-tty.c (tty_raise_frame_no_select): [1].
12451
12452         * frame-x.c:
12453         * frame-x.c (x_set_frame_text_value):
12454         * frame-x.c (x_set_frame_properties):
12455         * frame-x.c (x_create_widgets):
12456         [7].
12457
12458         * frame.c:
12459         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12460
12461         * frame.h (wrap_frame): New.
12462         Macro like wrap_device.
12463
12464         * general.c:
12465         * general.c (SYMBOL):
12466         * general.c (syms_of_general):
12467         Major reorg.  This is now just a wrapper and symbols themselves
12468         are listed in general-slots.h.
12469
12470         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12471         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12472
12473         * glyphs-msw.c (mswindows_native_layout_instantiate):
12474         Add DS_CONTROL so keyboard traversal will work.
12475
12476         * glyphs-widget.c:
12477         * glyphs-widget.c (syms_of_glyphs_widget):
12478         Move some symbols to general-slots.h.
12479
12480         * glyphs-x.c:
12481         * glyphs-x.c (xbm_instantiate_1):
12482         * glyphs-x.c (x_xbm_instantiate):
12483         * glyphs-x.c (x_xface_instantiate):
12484         * glyphs-x.c (autodetect_instantiate):
12485         * glyphs-x.c (cursor_font_instantiate):
12486         * glyphs-x.c (x_update_widget):
12487         * glyphs-x.c (x_widget_instantiate):
12488         * glyphs.c (bitmap_to_lisp_data):
12489         * glyphs.c (pixmap_to_lisp_data):
12490         [7].
12491
12492         * glyphs.c (syms_of_glyphs):
12493         [2].
12494
12495         * gui-x.c:
12496         * gui-x.c (print_widget_value):
12497         * gui-x.c (menu_separator_style_and_to_external):
12498         * gui-x.c (add_accel_and_to_external):
12499         * gui-x.c (button_item_to_widget_value):
12500         * gui-x.c (gui_items_to_widget_values_1):
12501         * gui-x.c (gui_items_to_widget_values):
12502         * gui-x.c (syms_of_gui_x):
12503         * gui-x.c (vars_of_gui_x):
12504         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12505         [9].
12506
12507         * gui-x.h:
12508         Muleize, prototype changes matching gui-x.c.
12509
12510         * gui.c:
12511         * gui.c (separator_string_p):
12512         * gui.c (gui_item_add_keyval_pair):
12513         * gui.c (make_gui_item_from_keywords_internal):
12514         * gui.c (signal_too_long_error):
12515         * gui.c (parse_gui_item_tree_item):
12516         * gui.c (syms_of_gui):
12517         * gui.c (vars_of_gui):
12518         * gui.h:
12519         menu-no-selection-hook moved here (used by MSWin).
12520         Move some symbols to general-slots.h.
12521         [6].
12522         [9].
12523
12524         * insdel.c (get_buffer_pos_char):
12525         * insdel.c (get_buffer_range_char):
12526         Add GC comments.
12527
12528         * keymap.c (keymap_lookup_directly):
12529         * keymap.c (keymap_store):
12530         * keymap.c (ensure_meta_prefix_char_keymapp):
12531         * keymap.c (describe_map):
12532         * keymap.h:
12533         Support new button modifiers.
12534
12535         * lisp-disunion.h (wrap_object):
12536         * lisp-disunion.h (XSETOBJ):
12537         Rename make_obj to wrap_object.
12538
12539         * lisp-union.h:
12540         * lisp-union.h (make_int):
12541         * lisp-union.h (make_char):
12542         Support wrap_object.
12543
12544         * lisp.h:
12545         * lisp.h (LIST_LOOP):
12546         * lisp.h (EXTERNAL_LIST_LOOP):
12547         * lisp.h (LIST_LOOP_2):
12548         * lisp.h (EXTERNAL_LIST_LOOP_1):
12549         * lisp.h (EXTERNAL_LIST_LOOP_2):
12550         * lisp.h (EXTERNAL_LIST_LOOP_3):
12551         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12552         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12553         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12554         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12555         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12556         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12557         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12558         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12559         * lisp.h (struct Lisp_Symbol):
12560         * lisp.h (maybe_continuable_error_with_frob):
12561         Fix up section comments.
12562         Add new types for char to indicate usage.
12563         Delete symbols auto-generated from general-slots.h.
12564         Add prototypes for structured error functions.
12565         Add long comments describing looping macros and change interface
12566         so that lvalues are automatically declared.
12567         Add NO_DECLARE macro in case callers want to declare lvalues
12568         themselves.
12569
12570         * lread.c (read_syntax_error):
12571         * lread.c (continuable_read_syntax_error):
12572         * lread.c (read_structure):
12573         * lread.c (sequence_reader):
12574         * lread.c (read_list_conser):
12575         * lread.c (read_compiled_function):
12576         Rename syntax_error and continuable_syntax_error to avoid clash
12577         with same-named structured error functions.
12578
12579         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12580         * menubar-msw.c (populate_menu_add_item):
12581         * menubar-msw.c (populate_or_checksum_helper):
12582         [5].
12583         [9].
12584
12585         * menubar-x.c:
12586         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12587         Mule-ize whole file.
12588
12589         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12590
12591         * mule-charset.c (Fmake_charset):
12592         * mule-wnnfns.c (Fwnn_set_param):
12593         [1].
12594
12595         * ntproc.c (create_child):
12596         * ntproc.c (Fwin32_set_current_locale):
12597         Add comments portending doom.
12598
12599         * objects-msw.c:
12600         * objects-msw.c (old_font_enum_callback_2):
12601         * objects-msw.c (font_enum_callback_1):
12602         * objects-msw.c (mswindows_enumerate_fonts):
12603         [5].
12604
12605         * objects-x.c:
12606         * objects-x.c (allocate_nearest_color):
12607         * objects-x.c (x_parse_nearest_color):
12608         * objects-x.c (x_initialize_color_instance):
12609         * objects-x.c (x_print_color_instance):
12610         * objects-x.c (x_finalize_color_instance):
12611         * objects-x.c (x_valid_color_name_p):
12612         * objects-x.c (x_initialize_font_instance):
12613         * objects-x.c (x_print_font_instance):
12614         * objects-x.c (valid_x_font_name_p):
12615         * objects-x.c (truename_via_FONT_prop):
12616         * objects-x.c (truename_via_random_props):
12617         * objects-x.c (truename_via_XListFonts):
12618         * objects-x.c (x_font_truename):
12619         * objects-x.c (x_font_instance_truename):
12620         * objects-x.c (x_font_instance_properties):
12621         * objects-x.c (x_list_fonts):
12622         * objects-x.c (x_find_charset_font):
12623         Mule-ize entire file.
12624         [7].
12625
12626         * objects-x.h:
12627         Mule-verify.
12628
12629         * print.c:
12630         * print.c (std_handle_out_external):
12631         * print.c (debug_print_no_newline):
12632         * print.c (syms_of_print):
12633         Output to all debugger kinds in debug-print.
12634         Fix console-output code under MSWin to actually work.
12635
12636         * process-nt.c (send_signal):
12637         * process-nt.c (nt_create_process):
12638         Use newer Unicode macros.
12639
12640         * process-unix.c (unix_create_process):
12641         * process-unix.c (unix_canonicalize_host_name):
12642         * process-unix.c (unix_open_network_stream):
12643         [7].
12644
12645         * scrollbar-x.c:
12646         Mule-verify.
12647
12648         * search.c (syms_of_search):
12649         [2].
12650
12651         * select-msw.c (mswindows_destroy_selection):
12652         Use LIST_LOOP_2.
12653
12654         * select-x.c (symbol_to_x_atom):
12655         [7].
12656
12657         * select.c (syms_of_select):
12658         [2].
12659
12660         * sound.c (Fplay_sound_file):
12661         [7].
12662
12663         * specifier.c:
12664         * specifier.c (decode_specifier_type):
12665         * specifier.c (Fvalid_specifier_locale_type_p):
12666         * specifier.c (check_valid_locale_or_locale_type):
12667         * specifier.c (decode_locale):
12668         * specifier.c (decode_locale_type):
12669         * specifier.c (decode_locale_list):
12670         * specifier.c (check_valid_domain):
12671         * specifier.c (decode_specifier_tag_set):
12672         * specifier.c (Fcanonicalize_tag_set):
12673         * specifier.c (Fdefine_specifier_tag):
12674         * specifier.c (Fspecifier_tag_predicate):
12675         * specifier.c (check_valid_inst_list):
12676         * specifier.c (check_valid_spec_list):
12677         * specifier.c (decode_how_to_add_specification):
12678         * specifier.c (check_modifiable_specifier):
12679         * specifier.c (specifier_add_spec):
12680         * specifier.c (boolean_validate):
12681         * specifier.c (display_table_validate):
12682         [9].
12683
12684         * specifier.c (syms_of_specifier):
12685         Move some symbols to general-slots.h.
12686         [2].
12687
12688         * symbols.c:
12689         * symbols.c (Fmapatoms):
12690         * symbols.c (Fapropos_internal):
12691         Add GCPROs.
12692
12693         * symbols.c (set_default_buffer_slot_variable):
12694         * symbols.c (set_default_console_slot_variable):
12695         [1].
12696
12697         * symbols.c (defsymbol_massage_name_1):
12698         * symbols.c (defkeyword_massage_name):
12699         * symbols.c (deferror_1):
12700         * symbols.c (deferror):
12701         * symbols.c (deferror_massage_name_and_message):
12702         * symeval.h:
12703         * symeval.h (DEFSYMBOL):
12704         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12705
12706         * symbols.c (syms_of_symbols):
12707         [2].
12708
12709         * symsinit.h:
12710         * symsinit.h (init_win32): New.
12711         Also new is syms_of_dialog_mswindows.
12712
12713         * syswindows.h:
12714         Add new Unicode macros, missing Cygwin wide-char functions,
12715         convenience conversion macros for Qmswindows_tstr, macros for
12716         encapsulating required MSWin <-> Cygwin filename conversions,
12717         prototype for dynamically-extracted (not in NT 3.51) functions.
12718
12719         * toolbar-x.c:
12720         Mule-verify.
12721
12722         * tooltalk.c (Fadd_tooltalk_message_arg):
12723         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12724         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12725         [7].
12726
12727         * tooltalk.c (syms_of_tooltalk):
12728         [2].
12729
12730         * unexnt.c:
12731         * unexnt.c (unexec):
12732         Fix up headers, declaration of unexec() to be more standard.
12733
12734 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12735
12736         * offix.h: Revert change to guard macros - they're used in offix.c!
12737
12738 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12739
12740         * lisp.h: Defsubred Fdelete.
12741
12742         * console-msw.h:  (msprinter_default_printer): Added.
12743
12744         * console-msw.c (msprinter_canonicalize_console_connection):
12745         (msprinter_canonicalize_device_connection): Added.
12746
12747         * device-msw.c (msprinter_default_printer):
12748         (Fmswingows_get_default_printer):
12749         (signal_enum_priner_error):
12750         (Fmswingows_printer_list): Added.
12751
12752 2000-07-19  Martin Buchholz <martin@xemacs.org>
12753
12754         * XEmacs 21.2.35 is released.
12755
12756 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12757
12758         * select-x.c (x_handle_selection_request):
12759         Text selected in xemacs and pasted into xterm failed to appear.
12760         Spelling fixes and cosmetic changes.
12761
12762 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12763
12764         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12765         XEmacs frame (fix for doubling chars in dialog boxes).
12766
12767 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12768
12769         * select.c (select_convert_in, select_convert_out):
12770         Don't call intern() every time.
12771
12772         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12773         * select.c (vars_of_select): Initialise them.
12774
12775 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12776
12777         * select.c (selection-coercible-types): New.
12778
12779         * select.c (own-selection-internal):
12780         * select.c (get-selection-internal):
12781         MULE bug fix - these should default to COMPOUND_TEXT and not
12782         STRING for MULE. I think.
12783
12784         * select.c (select_convert_out): Use selection-coercible-types
12785         to find types that we can attempt to perform coercions on.
12786
12787 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12788
12789         * mule-wnnfns.c:
12790         * mule-canna.c:
12791         Add coding: cookie to identify encoding.
12792
12793         * mule-canna.c (CANNA_mode_keys): make static.
12794         Use proper prototypes, even for functions of no arguments.
12795         Remove external prototype for Fding().
12796
12797         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12798
12799         * select.c (syms_of_select): Add missing DEFSUBR.
12800
12801 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12802
12803         * select.c (get_selection_internal, own_selection_internal):
12804         Make the type default to STRING, rather than placing a nil type
12805         into Vselection_alist.
12806
12807 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12808
12809         * gpmevent.c (tty_selection_exists_p):
12810         * gpmevent.c (tty_own_selection):
12811         Updated parameter lists.
12812
12813 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12814
12815         * select.h (selection-alist): Removed declaration.
12816
12817         * select.h (get_local_selection):
12818         * select.c (get_local_selection):
12819         Made static.
12820
12821         * select.h (convert_selection): Removed declaration.
12822         * select.c (convert_selection): Removed.
12823         This function belongs in Lisp.
12824
12825         * select.h (select_convert_in): Declare.
12826         * select.h (select_convert_out): Declare.
12827         * select.c (select_convert_in): New.
12828         * select.c (select_convert_out): New.
12829         New conversion functions for other files to call.
12830
12831         * select.h (select_notify_buffer_kill): Declare.
12832         * select.c (select_notify_buffer_kill): New.
12833         New functions that get called from kill-buffer.
12834
12835         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12836         X-specific lisp code.
12837
12838         * select.h: Declare some of the lisp-visible functions for
12839         external use.
12840
12841         * select.c (clean_local_selection_data): Removed. This was
12842         a disgusting function, and previously should have been in
12843         select-x.c in any case. The functionality is now provided
12844         in select-convert-from-integer (select.el).
12845
12846         * select.c (available-selection-types): Fixed stupidity where
12847         INTEGER and ATOM got added twice. Also add STRING when we see an
12848         extent.
12849
12850         * select.c (get-selection-internal): Removed symbol stripping. No
12851         longer causes conversion when data comes from the internal cache.
12852
12853         * select.c (syms_of_select): Added new functions.
12854
12855         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12856         error checking - previously this called abort!
12857
12858         * select-x.c (x_own_selection): Changed comment.
12859
12860         * select-x.c (x_handle_selection_request): Use select_convert_out.
12861         Don't mess with selection-alist; it's an internal variable of select.c.
12862
12863         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12864
12865         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12866         rather than messing with selection-alist.
12867
12868         * select-msw.c (mswindows_get_foreign_selection):
12869         Use TO_INTERNAL_FORMAT rather than hacking.
12870
12871 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12872
12873         * process-unix.c (unix_open_multicast_group):
12874         (unix_open_multicast_group): Remove useless casts.
12875
12876 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12877
12878         * sound.c (Fplay_sound): Fix `unused variable' warning.
12879
12880         * emacs.c (main): Use correct type for _environ on SCO5.
12881
12882 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12883
12884         * console.h (own_selection_method):
12885         * console.h (selection_exists_p_method):
12886         * console.h (available_selection_types_method): New.
12887         * console.h (register_selection_data_type_method): New.
12888         * console.h (selection_data_type_name): New.
12889
12890         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12891         function & alist to track GlobalAlloc()'d handles that need
12892         releasing when the clipboard data gets replaced or emptied.
12893
12894         * event-msw.c (mswindows_wnd_proc): Call it.
12895
12896         * lisp.h, general.c (Qappend): New symbol representing a
12897         `how-to-add' mode.
12898
12899         * select.c (own-selection-internal):
12900         * select.c (selection-exists-p):
12901         * select.c (available-selection-types): New.
12902         * select.c (register-selection-data-type): New.
12903         * select.c (selection-data-type-name): New.  New functions to deal
12904         with device-specific selection data formats.
12905         * select.c (selection-converter-out-alist): Renamed.
12906         * select.c (selection-converter-in-alist): New.
12907         * select.c (selection-appender-alist): New.  Added new alists.
12908         * select.c (syms_of_select, vars_of_select): Added new symbols &
12909         variables.
12910         * select.c (get_local_selection): Split.
12911         * select.c: Removed spurious type checking - selections may now be
12912         of any type, not just strings.
12913         * select.c (own-selection-internal):
12914
12915         * select.h, select.c (convert_selection): New. Created
12916         convert_selection() function based on get_local_selection().
12917         * select.h, select.c (QCF_*): New symbols representing mswindows
12918         clipboard formats.
12919         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12920         symbols representing `how-to-add' modes.
12921
12922         * select-msw.c (x_sym_p): New.
12923         * select-msw.c (symbol_to_ms_cf): New.
12924         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12925         symbols & clipboard formats. Can also handle string names.
12926         * select-msw.c (mswindows_own_selection):
12927         * select-msw.c (mswindows_selection_exists_p):
12928         Added `data-type' parameter. Use it.
12929         * select-msw.c (mswindows_available_selection_types): New.
12930         * select-msw.c (mswindows_register_selection_data_type): New.
12931         * select-msw.c (mswindows_selection_data_type_name): New.
12932         * select-msw.c (mswindows_own_selection):
12933         * select-msw.c (mswindows_get_foreign_selection):
12934         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12935         * select-msw.c (console_create_select_mswindows): Added new methods.
12936         * select-msw.c (mswindows_destroy_selection): New.
12937         * select-msw.c (Vhandle_alist): New list.
12938         * select-msw.c (mswindows_own_selection):
12939
12940         * select-x.c (x_own_selection):
12941         * select-x.c (x_selection_exists_p):
12942         * select-x.c: Added some comments about maybe using new
12943         functionality.
12944         * select-x.c (x_own_selection):
12945
12946         * specifier.c: Remove definition of Qappend (now in general.c)
12947         * specifier.c (syms_of_specifier): Remove Qappend.
12948
12949 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12950
12951         * config.h.in: Add socklen_t.
12952
12953         * s/decosf4-0.h: No special compiler flags needed or desired.
12954         In particular, undefine _BSD for DEC OSF 4.0.
12955
12956 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12957
12958         * redisplay-msw.c (msprinter_frame_output_end): Added.
12959         (console_type_create_redisplay_mswindows): Referred the above.
12960
12961         * frame.c (setup_frame_without_minibuffer): Do not create a
12962         default minibuffer frame on a printer device.
12963
12964         * frame-msw.c (apply_dc_geometry): Added.
12965         (msprinter_start_page):
12966         (msprinter_init_frame_3):
12967         (msprinter_eject_page): Use it.
12968
12969         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12970         and removed residual duplex and orientation properties.
12971
12972 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12973
12974         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12975
12976         * unexalpha.c: Remove system prototypes from C sources!
12977
12978 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12979
12980         * eval.c: Remove references to M-x edit-options in DEFUNs for
12981         `defvar' and `defconst'.
12982
12983 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12984
12985         * config.h.in: Remove SMART_INCLUDE hackery.
12986
12987         PostgreSQL hacking:
12988         * config.h.in: Don't use SMART_INCLUDE.
12989
12990         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12991         * inline.c: Simply #include "postgresql.h"
12992         * postgresql.c:
12993         - Don't use SMART_INCLUDE
12994         - Use simply "const".
12995         - Use standard doc string conventions.
12996         - Use correct type for result of PQstatus.
12997
12998 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12999
13000         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
13001
13002         C++ compilation changes.
13003         * config.h.in (EXTERN_C): Define.
13004         * config.h.in (not): This is also a C++ keyword.
13005         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
13006         * cm.c: Use EXTERN_C.
13007         * redisplay-tty.c: Use EXTERN_C.
13008         * sysdep.c: Use EXTERN_C.  Remove Gould support.
13009
13010 2000-07-09  Martin Buchholz  <martin@xemacs.org>
13011
13012         * general.c: Remove duplicate definition for Qfunction.
13013
13014 2000-07-08  Ben Wing  <ben@xemacs.org>
13015
13016         * device-msw.c (msprinter_init_device):
13017         * device-msw.c (sync_printer_with_devmode):
13018         * device-msw.c (handle_devmode_changes):
13019         * device-msw.c (print_dialog_worker):
13020         * device-msw.c (Fmsprinter_apply_settings):
13021         * device-msw.c (hash_devmode):
13022         * device-msw.c (Fmsprinter_settings_despecialize):
13023         use Qmswindows_tstr, not Qctext.
13024
13025         * vm-limit.c (check_memory_limits):
13026         avoid infinite loop printing warning messages.
13027
13028 2000-07-05  Craig Lanning  <lanning@scra.org>
13029
13030         * Makefile.in.in: Add support for including the Windows resources
13031         when building with the cygwin and mingw targets.
13032
13033         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13034         not set or not correct.
13035         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13036         (init_initial_directory): Don't try to use $PWD on the
13037         WIN32_NATIVE target.
13038
13039         * s\cygwin32.h:
13040         [[Add -mwindows to eliminate console window.]] not required --ben
13041         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13042         (MAIL_USE_POP): removed; now handled by configure.
13043
13044         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13045         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13046         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13047         (MAIL_USE_POP): removed; now handled by configure.
13048         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13049         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13050         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13051         constant string.
13052         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13053         up from <winsock.h> via systime.h.
13054         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13055         (getpagesize): from Dan Holmsand, added.
13056         Added #endif which was left dangling by Ben's mega patch; added
13057         comment to help prevent this in the future.
13058
13059         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13060
13061 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13062
13063         * console-msw.h (struct mswindows_device): Removed unnecessary
13064         cached device geometry values.
13065         Added update_tick and an accessor macro.
13066         (Lisp_Devmode): Added lrecord declaration.
13067         (struct msprinter_device): Contain devmode as a Lisp object.
13068         Added mswindows_get_selected_frame_hwnd();
13069
13070         * console.h (struct console_methods): Indentation nitpicking.
13071
13072         * device-msw.c (mswindows_init_device): Do not initialize geometry
13073         cache. Initialize update tick.
13074         (mswindows_device_system_metrics): Ask the device for its geometry.
13075         (global_free_2_maybe):
13076         (devmode_to_hglobal):
13077         (handle_printer_changes):
13078         (ensure_not_printing):
13079         (print_dialog_worker):
13080         (Fmsprinter_print_setup_dialog):
13081         (Fmsprinter_print_dialog):
13082         (plist_get_margin):
13083         (plist_set_margin):
13084         (Fmsprinter_page_setup_dialog): Added functions.
13085         (sync_printer_with_devmode):
13086         (handle_devmode_changes):
13087         (Fmsprinter_get_settings):
13088         (Fmsprinter_select_settings):
13089         (Fmsprinter_apply_settings):
13090         (allocate_devmode):
13091         (Fmsprinter_settings_copy):
13092         (Fmsprinter_settings_despecialize):
13093         (print_devmode):
13094         (finalize_devmode):
13095         (equal_devmode):
13096         (hash_devmode): Added functions
13097         (syms_of_device_mswindows): Init devmode lrecord class.
13098
13099         * device.h: Added an exfun for find-device.
13100
13101         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13102         geometry; although, recreate the device compatible DC.
13103
13104         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13105         (msprinter_init_frame_3):
13106         (msprinter_frame_property):
13107         (msprinter_internal_frame_property_p):
13108         (msprinter_frame_properties):
13109         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13110         print job properties (will move to device settings).
13111
13112         * lisp.h: Added symbols.
13113
13114         * general.c (syms_of_general): Declared them.
13115
13116         * hash.c (string_hash): Added.
13117
13118         * lrecord.h (lrecord_type): Added devmode lrecord type.
13119
13120 2000-07-02  Mike Sperber <mike@xemacs.org>
13121
13122         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13123         FreeBSD 4.0.
13124
13125 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13126
13127         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13128         integer.
13129
13130 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13131
13132         * data.c (Fstring_to_number): Don't recognize floating point if
13133         base is not 10.
13134
13135 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13136
13137         * glyphs-widget.c (tab_control_query_geometry):
13138         (widget_query_geometry):
13139         (button_query_geometry):
13140         * glyphs.c (text_query_geometry):
13141         Enforce type correctness.
13142
13143 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13144
13145         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13146         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13147
13148 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13149
13150         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13151         conflicts with gcc's fixincluded version of FOO.h.
13152
13153         * glyphs.h (image_instance_geometry): Remove trailing `,'
13154
13155 2000-06-08  Mike Alexander  <mta@arbortext.com>
13156
13157         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13158         (shove_thread): Don't write the same output twice
13159         (make_ntpipe_output_stream): Increase priority of shove thread
13160         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13161         chance to run
13162         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13163         it.
13164
13165 2000-06-12  Ben Wing  <ben@xemacs.org>
13166
13167         * s\mingw32.h (sigset):
13168         * s\windowsnt.h (sigset):
13169         rename msw_ to mswindows_ for consistency with general convention.
13170
13171 2000-06-12  Ben Wing  <ben@xemacs.org>
13172
13173         * console-msw.c:
13174         * console-msw.c (mswindows_get_console_hwnd):
13175         * console-msw.c (mswindows_ensure_console_allocated):
13176         * console-msw.c (mswindows_hide_console):
13177         * console-msw.c (mswindows_show_console):
13178         * console-msw.c (mswindows_ensure_console_buffered):
13179         * console-msw.c (mswindows_output_console_string):
13180         * console-msw.c (mswindows_windows9x_p):
13181         * console-msw.h:
13182         * device-msw.c (mswindows_get_workspace_coords):
13183         * device-msw.c (mswindows_device_system_metrics):
13184         * dialog-msw.c (mswindows_popup_dialog_box):
13185         * event-msw.c (mswindows_wnd_proc):
13186         * frame-msw.c (mswindows_size_frame_internal):
13187         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13188         * menubar-msw.c (displayable_menu_item):
13189         * menubar-msw.c (mswindows_char_is_accelerator):
13190         * nt.c:
13191         * nt.c (mswindows_sigset):
13192         * nt.c (mswindows_sigrelse):
13193         * nt.c (mswindows_sigpause):
13194         * nt.c (mswindows_raise):
13195         * nt.c (timer_proc):
13196         * ntproc.c:
13197         * ntproc.c (find_child_console):
13198         * ntproc.c (sys_kill):
13199         * print.c:
13200         * print.c (std_handle_out_external):
13201         * process-nt.c (find_child_console):
13202         * process-nt.c (send_signal_the_95_way):
13203         * process-nt.c (ensure_console_window_exists):
13204         * process-nt.c (nt_create_process):
13205         * syssignal.h:
13206         rename msw_ to mswindows_ for consistency with general convention.
13207
13208         * emacs.c:
13209         * dumper.c:
13210         include nt.h, not syswindows.h.
13211
13212         * nt.c (mswindows_fstat):
13213         * nt.c (mswindows_stat):
13214         prefix mswindows_ instead of attempting to directly override the
13215         library functions.  fix declarations.
13216
13217         * nt.h:
13218         include syswindows.h.  move some sysdep.h stuff here.
13219
13220         * ntheap.h:
13221         include syswindows.h, not <windows.h>.
13222
13223         * ntplay.c:
13224         clean up headers.
13225
13226         * sysdep.c:
13227         clean up headers.
13228
13229         * sysdep.c (sys_fstat):
13230         * sysdep.c (sys_stat):
13231         call mswindows versions when appropriate.
13232
13233         * sysdep.h:
13234         move mswin decls to nt.h.
13235
13236         * syswindows.h:
13237         add long comment describing appropriate use of the various windows
13238         headers.
13239
13240 2000-06-11  Ben Wing  <ben@xemacs.org>
13241
13242         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13243
13244 2000-06-10  Ben Wing  <ben@xemacs.org>
13245
13246         * Makefile.in.in (release):
13247         Correction to make sure xemacs.exe always dumped when correct.
13248
13249         * alloca.c:
13250         * balloon_help.c:
13251         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13252
13253         * buffer.c (set_buffer_internal):
13254         [[[[2]]]]: Remove HAVE_FEP code.
13255
13256         * buffer.c (init_initial_directory):
13257         [3].
13258
13259         * bytecode.c:
13260         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13261         individual files.
13262
13263         * callproc.c:
13264         * callproc.c (call_process_cleanup):
13265         * callproc.c (Fold_call_process_internal):
13266         * callproc.c (child_setup):
13267         * callproc.c (getenv_internal):
13268         * callproc.c (init_callproc):
13269         * callproc.c (vars_of_callproc):
13270         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13271         __CYGWIN32__ -> CYGWIN.
13272         DOS_NT -> WIN32_NATIVE.
13273         Remove MSDOS support/references, converting to WIN32_NATIVE
13274           where correct.
13275         __MINGW32__ -> MINGW.
13276         Fix windows.h includes.
13277         Remove bogus HAVE_NTGUI.
13278
13279         * config.h.in:
13280         [2].
13281
13282         * console-msw.c:
13283         mswindows_message_outputted added for use in allowing startup
13284         errors on the console to be seen.
13285
13286         * console-msw.c (msw_ensure_console_allocated):
13287         * console-msw.c (msw_output_console_string):
13288         * console-msw.c (DHEADER):
13289         * console-msw.c (DOPAQUE_DATA):
13290         * console-msw.c (DEVENT):
13291         * console-msw.c (DCONS):
13292         * console-msw.c (DCONSCDR):
13293         * console-msw.c (DSTRING):
13294         * console-msw.c (DVECTOR):
13295         * console-msw.c (DSYMBOL):
13296         * console-msw.c (DSYMNAME):
13297         Fix warnings.
13298
13299         * console-stream.c (stream_init_console):
13300         Fix text/binary problems.
13301
13302         * device-msw.c:
13303         * device-msw.c (mswindows_finish_init_device):
13304         * device-msw.c (mswindows_delete_device):
13305         [1].
13306
13307         * device.c (handle_asynch_device_change):
13308         [3].
13309
13310         * dgif_lib.c:
13311         * dgif_lib.c (DGifOpenFileName):
13312         * dgif_lib.c (DGifOpenFileHandle):
13313         * dgif_lib.c (DGifGetLine):
13314         * dgif_lib.c (DGifGetPixel):
13315         Added config.h/lisp.h, fix up includes.
13316         [1].
13317
13318         * dired-msw.c:
13319         [4].
13320
13321         * dired.c:
13322         * dired.c (file_name_completion):
13323         * dired.c (Ffile_attributes):
13324         * dired.c (syms_of_dired):
13325         [1].
13326
13327         * dumper.c:
13328         * dumper.c (pdump_file_unmap):
13329         * dumper.c (pdump_load):
13330         [1].
13331
13332         * editfns.c:
13333         * editfns.c (Ftemp_directory):
13334         * editfns.c (user_login_name):
13335         * editfns.c (Fuser_real_login_name):
13336         * editfns.c (get_home_directory):
13337         [1].
13338
13339         * elhash.c (finish_marking_weak_hash_tables):
13340         [[[[5]]]]: Fix GCC warnings.
13341
13342         * emacs.c:
13343         * emacs.c (mswindows_handle_hardware_exceptions):
13344         * emacs.c (make_arg_list_1):
13345         * emacs.c (main_1):
13346         * emacs.c (Fkill_emacs):
13347         * emacs.c (Fdump_emacs):
13348         [1].
13349         Fix problems with nested crashes, add long comment.
13350
13351         * event-Xt.c (init_event_Xt_late):
13352         [1].
13353
13354         * event-msw.c:
13355         * event-msw.c (mswindows_dde_callback):
13356         * event-msw.c (mswindows_handle_sticky_modifiers):
13357         * event-msw.c (mswindows_wnd_proc):
13358         [1].
13359         [5].
13360
13361         * events.c (character_to_event):
13362         [1].
13363
13364         * fileio.c:
13365         * fileio.c (Ffile_name_directory):
13366         * fileio.c (Ffile_name_nondirectory):
13367         * fileio.c (directory_file_name):
13368         * fileio.c (Fexpand_file_name):
13369         * fileio.c (Fsubstitute_in_file_name):
13370         * fileio.c (Ffile_name_absolute_p):
13371         * fileio.c (check_executable):
13372         * fileio.c (Ffile_readable_p):
13373         * fileio.c (Ffile_accessible_directory_p):
13374         * fileio.c (Ffile_modes):
13375         * fileio.c (Funix_sync):
13376         * fileio.c (vars_of_fileio):
13377         [1]. [4].
13378
13379         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13380
13381         Expand getdefdir defn.
13382         Fix bogus rename() comment.
13383
13384         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13385         to use standard XEmacs include files, e.g. sysfile.h, rather
13386         than system-specific includes.
13387
13388         * fns.c:
13389         * fns.c (Fsubseq):
13390         [5]. [6].
13391
13392         * frame.c (vars_of_frame):
13393         [1].
13394
13395         * getloadavg.c:
13396         * getloadavg.c (getloadavg):
13397         [1]. [6].
13398         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13399         (We don't use it elsewhere in the code; just add a comment.)
13400
13401         * gif_io.c:
13402         [6].
13403         Add config.h.
13404
13405         * glyphs-msw.c:
13406         * glyphs-msw.c (mswindows_resource_instantiate):
13407         [1].
13408
13409         * glyphs-x.c (x_native_layout_instantiate):
13410         [5].
13411
13412         * gui-msw.c (Fmswindows_shell_execute):
13413         [1].
13414
13415         * insdel.c:
13416         [4].
13417
13418         * lisp.h:
13419         [4]. [5].
13420
13421         * lread.c (locate_file_in_directory_mapper):
13422         [1].
13423
13424         * lstream.c:
13425         [4].
13426
13427         * mem-limits.h:
13428         * mem-limits.h (get_lim_data):
13429         [1].
13430
13431         * menubar-msw.c:
13432         [4].
13433
13434         * ndir.h:
13435         [1].
13436
13437         * nt.c:
13438         * nt.c (getwd):
13439         * nt.c (closedir):
13440         * nt.c (rva_to_section):
13441         * nt.c (mswindows_executable_type):
13442         [1]. [6].
13443         Fix closedir() defn.
13444
13445         * nt.h:
13446         [[[[8]]]]: *_OK defs moved to sysfile.h.
13447
13448         * ntproc.c:
13449         [6]. [7].
13450
13451         * objects-x.c:
13452         [4].
13453
13454         * print.c:
13455         * print.c (std_handle_out_external):
13456         [1]. [4].
13457
13458         * process-nt.c:
13459         * process-nt.c (nt_create_process):
13460         [6].
13461         try to fix process quoting somewhat.
13462
13463         * process-unix.c (unix_create_process):
13464         [1].
13465
13466         * process.c:
13467         * process.c (vars_of_process):
13468         Add Vnull_device.
13469
13470         * process.h:
13471         [1].
13472
13473         * realpath.c:
13474         * realpath.c (xrealpath):
13475         [1].
13476
13477         * redisplay-tty.c (init_tty_for_redisplay):
13478         [3].
13479
13480         * redisplay.c:
13481         [4]. [6].
13482
13483         * scrollbar-msw.c:
13484         [4].
13485
13486         * sheap.c:
13487         * sheap.c (more_static_core):
13488         * sheap.c (report_sheap_usage):
13489         [5]. [6].
13490
13491         * signal.c:
13492         * signal.c (alarm_signal):
13493         [1]. [6].
13494
13495         * sound.c:
13496         [6].
13497
13498         * strftime.c:
13499         * strftime.c (zone_name):
13500         [1]. [5].
13501
13502         * symsinit.h (init_sunpro):
13503         [1].
13504
13505         * syscommctrl.h:
13506         commctrl.h not in Cygwin b20.1.
13507
13508         * sysdep.c:
13509         * sysdep.c (endif):
13510         * sysdep.c (sys_subshell):
13511         * sysdep.c (init_baud_rate):
13512         * sysdep.c (emacs_get_tty):
13513         * sysdep.c (emacs_set_tty):
13514         * sysdep.c (tty_init_sys_modes_on_device):
13515         * sysdep.c (init_system_name):
13516         * sysdep.c (sys_open):
13517         * sysdep.c (interruptible_open):
13518         * sysdep.c (sys_fopen):
13519         * sysdep.c (sys_mkdir):
13520         * sysdep.c (sys_rename):
13521         * sysdep.c (get_process_times_1):
13522         [1]. [6].
13523
13524         * sysdep.h:
13525         [1].
13526
13527         * sysdir.h:
13528         * sysdir.h (DIRENTRY_NONEMPTY):
13529         [1]. [6].
13530
13531         * sysdll.c (dll_init):
13532         * sysdll.h:
13533         [1].
13534
13535         * sysfile.h:
13536         [1]. [6]. [8].
13537         added text/binary defs.
13538
13539         * sysfloat.h:
13540         [1].
13541
13542         * sysproc.h:
13543         * sysproc.h (EDESTADDRREQ):
13544         * sysproc.h (poll_fds_for_input):
13545         [1]. [6].
13546
13547         * syspwd.h:
13548         [6].
13549
13550         * syssignal.h:
13551         [1].
13552
13553         * systime.h:
13554         [1]. [6].
13555
13556         * systty.h:
13557         [1].
13558
13559         * syswindows.h:
13560         [1].
13561         Always define WIN32_LEAN_AND_MEAN.
13562
13563         * unexcw.c (unexec):
13564         [5].
13565
13566         * unexec.c:
13567         * unexec.c (copy_text_and_data):
13568         * unexec.c (adjust_lnnoptrs):
13569         [1].
13570
13571         * unexnt.c:
13572         * unexnt.c (_start):
13573         [1].
13574
13575 2000-06-07  Ben Wing  <ben@xemacs.org>
13576
13577         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13578         was used only as a model.  We've long since extracted any useful
13579         logic or code out of this. (I just did an exhaustive search.)
13580
13581         * s\msdos.h: Removed.
13582
13583         * s\windows95.h: Removed.
13584
13585 2000-06-10  Ben Wing  <ben@xemacs.org>
13586
13587         * s\cygwin32.h:
13588         [1]. [5].
13589         Don't use extern with fun defs.
13590
13591         * s\mingw32.h:
13592         [1]. [7].
13593         Remove nt\inc include.
13594         Remove getdisk, getdefdir. (The former is unused, the latter
13595         expanded in fileio.h.)
13596
13597         * s\windowsnt.h:
13598         * s\windowsnt.h (WIN32_NATIVE):
13599         * s\windowsnt.h (HAVE_STRCASECMP):
13600         [1]. [7].
13601         Add long comment about preprocessor changes.
13602         Remove getdisk, getdefdir. (The former is unused, the latter
13603         expanded in fileio.h.)
13604
13605 2000-06-10  Ben Wing  <ben@xemacs.org>
13606
13607         * m\arm.h:
13608         * m\delta.h:
13609         * m\intel386.h:
13610         * m\sequent.h:
13611         * m\template.h:
13612         * m\windowsnt.h:
13613         [1].
13614         Remove bogus/unused NO_SOCK_SIGIO.
13615
13616 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13617
13618         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13619         not an Emchar.
13620
13621 2000-06-04  Mike Sperber <mike@xemacs.org>
13622
13623         * casetab.c (set_case_table): For `set-standard-case-table',
13624         actually deposit the new case tables where the rest of XEmacs can
13625         see them.
13626
13627 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13628
13629         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13630
13631 2000-06-05  Ben Wing  <ben@xemacs.org>
13632
13633         * callproc.c (child_setup): Don't do close_load_descs() under
13634         MS Windows.  Put in a comment explaining why.
13635
13636 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13637
13638         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13639         Toolkit shell" which breaks `kill-compilation' on Windows NT
13640         native, retaining STDERR handling improvements.
13641
13642 2000-06-01  Andreas Jaeger  <aj@suse.de>
13643
13644         * s/s390.h: Support for S390, based on a patch by Martin
13645         Schwidefsky <schwidefsky@de.ibm.com>.
13646
13647 2000-05-30  Andy Piper  <andy@xemacs.org>
13648
13649         * window.c (allocate_window):
13650         (make_dummy_parent):
13651         (Fset_window_configuration): use new hashtable type.
13652
13653         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13654         (struct image_instantiator_methods):
13655         (struct Lisp_Image_Instance): make instance geometry signed.
13656
13657         * glyphs.c (instantiate_image_instantiator):
13658         (image_instance_query_geometry):
13659         (image_instance_layout):
13660         (image_instance_layout):
13661         (query_string_geometry):
13662         (text_query_geometry):
13663         (image_instantiate):
13664         (image_instantiate):
13665         (cache_subwindow_instance_in_frame_maybe):
13666         (subwindow_query_geometry): make instance geometry signed.
13667
13668         * glyphs-widget.c (widget_query_geometry):
13669         (widget_layout):
13670         (button_query_geometry):
13671         (tree_view_query_geometry):
13672         (tab_control_query_geometry):
13673         (layout_query_geometry):
13674         (layout_layout):
13675         (native_layout_layout): make instance geometry signed.
13676
13677 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13678
13679         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13680         constant.
13681
13682         * general.c (syms_of_general): Add Qfull_assoc symbol.
13683
13684         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13685         correctly.
13686         (decode_weak_list_type): Decode full-assoc type.
13687         (encode_weak_list_type): Encode full-assoc type.
13688         (Fmake_weak_list): Update doc string.
13689
13690 2000-05-30  Andy Piper  <andy@xemacs.org>
13691
13692         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13693
13694         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13695         (decode_hash_table_weakness): ditto.
13696         (Fhash_table_weakness): ditto.
13697         (Fhash_table_type): ditto.
13698         (finish_marking_weak_hash_tables): ditto.
13699         (hash_table_weakness_validate): ditto.
13700         (syms_of_elhash): ditto.
13701
13702 2000-05-28  Martin Buchholz <martin@xemacs.org>
13703
13704         * XEmacs 21.2.34 is released.
13705
13706 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13707
13708         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13709         start cache.
13710         (updating_line_start_cache): Gone.
13711         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13712         generic code to force a minimum of 1 line laid out in the
13713         CMOTION_DISP case.
13714
13715 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13716
13717         * glyphs.c (instantiate_image_instantiator): Check for initialized
13718         height & width no longer special cases IMAGE_NOTHING.
13719         (nothing_instantiate): Set height and width of instance.
13720
13721 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13722
13723         * unexelf.c (unexec): Search for ".data" section.
13724         Initialize new_data2_offset from old_data_index.
13725         Remove redundant check for ElfW.
13726
13727 2000-05-23  Andy Piper  <andy@xemacs.org>
13728
13729         * glyphs.c (get_image_instantiator_governing_domain): allow more
13730         specific domains as the governing domain rather than expecting an
13731         exact match. This fixes problems with layouts.
13732
13733 2000-05-22  Andy Piper  <andy@xemacs.org>
13734
13735         * redisplay-output.c (compare_runes): check for non-images
13736
13737         * glyphs.c (set_glyph_dirty_p): ditto.
13738         (update_glyph_cachel_data): ditto.
13739
13740         * glyphs-widget.c (layout_post_instantiate): ditto.
13741         (layout_post_instantiate): ditto.
13742
13743         * event-msw.c (mswindows_wnd_proc): warning removal.
13744
13745 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13746
13747         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13748
13749         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13750
13751         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13752
13753         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13754         (mswindows_executable_type): mingw32 now has enough headers for
13755         this to work.
13756
13757 2000-05-20  Andy Piper  <andy@xemacs.org>
13758
13759         * console-msw.c (mswindows_output_last_error): ; -> ,
13760
13761 2000-05-12  Andy Piper  <andy@xemacs.org>
13762
13763         * console-msw.c (FROB): compare ints with ints.
13764
13765 2000-05-11  Andy Piper  <andy@xemacs.org>
13766
13767         * glyphs-x.c (x_finalize_image_instance): make minimal build
13768         happy.
13769
13770 2000-05-20  Ben Wing  <ben@xemacs.org>
13771
13772         * event-Xt.c:
13773         * event-Xt.c (vars_of_event_Xt):
13774         move modifier-keys-are-sticky to event-stream.c.
13775
13776         * event-msw.c:
13777         * event-msw.c (mswindows_enqueue_mouse_button_event):
13778         * event-msw.c (key_needs_default_processing_p):
13779         * event-msw.c (XEMSW_LCONTROL):
13780         * event-msw.c (mswindows_handle_sticky_modifiers):
13781         * event-msw.c (FROB):
13782         * event-msw.c (clear_sticky_modifiers):
13783         * event-msw.c (output_modifier_keyboard_state):
13784         * event-msw.c (output_alt_keyboard_state):
13785         * event-msw.c (mswindows_wnd_proc):
13786         * event-msw.c (mswindows_modifier_state):
13787         * event-msw.c (emacs_mswindows_handle_magic_event):
13788         implement sticky modifiers.
13789
13790         * event-stream.c:
13791         * event-stream.c (vars_of_event_stream):
13792         move modifier-keys-are-sticky here.
13793
13794         * lisp.h:
13795         add CHECK_FUNCTION.
13796
13797         * rangetab.c:
13798         implement map-range-table.
13799
13800
13801 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13802
13803         * redisplay-tty.c (reset_tty_modes):
13804         (tty_redisplay_shutdown): Adjust argument type to
13805         tty_frame_output_end.
13806
13807 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13808
13809         * eval.c (Fbacktrace): Don't output a line with only right
13810         parenthesis.
13811
13812 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13813
13814         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13815         (Fpq_reset_poll): Ditto.
13816
13817 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13818
13819         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13820
13821 2000-05-16  Ben Wing  <ben@xemacs.org>
13822
13823         * buffer.c:
13824         * buffer.c (dfc_convert_to/from_internal_format):
13825         * buffer.c (reinit_vars_of_buffer):
13826         Fix conversion functions to allow reentrancy.
13827
13828         * console-msw.c:
13829         * console-msw.c (mswindows_output_last_error):
13830         New fun, generally useful -- output a human-readable
13831         version of GetLastError() on the console.
13832
13833         * console-msw.h:
13834         * console-msw.h (struct mswindows_frame):
13835         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13836
13837         * console-stream.c (stream_output_begin):
13838         * console-stream.c (stream_output_end):
13839         * console-stream.c (stream_output_vertical_divider):
13840         * console-stream.c (stream_clear_region):
13841         * console-stream.c (stream_flash):
13842         * console-stream.c (console_type_create_stream):
13843         Delete blank stream methods, not needed.
13844
13845         * console.h (struct console_methods):
13846         Split begin/end methods into window and frame.
13847
13848         * event-msw.c:
13849         * event-msw.c (mswindows_handle_paint):
13850         * event-msw.c (output_alt_keyboard_state):
13851         * event-msw.c (mswindows_wnd_proc):
13852         * event-msw.c (vars_of_event_mswindows):
13853         Comment about problems with ignored-expose.
13854         Define mswindows-debug-events; not really implemented.
13855
13856         * frame-msw.c (mswindows_init_frame_1):
13857         random cleanups.
13858
13859         * glyphs-msw.c:
13860         * glyphs-msw.c (begin_defer_window_pos):
13861         * glyphs-msw.c (mswindows_unmap_subwindow):
13862         * glyphs-msw.c (mswindows_map_subwindow):
13863         * glyphs-msw.c (mswindows_resize_subwindow):
13864         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13865
13866         * glyphs.c (make_image_instance_1):
13867         Fix crash.
13868
13869         * gutter.c (Fredisplay_gutter_area):
13870         Use new begin/end methods.
13871
13872         * lisp.h (Dynarr_new2):
13873         New creation fun.
13874
13875         * redisplay-msw.c:
13876         * redisplay-msw.c (mswindows_frame_output_begin):
13877         * redisplay-msw.c (mswindows_frame_output_end):
13878         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13879         New begin/end methods -- handle DeferWindowPos.
13880
13881         * redisplay-output.c (redisplay_move_cursor):
13882         * redisplay-output.c (redraw_cursor_in_window):
13883         * redisplay-output.c (redisplay_update_line):
13884         * redisplay-output.c (redisplay_output_window):
13885         New begin/end methods.
13886
13887         * redisplay-tty.c:
13888         * redisplay-tty.c (tty_frame_output_begin):
13889         * redisplay-tty.c (tty_frame_output_end):
13890         * redisplay-tty.c (console_type_create_redisplay_tty):
13891         New begin/end methods.
13892
13893         * redisplay-x.c:
13894         * redisplay-x.c (x_window_output_begin):
13895         * redisplay-x.c (x_window_output_end):
13896         * redisplay-x.c (console_type_create_redisplay_x):
13897         New begin/end methods.
13898
13899         * redisplay.c (redisplay_frame):
13900         * redisplay.c (Fredisplay_echo_area):
13901         New begin/end methods.
13902         use MAYBE_DEVMETH for clear_frame; it may not exist.
13903
13904         * window.h (WINDOW_XFRAME):
13905         WINDOW_XFOO macros -- get locale and decode struct pointer.
13906
13907
13908 2000-05-12  Ben Wing  <ben@xemacs.org>
13909
13910         * emacs.c:
13911         * emacs.c (ensure_no_quitting_from_now_on):
13912         * emacs.c (fatal_error_signal):
13913         * emacs.c (mswindows_handle_hardware_exceptions):
13914         * emacs.c (main):
13915         * emacs.c (Fkill_emacs):
13916         * emacs.c (shut_down_emacs):
13917         * emacs.c (assert_failed):
13918         various improvements in fatal error handling.
13919
13920         * eval.c:
13921         move preparing_for_armageddon to emacs.c.
13922
13923         * lisp.h:
13924         declare fatal_error_in_progress.
13925
13926         * print.c:
13927         * print.c (std_handle_out_external):
13928         * print.c (std_handle_out_va):
13929         * print.c (stderr_out):
13930         * print.c (stdout_out):
13931         use console under mswin when no standard output.
13932         don't do code conversion during fatal error.
13933
13934         * scrollbar.c (Fscrollbar_page_up):
13935         * scrollbar.c (Fscrollbar_page_down):
13936         fix missing else.  reindent.
13937
13938 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13939
13940         Emergency fix.
13941
13942         * glyphs.h (GLYPH_CACHEL_DESCENT):
13943         (GLYPH_CACHEL_DESCENT):
13944         (GLYPH_CACHEL_DESCENT):
13945         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13946         used in case these are inline functions.
13947         Use more absurd values to error check.
13948
13949         include window.h for error check functions.
13950
13951 2000-05-11  Ben Wing  <ben@xemacs.org>
13952
13953         * cmdloop.c (Freally_early_error_handler):
13954         Display message box under windows; otherwise, message will disappear
13955         before it can be viewed.
13956
13957         * console-msw.c:
13958         * console-msw.c (Fmswindows_message_box):
13959         * console-msw.c (FROB):
13960         * console-msw.c (syms_of_console_mswindows):
13961         Define new fun `mswindows-message-box'.
13962         #### I will merge this into `popup-dialog-box'; just give me
13963         a bit of time.
13964
13965         * general.c:
13966         * general.c (syms_of_general):
13967         Some new symbols used in `mswindows-message-box'.
13968
13969         * glyphs.c:
13970         * glyphs.c (Fset_image_instance_property):
13971         put warning in this fun.
13972
13973         * glyphs.h:
13974         * glyphs.h (GLYPH_CACHEL_WIDTH):
13975         * glyphs.h (GLYPH_CACHEL_ASCENT):
13976         * glyphs.h (GLYPH_CACHEL):
13977         * glyphs.h (GLYPH_CACHEL_GLYPH):
13978         define error-checking versions to try to catch a bug i've seen --
13979         redisplay gets in an infinite loop because the glyph width of the
13980         continuation glyph is 65535.
13981
13982         * lisp.h:
13983         Extern message-box stuff.
13984
13985         * window.c (allocate_window):
13986         * window.c (make_dummy_parent):
13987         * window.c (Fset_window_configuration):
13988         Use EQUAL not EQ for subwindow caches to make them work a bit
13989         better. (Something is still very broken.)
13990
13991
13992 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13993
13994         * glyphs.c (image_instantiate): Suppress gcc warnings.
13995         (Fmake_image_instance): Fix doc string.
13996         * specifier.c (Fmake_specifier): Ditto.
13997
13998 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13999
14000         * paths.h.in (PATH_LOCK): Removed.
14001         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
14002         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
14003
14004 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
14005
14006         * fns.c (Ffeaturep): Update e-mail address in doc-string.
14007         Document (featurep '(and xemacs 21.02)).
14008
14009 2000-05-09  Ben Wing  <ben@xemacs.org>
14010
14011         * buffer.c (complex_vars_of_buffer):
14012         update modeline-format doc.
14013
14014         * device.h:
14015         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14016
14017         * emacs.c:
14018         timeline of all released versions of Emacs, for use in creating
14019         authorship comments and in synching up.
14020
14021         * glyphs-widget.c (image_instantiator_buttons):
14022         * glyphs-widget.c (image_instantiator_edit_fields):
14023         * glyphs-widget.c (image_instantiator_combo_box):
14024         * glyphs-widget.c (image_instantiator_scrollbar):
14025         * glyphs-widget.c (image_instantiator_progress_guage):
14026         * glyphs-widget.c (image_instantiator_tree_view):
14027         * glyphs-widget.c (image_instantiator_tab_control):
14028         * glyphs-widget.c (image_instantiator_labels):
14029         * glyphs-widget.c (image_instantiator_layout):
14030         * glyphs-widget.c (image_instantiator_native_layout):
14031         rename decode_domain method to governing_domain.
14032
14033         * glyphs.c:
14034         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14035         * glyphs.c (add_entry_to_device_ii_format_list):
14036         make sure we don't put an entry more than once into the list.
14037         * glyphs.c (check_instance_cache_mapper):
14038         *************************************************************
14039         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14040         HAVE BEEN GETTING.
14041         *************************************************************
14042         * glyphs.c (get_image_instantiator_governing_domain):
14043         clean up, expand on new concept of governing domain.
14044         * glyphs.c (instantiate_image_instantiator):
14045         * glyphs.c (allocate_image_instance):
14046         use governing_domain instead of cache_domain in naming.
14047         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14048         * glyphs.c (make_image_instance_1):
14049         * glyphs.c (Fmake_image_instance):
14050         allow for any domain (not just device), and process the
14051         governing domain correctly.  very big doc fix.
14052         * glyphs.c (Fimage_instance_domain):
14053         new primitive, to retrieve the governing domain of an image instance.
14054         * glyphs.c (image_instantiate):
14055         use new governing_domain stuff.  this fixes a crash you could get
14056         by instantiating certain widget glyphs in frame locales. (should
14057         signal an error instead of crashing.)
14058         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14059         * glyphs.c (Fglyphp): clean up doc.
14060         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14061         * glyphs.c (syms_of_glyphs):
14062         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14063         * glyphs.c (image_instantiator_format_create): add some comments about
14064         bogus code.
14065         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14066         for current-display-table. (Apparently Hrjove implemented in 1998 a
14067         design I wrote up in 1996, but didn't update the doc string.)
14068
14069         * glyphs.h: clean up a doc string.
14070         * glyphs.h (governing_domain):
14071         * glyphs.h (struct image_instantiator_methods):
14072         changes for governing_domain stuff.
14073
14074         * gutter.c:
14075         * gutter.c (Fgutter_specifier_p):
14076         * gutter.c (Fgutter_size_specifier_p):
14077         * gutter.c (Fgutter_visible_specifier_p):
14078         * objects.c:
14079         * objects.c (Fcolor_specifier_p):
14080         * objects.c (Ffont_specifier_p):
14081         * objects.c (Fface_boolean_specifier_p):
14082         doc strings moved to make-*-specifier.
14083
14084         * redisplay.c (add_disp_table_entry_runes_1):
14085         * redisplay.c (generate_fstring_runes):
14086         * redisplay.c (screen):
14087         add random comments and doc strings.
14088
14089         * specifier.c:
14090         * specifier.c (Fmake_specifier):
14091         major overhaul of this doc string.
14092
14093         * specifier.c (Fvalid_specifier_domain_p):
14094         comment about the bogosity of image instances being domains.
14095         * specifier.c (decode_domain):
14096         now non-static, used in glyphs.c.
14097         * specifier.c (specifier_instance):
14098         comment about the bogosity of image instances being domains.
14099         * specifier.c (Fgeneric_specifier_p):
14100         move doc string to make-generic-specifier.
14101         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14102         rebackslashify.
14103
14104         * specifier.h:
14105         * specifier.h (DOMAIN_FRAME):
14106         * specifier.h (DOMAIN_LIVE_P):
14107         * specifier.h (DOMAIN_XDEVICE):
14108         rebackslashify.
14109         add comments about problems with these macros.
14110         prototype for decode_domain.
14111
14112         * toolbar.c:
14113         * toolbar.c (Ftoolbar_specifier_p):
14114         move doc string to `make-toolbar-specifier'.
14115
14116         * window.c (window_unmap_subwindows_cache_mapper):
14117         *************************************************************
14118         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14119         HAVE BEEN GETTING.
14120         *************************************************************
14121
14122 2000-05-09  Andy Piper  <andy@xemacs.org>
14123
14124         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14125
14126         * window.c (Fset_window_configuration): reset the frame subwindow
14127         cache and re-initialize the window subwindow caches.
14128
14129         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14130
14131 2000-05-09  Ben Wing  <ben@xemacs.org>
14132
14133         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14134         DWORD.
14135
14136 2000-04-26  Mike Woolley  <mike@bulsara.com>
14137
14138         * ntheap.c: Changed recreate_heap to limit the amount reserved
14139         for the heap to that which is actually available. Also now
14140         displays a message box (with some dignostics) in the event that
14141         it still can't start.
14142
14143 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14144
14145         * callproc.c (Fold_call_process_internal): GCPRO path
14146
14147 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14148
14149         Patch by Bill Perry.
14150
14151         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14152         back data instead of #ifdef.
14153         (Fscrollbar_page_down): ditto.
14154
14155 2000-05-07  Ben Wing  <ben@xemacs.org>
14156
14157         * buffer.h:
14158         Kludge for defining Qmswindows_tstr.
14159
14160         * nt.c:
14161         * nt.c (open_input_file):
14162         * nt.c (open_output_file):
14163         * nt.c (rva_to_section):
14164         * nt.c (mswindows_executable_type):
14165         Move all memory-mapped-file routines here (some were in unexnt.c,
14166         which is bad because they are used by process-nt.c, and unexnt
14167         won't be around when portable dumping).  Synched the above routines
14168         with FSF 20.6.
14169
14170         * nt.h:
14171         Removed ifdef'd out bogus code.
14172         Fixed some prototypes.
14173
14174         * nt.h (file_data):
14175         * nt.h (OFFSET_TO_RVA):
14176         * nt.h (RVA_TO_OFFSET):
14177         * nt.h (RVA_TO_PTR):
14178         Moved the memory-mapped-file structures, macros and prototypes
14179         here, to parallel nt.c.  ntheap.h should really be removed
14180         entirely, and it's a non-portable-dumper specific file.
14181
14182         * ntheap.h (round_to_next):
14183         Moved the memory-mapped-file structures, macros and prototypes
14184         to nt.h.
14185
14186         * ntproc.c (compare_env):
14187         Moved rva_to_section and mswindows_executable_type to nt.c.
14188         Moved compare_env to process-nt.c.
14189         ntproc.c will die, one day.
14190
14191         * ntproc.c (sys_spawnve):
14192         Account for win32_ -> mswindows_.
14193
14194         * process-nt.c:
14195         * process-nt.c (struct nt_process_data):
14196         * process-nt.c (ensure_console_window_exists):
14197         * process-nt.c (compare_env):
14198         * process-nt.c (nt_create_process):
14199         * process-nt.c (nt_kill_process_by_pid):
14200         * process-nt.c (syms_of_process_nt):
14201         * process-nt.c (vars_of_process_nt):
14202         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14203         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14204         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14205         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14206         Move compare_env here from ntproc.c.
14207
14208         * process.c (Fprocess_send_region):
14209         Takes an optional fourth argument, BUFFER, which should fix some
14210         problems with call-process.
14211
14212         * syscommctrl.h:
14213         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14214
14215         * syswindows.h:
14216         Move ICC_BAR_CLASSES to syscommctrl.h.
14217         Add preliminary macros for MSWindows/Mule.  More to come.
14218
14219         * unexnt.c:
14220         * unexnt.c (unexec):
14221         open_output_file moved to nt.c.
14222
14223
14224 2000-05-05  Andy Piper  <andy@xemacs.org>
14225
14226         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14227         instance from the frame cache also since GC may catch up too late
14228         to make frame deletion sane.
14229
14230 2000-05-04  Andy Piper  <andy@xemacs.org>
14231
14232         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14233         (x_finalize_image_instance): ungcpro on deletion.
14234
14235         * glyphs.c (image_instantiator_format_create): give pointers a
14236         query geometry method so that the geometry is at least set.
14237
14238         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14239         initialize layouts if using widgets.
14240
14241 2000-05-03  Andy Piper  <andy@xemacs.org>
14242
14243         * nt.c: remove bogus reference to sysmmsystem.h
14244
14245         * gui-x.c (popup_selection_callback): fix no selection abort.
14246
14247 2000-05-02  Andy Piper  <andy@xemacs.org>
14248
14249         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14250         (mswindows_widget_instantiate): ditto.
14251
14252         * glyphs-widget.c (initialize_widget_image_instance): initialize
14253         children correctly.
14254         (widget_instantiate): cope with children and items in the same
14255         instance.
14256
14257         * glyphs.c (mark_image_instance): cope with children as a first
14258         class member.
14259         (image_instance_equal): ditto.
14260         (image_instance_hash): ditto.
14261         (image_instance_changed): ditto.
14262
14263 2000-04-30  Andy Piper  <andy@xemacs.org>
14264
14265         * glyphs.c (subwindow_query_geometry): new function. Return some
14266         defaults.
14267         (subwindow_instantiate): don't assign dimensions if none have been
14268         given.
14269         (image_instantiator_format_create): add subwindow_query_geometry.
14270         (print_image_instance): cope with layouts as widgets.
14271
14272 2000-04-29  Andy Piper  <andy@xemacs.org>
14273
14274         * frame.c (delete_frame_internal): call
14275         free_frame_subwindow_instance_cache so that all subwindows are
14276         finalized before their parent.
14277         (mark_frame): remove subwindow_cachels.
14278         (Fmake_frame): remove subwindow_cachel manipulation.
14279         (allocate_frame_core): subwindow_instance_cache is a weak list.
14280         (delete_frame_internal): set subwindow_instance_cache to nil.
14281
14282         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14283         finalization safe.
14284         (mswindows_finalize_image_instance): use the device
14285         not the domain as the domain may have died already.
14286
14287         * glyphs-x.c (x_finalize_image_instance): ditto.
14288         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14289         HEIGHT.
14290
14291         * redisplay-output.c (redisplay_unmap_subwindows): update for
14292         subwindow instance cache as a weak list.
14293         (redisplay_unmap_subwindows_maybe): ditto.
14294         (redisplay_unmap_subwindows_except_us): ditto.
14295
14296         * glyphs.c (unmap_subwindow): error checking will check the domain
14297         so don't deal with it here. Don't use cachels anymore.
14298         (map_subwindow): ditto.
14299         (update_subwindow_cachel_data): remove old accessor names.
14300         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14301         (Fresize_subwindow): don't update cachel.
14302         (mark_subwindow_cachels):
14303         (update_subwindow_cachel_data):
14304         (add_subwindow_cachel):
14305         (get_subwindow_cachel_index):
14306         (update_subwindow_cachel):
14307         (reset_subwindow_cachels):
14308         (mark_subwindow_cachels_as_not_updated): deleted.
14309         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14310         subwindow instance to the frame cache.
14311         (find_matching_subwindow): update for subwindow instance cache as
14312         a weak list.
14313         (update_widget_instances): ditto.
14314         (image_instance_type_to_mask):inlined.
14315         (free_frame_subwindow_instance_cache): new function. finalize all
14316         subwindows that are instantiated.
14317
14318         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14319         of cachel information.
14320         (IMAGE_INSTANCE_DISPLAY_X):
14321         (IMAGE_INSTANCE_DISPLAY_Y):
14322         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14323         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14324         (XIMAGE_INSTANCE_DISPLAY_X):
14325         (XIMAGE_INSTANCE_DISPLAY_Y):
14326         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14327         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14328         remove subwindow_cachel structure and function references.
14329         (image_instance_type_to_mask): inline from glyphs.c
14330
14331         * redisplay.c (redisplay_frame): remove subwindow_cachel
14332         references.
14333
14334         * frame.h (struct frame): remove subwindow_cachels.
14335         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14336
14337         * frameslots.h: add subwindow_instance_cache.
14338
14339         * window.c (replace_window): check subwindow cache of replacement.
14340         (window_unmap_subwindows_cache_mapper):
14341         (window_unmap_subwindows): new functions. Unmap all subwindows
14342         cached on this window.
14343         (mark_window_as_deleted): unmap all subwindows.
14344
14345 2000-04-27  Andy Piper  <andy@xemacs.org>
14346
14347         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14348
14349         * glyphs-widget.c (widget_layout): return something.
14350         (layout_layout): return something. Fail if not initialized.
14351         (layout_query_geometry): ditto.
14352         (image_instantiator_native_layout): new function. Initialized the
14353         native layout type.
14354         (widget_instantiate): don't do layout stuff here.
14355
14356         * glyphs.c (instantiate_image_instantiator): reorded calling or
14357         instantiate and post_instantiate with layout in between.
14358         (image_instance_layout): be more selective about deciding whether
14359         the layout has been done or not.
14360
14361         * glyphs.h (struct image_instantiator_methods): return a value
14362         from layout_method.
14363
14364 2000-04-26  Andy Piper  <andy@xemacs.org>
14365
14366         * glyphs.c (allocate_image_instance): make initial width and
14367         height unspecified. Set initialized to 0.
14368
14369         * syscommctrl.h new file. Encapsulates commctrl.h.
14370
14371         * syswindows.h new file. Encapsulates windows.h.
14372
14373         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14374         * nt.c: ditto.
14375         * console-msw.h: ditto.
14376
14377         * redisplay-tty.c (tty_output_display_block): remove layout references.
14378
14379         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14380         window handle rather than just the frame.
14381
14382         * glyphs.c (mark_image_instance): remove layout references.
14383         (print_image_instance): ditto.
14384         (image_instance_equal): ditto.
14385         (image_instance_hash): ditto.
14386         (decode_image_instance_type): ditto.
14387         (encode_image_instance_type): ditto.
14388         (image_instantiate): ditto.
14389         (allocate_glyph): ditto.
14390         (Fimage_instance_height): ditto.
14391         (Fimage_instance_width): ditto.
14392         (update_subwindow): ditto.
14393
14394         * redisplay-x.c (x_output_display_block): recode for layouts as
14395         widgets.
14396
14397         * redisplay-output.c (redisplay_output_layout): recode for layouts
14398         as widgets.
14399         (compare_runes): remove layout references.
14400
14401         * redisplay-msw.c (mswindows_output_display_block): recode for
14402         layouts as widgets.
14403
14404         * glyphs-widget.c (image_instantiator_layout): remove
14405         layout_possible_dest_types.
14406         (layout_possible_dest_types): deleted.
14407
14408         * glyphs.h (image_instance_type): remove layout references.
14409         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14410         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14411         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14412
14413 2000-04-25  Andy Piper  <andy@xemacs.org>
14414
14415         * glyphs-widget.c (image_instantiator_buttons):
14416         (image_instantiator_edit_fields):
14417         (image_instantiator_combo_box):
14418         (image_instantiator_scrollbar):
14419         (image_instantiator_progress_guage):
14420         (image_instantiator_tree_view):
14421         (image_instantiator_tab_control):
14422         (image_instantiator_labels):
14423         (image_instantiator_layout): call default post_instantiate method.
14424         (widget_post_instantiate): new function. Simply lays out the
14425         widgets.
14426
14427         * glyphs.h (struct image_instantiator_methods): add
14428         post_instantiate method.
14429
14430         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14431         method calls.
14432
14433 2000-04-23  Andy Piper  <andy@xemacs.org>
14434
14435         * glyphs.h (struct image_instantiator_methods): add
14436         decode_domain_method.
14437         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14438         derived from the domain.
14439         (IMAGE_INSTANCE_FRAME): new accessor.
14440         (XIMAGE_INSTANCE_FRAME): ditto.
14441
14442         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14443         instead of _SUBWINDOW_FRAME.
14444         (finalize_image_instance): ditto.
14445         (Fimage_instance_foreground): ditto.
14446         (Fimage_instance_background): ditto.
14447         (image_instantiate): ditto.
14448         (update_subwindow_cachel): ditto.
14449         (update_subwindow): ditto.
14450         (unmap_subwindow): ditto.
14451         (map_subwindow): ditto
14452         (subwindow_instantiate): ditto.
14453         * glyphs-msw.c (mswindows_update_widget): ditto.
14454         (mswindows_progress_gauge_instantiate): ditto.
14455         (mswindows_tab_control_update): ditto.
14456         * glyphs-x.c (x_update_widget): ditto.
14457         (x_widget_instantiate): ditto.
14458         (x_tab_control_instantiate): ditto.
14459         (x_tab_control_update): ditto.
14460         * event-msw.c (mswindows_wnd_proc): ditto
14461
14462         * glyphs-widget.c (image_instantiator_layout): use
14463         subwindow_decode_domain.
14464         (image_instantiator_buttons): ditto.
14465         (image_instantiator_edit_fields): ditto.
14466         (image_instantiator_combo_box): ditto.
14467         (image_instantiator_scrollbar): ditto.
14468         (image_instantiator_progress_guage): ditto.
14469         (image_instantiator_tree_view): ditto.
14470         (image_instantiator_tab_control): ditto.
14471         (image_instantiator_labels): ditto.
14472         (image_instantiator_layout): ditto.
14473
14474         * glyphs.c: add instance error checking to many functions.
14475         (instantiate_image_instantiator): decode device from cache_domain.
14476         (image_instantiate): partially rewrite by using
14477         decode_image_instantiator_domain to determine what domain the
14478         instance needs to be cached in.
14479         (decode_image_instantiator_domain): new function. Determine what
14480         domain the image needs to be cached in.
14481         (check_window_subwindow_cache): new error checking function.
14482         (check_instance_cache_mapper): ditto.
14483         (check_image_instance_structure): ditto.
14484         (subwindow_decode_domain): new function. Encodes a window as a
14485         subwindow's cache domain.
14486         (image_instantiator_format_create): use it for text and
14487         subwindows.
14488
14489 2000-04-21  Andy Piper  <andy@xemacs.org>
14490
14491         * glyphs.c (image_instance_device): new function.
14492         (image_instance_frame): new function.
14493         (image_instance_window): new function.
14494         (image_instance_live_p): new function.
14495
14496         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14497         cache to nil.
14498
14499         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14500         (IMAGE_INSTANCE_DOMAIN): new accessor.
14501         (XIMAGE_INSTANCE_DOMAIN): ditto.
14502
14503         * glyphs-x.c (x_finalize_image_instance): device->domain.
14504
14505         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14506         (mswindows_finalize_image_instance): ditto.
14507
14508         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14509         (gif_instantiate): ditto.
14510         (png_instantiate): ditto.
14511         (tiff_instantiate): ditto.
14512
14513         * glyphs.c (instantiate_image_instantiator): use domain rather
14514         than device.
14515         (mark_image_instance): device -> domain.
14516         (print_image_instance): ditto.
14517         (finalize_image_instance): ditto.
14518         (image_instance_equal): ditto.
14519         (allocate_image_instance): ditto.
14520         (Fcolorize_image_instance): ditto.
14521         (query_string_geometry): ditto.
14522         (image_instantiate): ditto
14523         (query_string_font): ditto.
14524         (image_instantiate): ditto.
14525         (update_subwindow): ditto.
14526         (unmap_subwindow): ditto.
14527         (map_subwindow): ditto.
14528         (subwindow_instantiate): ditto.
14529
14530         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14531         (DOMAIN_FRAME): ditto.
14532         (DOMAIN_WINDOW): ditto.
14533         (DOMAIN_LIVE_P): ditto.
14534         (XDOMAIN_DEVICE): ditto.
14535         (XDOMAIN_FRAME): ditto.
14536         (XDOMAIN_WINDOW): ditto.
14537
14538         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14539         a valid specifier domain.
14540
14541 2000-04-19  Andy Piper  <andy@xemacs.org>
14542
14543         * glyphs-widget.c (syms_of_glyphs_widget): remove
14544         widget-callback-current-channel.
14545         (vars_of_glyphs_widget): ditto.
14546         * glyphs.h: ditto
14547
14548         * gui.c (get_gui_callback): revert to previous behaviour.
14549
14550 2000-04-18  Andy Piper  <andy@xemacs.org>
14551
14552         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14553         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14554         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14555
14556         * glyphs.c (image_instance_equal): add margin_width.
14557         (image_instance_hash): ditto.
14558
14559         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14560         (layout_query_geometry): ditto.
14561         (layout_layout): ditto.
14562         (syms_of_glyphs_widget): add margin-width.
14563         (image_instantiator_layout): allow margin-width.
14564
14565         * glyphs.c (update_widget_instances): make a normal function.
14566         (syms_of_glyphs): remove Qupdate_widget_instances.
14567         * glyphs.h: ditto.
14568
14569         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14570         so that we don't corrupt ideas about the last event or
14571         command. Remove widget-callback-current-channel fiddling.
14572         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14573
14574 2000-05-01  Martin Buchholz <martin@xemacs.org>
14575
14576         * XEmacs 21.2.33 is released.
14577
14578 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14579
14580         * make-src-depend: Allow dots in header file name.
14581
14582 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14583
14584         * mule-charset.h (struct charset_lookup): Add
14585         next_allocated_1_byte_leading_byte and
14586         next_allocated_2_byte_leading_byte.
14587         * mule-charset.c: Move above two variables so that those values
14588         will be dumped.
14589
14590 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14591
14592         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14593         when string length is zero.
14594         (find_charsets_in_emchar_string): Ditto.
14595
14596 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14597
14598         * lisp.h: extern Qdialog and Qmenubar.
14599
14600         * gui-x.c: added events.h.
14601                 also fixed typo which made the file uncompilable.
14602
14603         * general.c: Added Qmenubar and Qdialog
14604
14605 2000-04-28  Ben Wing  <ben@xemacs.org>
14606
14607         * frame-msw.c (mswindows_init_frame_1):
14608         * frame-msw.c (mswindows_mark_frame):
14609         * event-msw.c (mswindows_enqueue_dispatch_event):
14610         * console-msw.h:
14611         * console-msw.h (struct mswindows_frame):
14612         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14613         there are now three hash tables for callbacks.
14614         mswindows_enqueue_dispatch_event is no longer static.
14615
14616         * dialog-x.c (maybe_run_dbox_text_callback):
14617         * dialog-x.c (dbox_descriptor_to_widget_value):
14618         switch to new cons3 form for callbacks.
14619
14620         * glyphs-msw.c (mswindows_register_gui_item):
14621         * glyphs-msw.c (mswindows_widget_instantiate):
14622         * glyphs-msw.c (add_tree_item):
14623         * glyphs-msw.c (add_tab_item):
14624         new image instance parameter, so it can be passed to callback-ex.
14625         respect :callback-ex as well as :callback.
14626
14627         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14628         add :callback-ex.
14629
14630         * glyphs.c (print_image_instance):
14631         prettify, e.g. now prints widget type.
14632
14633         * gui-x.h:
14634         certain funs have new image instance parameter.
14635
14636         * gui.c:
14637         * gui.c (get_gui_callback):
14638         * gui.c (gui_item_add_keyval_pair):
14639         * gui.c (gui_item_init):
14640         * gui.c (gui_add_item_keywords_to_plist):
14641         * gui.c (mark_gui_item):
14642         * gui.c (gui_item_hash):
14643         * gui.c (gui_item_equal):
14644         * gui.c (copy_gui_item):
14645         * gui.c (syms_of_gui):
14646         recognize callback-ex in a number of places.
14647         also, fix the annoying "can't get out of yes-no dialog" bug.
14648
14649         * gui.h:
14650         * gui.h (struct Lisp_Gui_Item):
14651         recognize callback-ex in a number of places.
14652
14653         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14654         new parameter in button_item_to_widget_value.
14655
14656         * glyphs-x.c (x_update_widget):
14657         * glyphs-x.c (x_button_instantiate):
14658         * glyphs-x.c (x_button_update):
14659         * glyphs-x.c (x_progress_gauge_instantiate):
14660         * glyphs-x.c (x_edit_field_instantiate):
14661         * glyphs-x.c (x_combo_box_instantiate):
14662         * glyphs-x.c (x_tab_control_instantiate):
14663         * glyphs-x.c (x_label_instantiate):
14664         new image instance parameter in various places.
14665
14666         * event-Xt.c:
14667         * event-Xt.c (enqueue_Xt_dispatch_event):
14668         this fun gets exported.
14669
14670         * gui-msw.c:
14671         * gui-msw.c (mswindows_handle_gui_wm_command):
14672         handle both :callback and :callback-ex, and generate our own
14673         event because it's one of the callback-ex arguments.
14674
14675         * gui-x.c:
14676         * gui-x.c (popup_selection_callback):
14677         handle both :callback and :callback-ex, and generate our own
14678         event because it's one of the callback-ex arguments.
14679         * gui-x.c (button_item_to_widget_value):
14680         * gui-x.c (gui_items_to_widget_values_1):
14681         * gui-x.c (gui_item_children_to_widget_values):
14682         * gui-x.c (gui_items_to_widget_values):
14683         new image instance parameter in various places.
14684
14685         * fns.c (Freplace_list):
14686         fix small typo in doc string.
14687
14688         * lisp.h:
14689         declare enqueue_Xt_dispatch_event.
14690
14691 2000-04-28  Ben Wing  <ben@xemacs.org>
14692
14693         * buffer.c:
14694         * buffer.c (Frecord_buffer):
14695         * buffer.c (syms_of_buffer):
14696         delete record-buffer-hook.
14697
14698         * fns.c:
14699         * fns.c (Freplace_list):
14700         * fns.c (syms_of_fns):
14701         new primitive replace-list.
14702
14703         * frameslots.h:
14704         slot for old buffer-alist.
14705
14706         * lisp.h:
14707         exfun replace-list.
14708
14709         * redisplay.c:
14710         * redisplay.c (redisplay_frame):
14711         * redisplay.c (syms_of_redisplay):
14712         * redisplay.c (vars_of_redisplay):
14713         new hook buffer-list-changed-hook.
14714         call it.
14715
14716 2000-04-27  Ben Wing  <ben@xemacs.org>
14717
14718         * extents.h: extern in_modeline_generation.
14719
14720         * redisplay.c (generate_formatted_string_db): set
14721         in_modeline_generation.
14722
14723         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14724         flags if in modeline generation.  otherwise frame-modified-tick
14725         is ticked far too often.
14726         Declare in_modeline_generation.
14727
14728 2000-04-26  Ben Wing  <ben@xemacs.org>
14729
14730         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14731         option.
14732         (vars_of_emacs): add quick-build as an error-checking option.
14733         A bit kludgy, but there doesn't seem much point in creating
14734         a real var for this.
14735
14736         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14737
14738 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14739
14740         * redisplay.h (struct display_line): Add a new variable,
14741         line_continuation.
14742
14743         * redisplay.c (create_text_block): Set dl->line_continuation if
14744         the line continues.
14745         (create_string_text_block): Ditto.
14746         (regenerate_window_incrementally): Use line_continuation instead
14747         of searching continuation glyph.
14748         (add_margin_runes): Call add_glyph_rune.
14749         (add_glyph_rune): Handle margin glyph.
14750
14751 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14752
14753         * filelock.c (fill_in_lock_file_name):
14754         ANSIfy.
14755         Check for IS_ANY_SEP instead of '/'.
14756         (lock_file_1):
14757         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14758         Never check errno without first seeing that system call failed.
14759         (unlock_file): Add GCPRO.
14760         (Flock_buffer): Fix docstring.
14761         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14762
14763 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14764
14765         * sysdep.c (get_pty_max_bytes):
14766         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14767         strings longer than 252 bytes.
14768
14769         * md5.c: Unconditionally include ANSI header <limits.h>
14770
14771         * glyphs-x.c (convert_EImage_to_XImage):
14772         * lisp-union.h (union Lisp_Object):
14773         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14774
14775 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14776
14777         * filelock.c (current_lock_owner): Remove unused variable o, p.
14778
14779 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14780
14781         * callint.c: Remove multiply defined symbol Qlet
14782         (syms_of_callint): ditto.
14783
14784 2000-04-14  Andy Piper  <andy@xemacs.org>
14785
14786         * general.c (syms_of_general): add last-command, this-command, let
14787         and funcall.
14788
14789         * lisp.h: declare various symbols.
14790
14791         * glyphs.h: declare Qwidget_callback_current_channel;
14792
14793         * glyphs-widget.c (syms_of_glyphs_widget): add
14794         Qgui_callback_current_channel.
14795         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14796
14797         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14798         widget-callback-current-channel when invoking the interactive
14799         arg. Also bind last-command and next-command when invoking the
14800         widget updates.
14801         * gui-x.c (popup_selection_callback): ditto.
14802
14803         * gui.c (get_gui_callback): massage args so that we are always
14804         calling eval. This allows us to add our own variable bindings
14805         outside.
14806
14807         * glyphs-x.c (x_button_instantiate): use
14808         gui_items_to_widget_values since this is GC safe.
14809         (x_progress_gauge_instantiate): ditto.
14810         (x_edit_field_instantiate): ditto.
14811         (x_label_instantiate): ditto.
14812
14813         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14814         (emacs_Xt_event_widget_focus_out): new function
14815         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14816         focus.
14817         (emacs_Xt_event_add_widget_actions): new function. add focus
14818         functions as actions.
14819         (init_event_Xt_late): use it.
14820
14821 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14822
14823         * event-stream.c (Fdispatch_event): Doc fix.
14824
14825 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14826
14827         * postgresql.c: Remove all references to PQsetenv*.
14828
14829         * postgresql.h: Remove references to PGsetenvHandler object.
14830         * lrecord.h (lrecord_type): Ditto.
14831
14832 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14833
14834         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14835         real_heigh and real_width members, and accessor macros for these.
14836
14837         * glyphs-msw.c (init_image_instance_geometry): New function.
14838         (init_image_instance_from_dibitmap): Use it.
14839         (mswindows_resource_instantiate): Use it.
14840         (init_image_instance_from_xbm_inline): Use it.
14841         (mswindows_initialize_image_instance_mask): Use real bitmap
14842         geometry.
14843         (mswindows_create_resized_bitmap): Ditto.
14844         (mswindows_create_resized_mask): Ditto.
14845
14846         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14847         and bitmap to their surface size.
14848
14849 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14850
14851         * process-unix.c (unix_send_process): Guard against process MIA
14852         after Faccept_process_output.
14853
14854 2000-04-11  Ben Wing  <ben@xemacs.org>
14855
14856         * eval.c (unbind_to_hairy): fix brokenness introduced by
14857         nanosecond speed improvements.
14858
14859 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14860
14861         * sunplay.c (init_device): To play sounds correctly, the device
14862         apparently needs to be initialized at least once by XEmacs.  Make
14863         it so.
14864
14865 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14866
14867         * redisplay.c (add_margin_runes): Add text image glyph
14868           handling.
14869
14870 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14871
14872         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14873         gcc is newer than 2.5.
14874
14875 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14876
14877         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14878
14879         * fns.c (size_bit_vector):
14880         * alloc.c (size_vector):
14881         (make_vector_internal):
14882         (make_bit_vector_internal):
14883         (sweep_bit_vectors_1):
14884         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14885
14886 2000-04-06  Andy Piper  <andy@xemacs.org>
14887
14888         * gmalloc.c (malloc): undo previous change.
14889         (malloc): ditto.
14890         (free): ditto.
14891         (realloc): ditto.
14892
14893 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14894
14895         * line-number.c (buffer_line_number): Revert to former version.
14896
14897 2000-04-06  Andy Piper  <andy@xemacs.org>
14898
14899         * gmalloc.c (malloc): add error checking.
14900         (malloc): ditto.
14901         (free): ditto.
14902         (realloc): ditto.
14903
14904         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14905         button_item_to_widget_value arg.
14906
14907         * glyphs-x.c (x_button_instantiate): add extra
14908         button_item_to_widget_value arg.
14909         (x_progress_gauge_instantiate): ditto.
14910         (x_edit_field_instantiate): ditto.
14911         (x_label_instantiate): ditto.
14912
14913         * gui-x.c (gui_items_to_widget_values_1): add extra
14914         button_item_to_widget_value arg.
14915         (button_item_to_widget_value): add extra menu_item_p arg.
14916
14917         * gui-x.h: change signature of button_item_to_widget_value.
14918
14919         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14920         button_item_to_widget_value arg.
14921
14922 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14923
14924         * buffer.h (struct buffer): auto_save_modified should be long.
14925
14926 2000-04-05  Andy Piper  <andy@xemacs.org>
14927
14928         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14929         type.
14930         (button_query_geometry): give a little more room so that athena
14931         buttons fit.
14932
14933 2000-04-05  Andy Piper  <andy@xemacs.org>
14934
14935         * faces.c (complex_vars_of_faces): The widget face should inherit
14936         the font of the gui-element face.
14937
14938 2000-04-04  Andy Piper  <andy@xemacs.org>
14939
14940         * glyphs-x.c (x_button_update): new function. unconditionally
14941         update a button's state when the instance is dirty.
14942         (image_instantiator_format_create_glyphs_x): add x_button_update.
14943         (x_widget_instantiate): remove old resize cruft.
14944
14945 2000-04-02  Andy Piper  <andy@xemacs.org>
14946
14947         * frame.c (change_frame_size_1): The introduction of gutters means
14948         that we need to allow 0 as a potential frame dimension.
14949
14950 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14951
14952         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14953         image glyph if allow_cursor.
14954         (add_hscroll_rune): Don't allow cursor to border glyph.
14955         (create_text_block): Ditto.
14956
14957         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14958         text not in buffer.
14959         (redisplay_output_layout): Call ensure_face_cachel_complete for
14960         text image glyph.
14961
14962
14963 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14964
14965         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14966
14967         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14968         not in buffer
14969
14970         * redisplay-tty.c (tty_output_display_block): Delete the routine
14971         for text image glyph
14972         * redisplay-x.c (x_output_display_block): ditto
14973         * redisplay-msw.c (mswindows_output_display_block): ditto
14974
14975 2000-02-02  Mike Alexander  <mta@arbortext.com>
14976
14977         Note: Some of these were committed by accident as part of other
14978         patches.
14979
14980         * regex.c (regex_compile): Avoid compiler warnings.
14981
14982         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14983
14984         * nt.h: Declare term_ntproc correctly.
14985
14986         * nt.c: Remove incorrect declaration of get_home_directory which
14987         is declared correctly in lisp.h.
14988
14989         * keymap.c (get_keyelt): Avoid compiler warnings.
14990         (raw_lookup_key_mapper): Avoid compiler warnings.
14991
14992         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14993
14994         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14995
14996         * filemode.c (mode_string): Avoid compiler warnings.
14997
14998         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14999         avoid warning.
15000
15001         * events-mod.h: Undef some things that winuser.h defines differently.
15002
15003         * data.c (Faset): Avoid compiler warnings.
15004
15005         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
15006
15007 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15008
15009         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
15010         Fall through to simple beep on error.
15011         Replace "extern" by real header file.
15012
15013         * linuxplay.c: Use nativesound.h
15014         (play_sound_data): Return error code. Be less verbose on error.
15015
15016         * sunplay.c: Use nativesound.h
15017         (play_sound_data): Return error code. Be less verbose on error.
15018
15019         * ntplay.c: Use nativesound.h
15020         (play_sound_data): Return fake error code
15021
15022         * sgiplay.c: Use nativesound.h
15023         (play_sound_data): Return error code
15024
15025         * hpplay.c: Use nativesound.h, partially implement
15026         new error code. Break compilation until finished.
15027         (play_sound_data): error code.
15028
15029         * nativesound.h (play_sound_file):
15030           (play_sound_data): Prototype in new header.
15031
15032 2000-03-31  Andy Piper  <andy@xemacs.org>
15033
15034         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15035         for toggle and radio buttons.
15036         (image_instantiator_buttons): use it.
15037
15038 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15039
15040         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15041         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15042         found. Scrollbar event probably belonged to some old config.
15043
15044 2000-03-31  Andy Piper  <andy@xemacs.org>
15045
15046         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15047         than 1.
15048         (initialize_widget_image_instance): default layout to
15049         LAYOUT_HORIZONTAL rather than 0.
15050         (widget_instantiate): reverse the item list at the end rather than
15051         every iteration.
15052         (layout_layout): re-code for the border text at the front of the
15053         item list rather than at the end.
15054         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15055         provided by the user.
15056         (widget_query_geometry): comment.
15057
15058 2000-03-30  Andy Piper  <andy@xemacs.org>
15059
15060         * glyphs-widget.c (image_instantiator_layout): allow standard
15061         widget keywords in layouts.
15062
15063         * gutter.c (output_gutter): cope with nil gutter contents.
15064
15065         * frame.c (Fset_frame_properties): add gutter docs.
15066
15067 2000-03-29  Andy Piper  <andy@xemacs.org>
15068
15069         * toolbar-msw.c (TBSTYLE_FLAT): add.
15070         (mswindows_output_toolbar): minor fiddling.
15071
15072 2000-03-29  Andy Piper  <andy@xemacs.org>
15073
15074         * gutter.c (output_gutter): force gutter size recalculation if
15075         what we are trying to display won't fit.
15076         (update_gutter_geometry): new function. A per-gutter version of
15077         update_frame_gutter_geometry.
15078         (update_frame_gutter_geometry): use it.
15079         (redraw_exposed_gutter): add extra debugging output.
15080
15081 2000-03-28  Mike Alexander  <mta@arbortext.com>
15082
15083         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15084         (pdump_file_unmap): Implement it on Windows
15085         (pdump_file_get): Save alocated handles for pdump_file_unmap
15086
15087 2000-03-28  Andy Piper  <andy@xemacs.org>
15088
15089         * gui.c (get_gui_callback): treat Quit specially.
15090
15091 2000-03-27  Andy Piper  <andy@xemacs.org>
15092
15093         * glyphs.c (image_instantiate): be careful to check in the same
15094         way we assigned.
15095
15096 2000-03-27  Didier Verna  <didier@xemacs.org>
15097
15098         * config.h.in: define the proper SMART_INCLUDE macro.
15099         handle renaming of `foo_h_path' to `foo_h_file'.
15100
15101         * database.c: ditto.
15102
15103         * emacs.c: ditto.
15104
15105         * linuxplay.c: ditto.
15106
15107         * terminfo.c: ditto.
15108
15109         * tooltalk.h: ditto.
15110
15111 2000-03-27  Andy Piper  <andy@xemacs.org>
15112
15113         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15114         gets updated whenever the face might have changed.
15115
15116 2000-03-26  Mike Alexander  <mta@arbortext.com>
15117
15118         * dumper.c (pdump_resource_free): Fix the comment.
15119
15120 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15121
15122         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15123
15124 2000-03-22  Mike Alexander  <mta@arbortext.com>
15125
15126         * dumper.c: Include Windows headers on Windows
15127         (pdump_resource_free): Add a body to the function
15128         (pdump_load): exe_name -> exe_path and add some comments.
15129
15130 2000-03-25  Mike Alexander  <mta@arbortext.com>
15131
15132         * gui.c (copy_gui_item_tree): Return a value in all cases
15133
15134 2000-03-21  Didier Verna  <didier@xemacs.org>
15135
15136         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15137         lwlib/config.h.in.
15138         (SMART_INCLUDE): new macro.
15139         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15140         the proper location.
15141
15142         * postgresql.c: use it.
15143
15144         * inline.c: ditto.
15145
15146 2000-03-24  Andy Piper  <andy@xemacs.org>
15147
15148         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15149         do this.
15150
15151 2000-03-24  Andy Piper  <andy@xemacs.org>
15152
15153         * redisplay-output.c (compare_runes): use image_instance_changed
15154         to detect changes. Do not depend on glyphs_changed, only depend on
15155         dirtiness.
15156          (redisplay_output_layout): add debug messages.
15157         (compare_runes): ditto.
15158
15159         * glyphs.h: declare new functions.
15160         (struct Lisp_Image_Instance): remove percent and associated
15161         accessors.
15162
15163         * gui.h: declare new copying functions.
15164
15165         * gui.c (copy_gui_item_tree): new function.
15166         (copy_gui_item): new function.
15167         (gui_item_id_hash): revert to standard hash.
15168         (gui_item_hash): ditto.
15169         (gui_item_hash_internal): deleted.
15170         (mark_gui_item): mark value.
15171         (gui_item_add_keyval_pair): add value.
15172         (gui_item_init): ditto.
15173         (gui_add_item_keywords_to_plist): ditto.
15174         (gui_item_equal): ditto.
15175         (syms_of_gui): add Q_value.
15176
15177         * glyphs-x.c (x_progress_gauge_update): use pending items and
15178         value for setting the state.
15179         (x_update_widget): don't set items from pending here.
15180
15181         * glyphs-widget.c (update_widget): update items here.
15182         (progress_gauge_set_property): use items for storing value. Put
15183         new value in pending items.
15184
15185         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15186         items for new value. Convert percent -> value.
15187         (mswindows_tab_control_update): don't update items here.
15188
15189         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15190         (update_subwindow): ditto.
15191         (image_instance_changed): new function. Compare hash values and
15192         past and present widget items.
15193         (image_instantiate): We more careful about where we instantiate
15194         things.
15195         (image_instantiate): add error checking.
15196
15197         * gutter.c (syms_of_gutter): use -hook.
15198
15199 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15200
15201         * console-tty.c (Fset_console_tty_input_coding_system): Use
15202         Qkeyboard.
15203         (Fset_console_tty_output_coding_system): Use Qterminal.
15204         (tty_init_console): Use Qkeyboard and Qterminal.
15205
15206 2000-03-21  Ben Wing  <ben@xemacs.org>
15207
15208         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15209         From Mike Alexander <mta@arbortext.com>.
15210
15211 2000-03-21  Ben Wing  <ben@xemacs.org>
15212
15213         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15214         process brokenness.  Proper implementation to come.
15215         * callproc.c:
15216         Rename call-process-internal to old-call-process-internal.
15217         New impl. in process.el.
15218
15219 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15220
15221         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15222
15223 2000-03-20  Andy Piper  <andy@xemacs.org>
15224
15225         * glyphs.c (full_list_hash): make hashes of the same elements in
15226         different orders return different values.
15227
15228 2000-03-20  Martin Buchholz <martin@xemacs.org>
15229
15230         * XEmacs 21.2.32 is released.
15231
15232 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15233
15234         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15235         (DFC_MALLOC_USE_CONVERTED_DATA):
15236         Add aliasing-safe casts to allow use with char* or unsigned char*
15237         lvalues.
15238
15239         * eldap.c (Fldap_open):
15240         (Fldap_search_basic):
15241         (Fldap_add):
15242         (Fldap_modify):
15243         Make C++-compilable.
15244         Make sure GCPRO'ed variables are initialized.
15245         Use temp variables to avoid repeated calls to Flength.
15246
15247 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15248
15249         * sysfile.h:
15250         Make sure PATH_MAX is always defined.
15251         Include limits.h for PATH_MAX.
15252         Deprecate use of MAXPATHLEN.
15253
15254 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15255
15256         * emacs.c: Add reinit_vars_of_fileio.
15257         * symsinit.h: Add reinit_vars_of_fileio.
15258         * fileio.c (reinit_vars_of_fileio): New.
15259         * fileio.c (Fmake_temp_name):
15260         Initialize temp_name random number from microseconds to make
15261         collisions even less likely.  Initialize always at process startup
15262         time.  (make-temp-name) used to return the same file name twice in
15263         a row when PDUMP.
15264         Random stylistic fiddling.
15265         Comment fixes.
15266
15267 2000-03-20  Andy Piper  <andy@xemacs.org>
15268
15269         * glyphs.c (image_instantiate): allow text glyphs to be
15270         instantiated in the minibuffer window.
15271
15272 2000-03-19  Andy Piper  <andy@xemacs.org>
15273
15274         * glyphs.c (image_instance_hash): be careful about which items we
15275         hash on.
15276
15277         * glyphs-widget.c (tab_control_set_property): record into pending
15278         items rather than the actual items.
15279
15280         * glyphs-x.c (x_update_widget): use pending items to update with.
15281
15282         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15283         to update with.
15284
15285         * glyphs.c (mark_image_instance): mark pending items.
15286
15287         * window.c (Fset_window_configuration): record the buffer.
15288         (Fselect_window): totally revert previous change which breaks many
15289         things.
15290
15291 2000-03-18  Andy Piper  <andy@xemacs.org>
15292
15293         * glyphs-msw.c (mswindows_tab_control_update): force selected
15294         item.
15295
15296         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15297         window domain cache, otherwise we get inconsistencies at
15298         startup. There is something fishy at startup which can lead to the
15299         minibuffer being the selected window when the gutter content is
15300         instantiated.
15301
15302         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15303         gcpros.
15304         (parse_gui_item_tree_children): ditto.
15305         (parse_gui_item_tree_item): ditto.
15306
15307         * glyphs.c (Fupdate_widget_instances): return something.
15308
15309 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15310
15311         * window.c (Fselect_window): Undo 2000-03-17 change.
15312
15313 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15314
15315         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15316         against v7.0 libraries.  Insta-coredump city until the postgres
15317         folks fix it.
15318
15319 2000-03-17  Andy Piper  <andy@xemacs.org>
15320
15321         * faces.c (complex_vars_of_faces): don't give the widget face an
15322         inherited background pixmap.
15323
15324         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15325         selected item.
15326
15327         * event-stream.c (Fdispatch_non_command_events): return something.
15328
15329         * gutter.c (output_gutter): use widget face.
15330         (clear_gutter): ditto.
15331
15332         * NEWS: adjust again.
15333
15334         * window.c (Fselect_window): make sure this runs to completion to
15335         avoid oddities with Fset_window_configuration.
15336         (Fcurrent_window_configuration): in general do not save the
15337         minibuffer as the selected window.
15338
15339         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15340
15341 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15342
15343         * emacs.c (Frunning_temacs_p): Revert previous patch.
15344         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15345
15346 2000-03-16  Andy Piper  <andy@xemacs.org>
15347
15348         * glyphs-x.c (x_tab_control_update): if no widget values then
15349         return.
15350
15351         * NEWS: update for new features.
15352
15353         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15354         synthetic event to the native system.
15355         (reinit_vars_of_event_Xt): set force_event_pending to
15356         emacs_Xt_force_event_pending.
15357
15358         * events.h (struct event_stream): add force_event_pending.
15359
15360         * specifier.c (recompute_one_cached_specifier_in_window): add
15361         comment.
15362
15363         * redisplay.c (redisplay_frame): don't call
15364         update_frame_subwindows. Reset subwindow cachels when
15365         subwindows_changed, removing this was an optimization too far.
15366
15367         * redisplay-output.c (compare_runes): reorganize so that we catch
15368         glyph changes when we want them. Set optimize_output when this
15369         would help layouts.
15370         (redisplay_output_layout): remove frame_really_changed, use
15371         optimize_output instead.
15372
15373         * redisplay-msw.c (mswindows_output_display_block): reset
15374         optimize_output after outputting a glyph.
15375         * redisplay-x.c (x_output_display_block): ditto.
15376         * redisplay-tty.c (tty_output_display_block): ditto.
15377
15378         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15379         functions.
15380         (gutter_specs_changed): do specific gutter positions.
15381         (top_gutter_specs_changed): new function. Only update the
15382         specified gutter specs.
15383         (bottom_gutter_specs_changed): ditto.
15384         (left_gutter_specs_changed): ditto.
15385         (right_gutter_specs_changed): ditto.
15386
15387         * gui.c (gui_item_hash_internal): new function, does a real hash.
15388         (gui_item_id_hash): use it.
15389         (gui_item_hash): hash the eval'ed gui_item.
15390
15391         * gui-x.c (popup_selection_callback): send an eval event to call
15392         Fupdate_widget_instances.
15393
15394         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15395         to call Fupdate_widget_instances.
15396
15397         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15398         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15399
15400         * glyphs.c: (update_frame_subwindows): deleted.
15401         (Fupdate_widget_instances): new function for updating the dirty
15402         state of widgets that might have changed.
15403         (syms_of_glyphs): add Qupdate_widget_instances.
15404         (full_list_hash): hash a list completely.
15405         (image_instance_hash): use it for items and properties.
15406
15407         * frame-msw.c (mswindows_size_frame_internal): remove unused
15408         variable.
15409
15410         * faces.h (struct face_cachel): fix comment.
15411
15412         * event-stream.c (Fdispatch_non_command_events): new
15413         function. Process non-command events, forcing an event cycle
15414         beforehand.
15415         (syms_of_event_stream): declare.
15416         (event_stream_force_event_pending): new function. Force an event
15417         on the native event queue so that an event cycle will occur next
15418         time we check.
15419
15420         * event-msw.c:
15421         (struct ntpipe_shove_stream):
15422         (mswindows_enqueue_dispatch_event):
15423         (mswindows_dequeue_dispatch_event):
15424         (mswindows_cancel_dispatch_event):
15425         (mswindows_pump_outstanding_events):
15426         (mswindows_drain_windows_queue):
15427         (mswindows_handle_paint):
15428         (mswindows_wnd_proc):
15429         (mswindows_key_to_emacs_keysym):
15430         (get_process_input_waitable):
15431         (emacs_mswindows_delete_stream_pair): re-indent file.
15432         (mswindows_need_event): do not process further fds if the windows
15433         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15434         fixes the 100% cpu problem.
15435         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15436
15437 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15438
15439         * alloc.h: New.
15440         * dumper.h: New.
15441         * dumper.c: New.
15442
15443         * emacs.c: Moved dump file searching to dumper.c.
15444         (Frunning_temacs_p): Fixed.
15445
15446         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15447         last_lrecord_type_index_assigned.
15448
15449 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15450
15451         * symsinit.h: Added reinit parameter to init_console_stream
15452         declaration.
15453
15454         * lisp.h: Added file parameter to pdump_load declaration.
15455
15456         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15457         support.  Added dump file searching.
15458
15459         * config.h.in: Added EMACS_PROGNAME.
15460
15461         * console-stream.c (init_console_stream): Fix reinitialisation
15462         when running from temacs.
15463
15464         * alloc.c (pdump): Add id support.
15465         (pdump_load): Add file parameter and signature/id support.
15466
15467         * Makefile.in.in: Add full pdump support.
15468
15469 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15470
15471         * postgresql.c: Update documentation to reflect latest code
15472         status.
15473         (print_result): Show tuple counts in printed representation when
15474         appropriate.
15475         (Fpq_put_nbytes): MULE-ize.
15476         (Fpq_get_line_async): Ditto.
15477
15478 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15479
15480         * postgresql.c (Fpq_lo_import): Fix return value.
15481         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15482
15483 2000-03-13  Ben Wing  <ben@xemacs.org>
15484
15485         * alloc.c (pdump_load):
15486         Fix compile warning under mswin.
15487
15488 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15489
15490         * postgresql.c: Mule-ization, bug fixes.
15491         Use PG_CODING to encapsulate coding system name changes.
15492         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15493         (pg-coding-system): Create.
15494
15495         (Fpq_conn_defaults): Mule-ize.
15496         (Fpq_connectdb): Mule-ize & bug fix.
15497         (Fpq_connect_start): Mule-ize.
15498         (Fpq_set_client_encoding): Mule-ize.
15499         (Fpq_finish): Document `DEAD' connection status.
15500         (Fpq_clear): Ditto.
15501         (Fpq_pgconn): Mule-ize.
15502         (Fpq_exec): Mule-ize & bug fix.
15503         (Fpq_send_query): Ditto.
15504         (Fpq_get_result): Ditto.
15505         (Fpq_res_status): Mule-ize.
15506         (Fpq_result_error_message): Mule-ize.
15507         (Fpq_ntuples): fix comments.
15508         (Fpq_fname): Mule-ize.
15509         (Fpq_fnumber): Mule-ize.
15510         (Fpq_ftype): fix comments.
15511         (Fpq_get_value): Mule-ize.
15512         (Fpq_cmd_status): Ditto.
15513         (Fpq_cmd_tuples): Ditto.
15514         (Fpq_oid_value): Ditto.
15515         (Fpq_notifies): Ditto.
15516         (Fpq_lo_import): Ditto.
15517         (Fpq_lo_export): Ditto.
15518         (Fpq_get_line): Ditto.
15519         (Fpq_put_line): Mule-ize and bug fix.
15520         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15521
15522 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15523
15524         * postgresql.c (vars_of_postgresql): Mule-ize.
15525         (Fpq_conn_defaults): Ditto.
15526
15527 2000-03-12  Ben Wing  <ben@xemacs.org>
15528
15529         * alloc.c (Fmake_byte_code):
15530         * alloc.c (debug_string_purity_print):
15531         * alloc.c (pdump_backtrace):
15532         * alloc.c (pdump_get_indirect_count):
15533         * alloc.c (pdump_register_sub):
15534         * alloc.c (pdump_register_object):
15535         * alloc.c (pdump_register_struct):
15536         * alloc.c (pdump_dump_data):
15537         * alloc.c (pdump_reloc_one):
15538         Minor cleanups.
15539
15540         * console-msw.c:
15541         * console-msw.c (GetConsoleHwnd):
15542         * console-msw.c (msw_hide_console):
15543         * console-msw.c (msw_show_console):
15544         * console-msw.c (msw_ensure_console_buffered):
15545         * console-msw.c (msw_output_console_string):
15546         * console-msw.c (console_type_create_mswindows):
15547
15548         a) Added functions to manipulate the console window for use with
15549         shell support.
15550
15551         b) Added support for writing text to the console, which is now
15552         used under Windows when xemacs is not being run non-interactively,
15553         to write text that would otherwise be destined for stdout because
15554         under these circumstances, text written to stdout tends to
15555         disappear and not be seen.
15556
15557         * console-msw.h:
15558         * event-Xt.c:
15559         * event-Xt.c (x_event_to_emacs_event):
15560         * event-Xt.c (describe_event_window):
15561         * events-mod.h (XEMACS_MOD_CONTROL):
15562         * events.c:
15563         * events.c (Fmake_event):
15564         * events.c (character_to_event):
15565         * events.c (event_to_character):
15566         * events.c (format_event_object):
15567         * events.c (Fevent_modifiers):
15568         * events.h:
15569         * events.h (struct key_data):
15570         * events.h (struct button_data):
15571         * events.h (struct misc_user_data):
15572         * frame-x.c (Fcde_start_drag_internal):
15573         * frame-x.c (Foffix_start_drag_internal):
15574         * gpmevent.c (Freceive_gpm_event):
15575         * keymap.c:
15576         * keymap.c (bucky_sym_to_bucky_bit):
15577         * keymap.c (control_meta_superify):
15578         * keymap.c (make_key_description):
15579         * keymap.c (keymap_lookup_directly):
15580         * keymap.c (create_bucky_submap):
15581         * keymap.c (keymap_store):
15582         * keymap.c (define_key_check_and_coerce_keysym):
15583         * keymap.c (define_key_parser):
15584         * keymap.c (define_key_alternate_name):
15585         * keymap.c (Fdefine_key):
15586         * keymap.c (raw_lookup_key_mapper):
15587         * keymap.c (struct map_keymap_unsorted_closure):
15588         * keymap.c (map_keymap_unsorted_mapper):
15589         * keymap.c (map_keymap_sort_predicate):
15590         * keymap.c (map_keymap_sorted):
15591         * keymap.c (accessible_keymaps_mapper_1):
15592         * keymap.c (where_is_recursive_mapper):
15593         * keymap.c (describe_map_mapper):
15594         * keymap.c (describe_map_sort_predicate):
15595         * keymap.c (describe_map):
15596         * keymap.c (complex_vars_of_keymap):
15597         And a number of other files, the key modifier preprocessor
15598         constants that xemacs uses have names that conflict with constants
15599         defined under MS Windows for other purposes, so they were renamed
15600         to begin with the prefix XEMACS_. The variables that hold such
15601         modifiers were changed to consistently be of type int to fix
15602         various compile warnings.
15603
15604         * console.c (complex_vars_of_console):
15605         * device.c:
15606         * device-msw.c:
15607         * device-msw.c (mswindows_finish_init_device):
15608         * device-msw.c (msw_get_workspace_coords):
15609         * device-msw.c (mswindows_device_system_metrics):
15610         and various other files, added support for a new
15611         device property called offset-workspace which returns the position
15612         of the upper left corner of the workspace area and goes along with
15613         the existing size-workspace property.
15614
15615         * dialog-msw.c:
15616         * dialog-msw.c (push_bufbyte_string_as_unicode):
15617         * dialog-msw.c (mswindows_popup_dialog_box):
15618         Added support for XEmacs-style accelerator specifications in
15619         button text.  Note: I didn't add support for this under X Windows,
15620         and somebody needs to do this.
15621
15622         * dialog.c:
15623         * dialog.c (Fpopup_dialog_box):
15624         Documented the support for accelerators that was just mentioned.
15625
15626         editfns.c (get_home_directory): Changed behavior under Windows
15627         when HOME not defined; former behavior was irretrievably broken.
15628
15629         * emacs.c:
15630         * emacs.c (main_1):
15631         * emacs.c (main):
15632         * minibuf.c (clear_echo_area_internal):
15633         * minibuf.c (echo_area_append):
15634         * print.c:
15635         * print.c (std_handle_out_external):
15636         * print.c (std_handle_out_va):
15637         * print.c (fatal):
15638         * print.c (write_string_to_stdio_stream):
15639         * print.c (output_string):
15640         * print.c (debug_print):
15641         * print.c (debug_backtrace):
15642         * print.c (debug_short_backtrace):
15643         Cleaned up the code that prints text to stdout so that this can be
15644         changed to output into a console window instead under MS Windows,
15645         as described above.
15646
15647         * eval.c:
15648         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15649         * eval.c (internal_catch):
15650         * eval.c (unwind_to_catch):
15651         * eval.c (throw_or_bomb_out):
15652         * eval.c (condition_case_1):
15653         * eval.c (signal_1):
15654         * eval.c (check_error_state_sanity):
15655         * eval.c (call_with_suspended_errors_1):
15656         * eval.c (call_with_suspended_errors):
15657         * eval.c (reinit_vars_of_eval):
15658         Added code to catch throw loops and check for a pesky bug that may
15659         be gone now.
15660
15661         * event-msw.c:
15662         * event-msw.c (key_needs_default_processing_p):
15663         * event-msw.c (mswindows_wnd_proc):
15664         * event-msw.c (mswindows_modifier_state):
15665         * event-msw.c (emacs_mswindows_quit_p):
15666         * event-msw.c (vars_of_event_mswindows):
15667         a) Added support for using the alt key to select menu items as is
15668         standard under MS Windows.  This is controlled using the variable
15669         menu-accelerator-enabled, just like under X Windows.  There is an
15670         option on the options menu to turn this support on.  I really
15671         think that it should be on by default under Windows, but I'm not
15672         going to make this change yet.
15673
15674         b)  Added support for dynamic display size changes under Windows.
15675
15676         * event-stream.c:
15677         * event-stream.c (maybe_echo_keys):
15678         * event-stream.c (Fnext_event):
15679         * event-stream.c (command_builder_find_leaf):
15680         * event-stream.c (lookup_command_event):
15681         * event-stream.c (execute_command_event):
15682         * event-stream.c (pre_command_hook):
15683         * event-stream.c (post_command_hook):
15684         * event-stream.c (syms_of_event_stream):
15685         * event-stream.c (vars_of_event_stream):
15686         * event-stream.c (complex_vars_of_event_stream):
15687         * events.h (struct command_builder):
15688
15689         a) Tried to clean up a little bit the horribly written x-specific
15690         accelerator code that crept into this file.  I moved this code
15691         into menubar-x.c where it belongs. I also needed to move the
15692         command builder structure into the file events.h because it is
15693         accessed directly by this accelerator code.  What I didn't do, but
15694         which should be done at some point, is to properly abstract this
15695         code using device methods instead of the kludgy way that it
15696         currently hooks into the event code.
15697
15698         b) Added the lisp variables this-command-properties and
15699         last-command- properties, which should be used to synchronize two
15700         adjacent commands in preference to playing games with the variable
15701         this-command, which is typically what happens.
15702
15703         c) Added some slightly nasty code to hook into the lisp support
15704         for shifted- motion-key selection.  This is actually necessary for
15705         somewhat complicated reasons, which are described in
15706         simple.el. (NB: I think the proper thing would be to have the code
15707         that calls the pre and post command hooks also call out to generic
15708         lisp functions in simple.el, where all built-in stuff could be
15709         added.  I will think about this more.)
15710
15711         * event-unixoid.c (poll_fds_for_input):
15712         * lread.c (readchar):
15713         * redisplay-tty.c (tty_clear_frame):
15714         * redisplay-x.c (x_get_gc):
15715         * signal.c (interrupt_signal):
15716         And a whole bunch of other files: fixed up places that printed
15717         directly to stderr to instead call the function stderr_out so that
15718         the changes I made under Windows work correctly.
15719
15720         * filemode.c (mode_string):
15721         Warning fixes.
15722
15723         * frame-msw.c:
15724         * frame-msw.c (mswindows_size_frame_internal):
15725         Fixed the computation of frame size and position to keep the frame
15726         within the workspace area, rather than within the physical
15727         dimensions of the screen, so that the frame doesn't overlap window
15728         manager decorations, such as the start menu and toolbar, typically
15729         at the bottom of the screen.
15730
15731         * frame.c (vars_of_frame):
15732         Changed the default frame title format under MS Windows to consist
15733         of buffername-XEmacs, which is standard under MS Windows.  I think
15734         it might be a good idea to change this everywhere because I think
15735         it is superior to the current frame title format, but this is the
15736         kind of change that is likely to cause some people to get annoyed,
15737         so I'm not making it.
15738
15739         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15740
15741         * gui-msw.c (mswindows_handle_gui_wm_command):
15742         Fixed compile warnings.
15743
15744         * gui-x.c:
15745         * gui-x.c (strdup_and_add_accel):
15746         * gui-x.c (button_item_to_widget_value):
15747         * gui-x.h:
15748         Added code to automatically put an accelerator onto the beginning
15749         of menu items that don't have one as is now the standard, and is
15750         described more later.  Also fixed things so that the menu item
15751         name can be an evaluated expression, again a new standard.
15752
15753         * gui.c:
15754         * gui.c (gui_item_add_keyval_pair):
15755         * gui.c (make_gui_item_from_keywords_internal):
15756         * gui.c (gui_add_item_keywords_to_plist):
15757         * gui.c (gui_item_accelerator):
15758         * gui.c (gui_name_accelerator):
15759         * gui.c (gui_item_included_p):
15760         * gui.c (gui_item_display_flush_left):
15761         * gui.c (gui_item_display_flush_right):
15762         * gui.c (parse_gui_item_tree_item):
15763         * gui.c (parse_gui_item_tree_children):
15764         * gui.c (parse_gui_item_tree_list):
15765         Mule-ized.  Cleanup.  GCPRO addition.
15766
15767         * line-number.c (buffer_line_number):
15768         * lisp.h:
15769         * lisp.h (EMACS_INT_MAX):
15770         Added the manifest constant EMACS_INT_MIN corresponding to the
15771         existing constant EMACS_INT_MAX.  This is partially to fix compile
15772         warnings under Windows, and partly for cleanliness.
15773
15774         * menubar-msw.c:
15775         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15776         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15777         * menubar-msw.c (displayable_menu_item):
15778         * menubar-msw.c (populate_menu_add_item):
15779         * menubar-msw.c (populate_or_checksum_helper):
15780         * menubar-msw.c (populate_menu):
15781         * menubar-msw.c (update_frame_menubar_maybe):
15782         * menubar-msw.c (prune_menubar):
15783         * menubar-msw.c (msw_char_is_accelerator):
15784         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15785         * menubar-msw.c (mswindows_handle_wm_command):
15786         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15787         * menubar-msw.c (mswindows_handle_wm_initmenu):
15788         * menubar-msw.c (mswindows_update_frame_menubars):
15789         * menubar-msw.c (mswindows_free_frame_menubars):
15790         * menubar-msw.c (mswindows_popup_menu):
15791         Fixed a bug in handling accelerators where an extra character
15792         would be displayed in the menu item.  Also generalized the
15793         function displayable_menu_item because it is now used by the
15794         dialog box code as well.  And finally, added code in the functions
15795         that create the menubar to extract a list of accelerators for the
15796         top level menubar, which is used in the event code to determine
15797         whether a particular alt-key combination should be used to invoke
15798         a menu item, or should be passed through to access the standard
15799         XEmacs keymap binding for this key combination.
15800
15801         Much needed GCPROing.
15802
15803         * menubar-x.c:
15804         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15805         * menubar-x.c (menu_item_descriptor_to_widget_value):
15806         * menubar-x.c (restore_in_menu_callback):
15807         * menubar-x.c (x_popup_menu):
15808         * menubar-x.c (menu_move_up):
15809         * menubar-x.c (menu_move_down):
15810         * menubar-x.c (menu_move_left):
15811         * menubar-x.c (menu_move_right):
15812         * menubar-x.c (menu_select_item):
15813         * menubar-x.c (command_builder_operate_menu_accelerator):
15814         * menubar-x.c (menu_accelerator_junk_on_error):
15815         * menubar-x.c (command_builder_find_menu_accelerator):
15816         * menubar-x.c (Faccelerate_menu):
15817         * menubar.h:
15818         Moved a whole bunch of code here that was previously in
15819         event-stream.c as described above.  There is also code connected
15820         to the new standard of adding an accelerator to the beginning of
15821         menu items that don't have one as described above and below.
15822
15823         * menubar.c:
15824         * menubar.c (menu_parse_submenu_keywords):
15825         * menubar.c (Fmenu_find_real_submenu):
15826         * menubar.c (Fnormalize_menu_item_name):
15827         * menubar.c (syms_of_menubar):
15828         * menubar.c (vars_of_menubar):
15829         * menubar.c (complex_vars_of_menubar):
15830
15831         a) Cleaned up a bunch of documentation and improved it.
15832
15833         b) XEmacs now automatically adds an accelerator onto the beginning
15834         of any menu items that don't have one.  I did this because there
15835         will inevitably be some menu items on the main menubar that don't
15836         have accelerators on them because the package that adds that
15837         particular menu item hasn't yet been fixed up to have accelerators
15838         in them and it looked rather strange to have some items with and
15839         some items without accelerators, especially since even in items
15840         without accelerators, you can, at least under windows, still
15841         access the item through an accelerator corresponding to the first
15842         character in the item's name.  If people don't like this behavior,
15843         I can add a variable to turn it off optionally, but I'm not sure
15844         this is a good idea because we really do need to have accelerators
15845         on all of the menu items, and if a package doesn't like the
15846         accelerators being put on the first character, then it should put
15847         the accelerators where they belong.
15848
15849         c) I made a behavior change, which is that the descriptor that
15850         specifies the text of the menu item, which formerly was just a
15851         string, can now also be an evaluated expression.  This makes this
15852         descriptor parallel with all of the others, which could also be
15853         evaluated expressions.  This also obviates the need for the
15854         keyword :label, which was previously listed in the documentation
15855         as unimplemented, and which was for the same purpose.
15856
15857         d) GCPROing.
15858
15859         * ntproc.c:
15860         * ntproc.c (new_child):
15861         * ntproc.c (sys_spawnve):
15862         * ntproc.c (find_child_console):
15863         * ntproc.c (sys_kill):
15864         Fixed compile warnings.  By the way, this file should really go
15865         away entirely, and this will happen as soon as Kirill makes his
15866         final round of process cleanups, which affect the function
15867         call-process.
15868
15869         * process-nt.c:
15870         * process-nt.c (struct nt_process_data):
15871         * process-nt.c (find_process_from_pid):
15872         * process-nt.c (send_signal_the_nt_way):
15873         * process-nt.c (enable_child_signals):
15874         * process-nt.c (find_child_console):
15875         * process-nt.c (send_signal_the_95_way):
15876         * process-nt.c (nt_finalize_process_data):
15877         * process-nt.c (ensure_console_window_exists):
15878         * process-nt.c (nt_create_process):
15879         * process-nt.c (nt_kill_child_process):
15880         * process-nt.c (nt_kill_process_by_pid):
15881         * process-nt.c (nt_open_network_stream):
15882         * process-nt.c (vars_of_process_nt):
15883         Copied over code from Emacs 20.5 to correctly send signals to sub-
15884         processes under Windows 95.  Also added code to automatically
15885         create and hide console window when a sub-process is created under
15886         Windows 95, which obviates the need for the separate runemacs.exe
15887         executable, and finally implemented some variables that were
15888         implemented in Emacs 20.5, but previously not in XEmacs.  These
15889         include mswindows- start-process-share-console and
15890         mswindows-start-process-inherit-error-mode. (Both of these only
15891         apply to Windows 95.)
15892
15893         * regex.c (regex_compile): Fixed a compile warning.
15894
15895         * select-msw.c:
15896         * select-msw.c (mswindows_own_selection):
15897         * select-msw.c (mswindows_get_foreign_selection):
15898         * select-msw.c (mswindows_disown_selection):
15899         * select-msw.c (console_type_create_select_mswindows):
15900         * select-msw.c (syms_of_select_mswindows):
15901         Cleaned up the file and implemented the device method
15902         selection_exists_p, which had accidentally been left out.  Also
15903         removed four lisp functions that were remnants from before the
15904         time when the selection code was properly device abstracted.
15905         These functions are no longer needed because there are generic
15906         equivalents, and because they were added recently and don't exist
15907         in FSF Emacs, I don't think there's any problem with just deleting
15908         them.
15909
15910         * sysdep.c:
15911         * sysdep.c (sys_subshell):
15912         Fixed a compile warning, although in this case there's probably
15913         something wrong with this code, and it ought to be looked into
15914         more thoroughly by somebody who understands it.
15915
15916         * window.c:
15917         * window.c (Fwindow_text_area_height):
15918         * window.c (Fwindow_width):
15919         * window.c (Fwindow_full_width):
15920         * window.c (Fwindow_pixel_width):
15921         * window.c (debug_print_window):
15922         * window.c (syms_of_window):
15923         Added functions window-text-area-height and window-full-width,
15924         which are functions for returning various width and height
15925         characteristics of a window. (One of these functions is necessary
15926         for making the file dialog box work correctly, and the other one
15927         was added for completeness.)  Also added a table to the
15928         documentation for window-height which describes the entire scheme
15929         for accessing width and height characteristics of a window.
15930
15931 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15932
15933         * nt.c (fstat): Added a comment for another problem with
15934         non-encapsulated [f]stat(), reported by Adrian Aichner
15935         <aichner@ecf.teradyne.com>.
15936
15937 2000-03-11  Andy Piper  <andy@xemacs.org>
15938
15939         * window.c (make_dummy_parent): initialize subwindow instance
15940         cache.
15941         (Fset_window_configuration): zero extent_modiff.
15942
15943 2000-03-10  Andy Piper  <andy@xemacs.org>
15944
15945         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15946         more changes can be triggered.
15947         (Fredisplay_frame): ditto.
15948         (Fredraw_device): ditto.
15949         (Fredisplay_device): ditto.
15950         (redisplay_frame): make non-static.
15951         (redisplay_frame): call update_frame_gutter_geometry outside of
15952         display proper.
15953
15954         * gutter.h: declare update_frame_gutter_geometry.
15955
15956         * redisplay.h: declare redisplay_frame.
15957
15958         * gutter.c (update_frame_gutter_geometry): move geometry changes
15959         in update_frame_gutters here. Geometry changes can only occur
15960         outside of redisplay.
15961         (update_frame_gutters): remove geometry change code.
15962         (Fredisplay_gutter_area): make sure that we are in display when we
15963         update and that we have flushed any size changes.
15964
15965 2000-03-11  Andy Piper  <andy@xemacs.org>
15966
15967         * alloc.c (pdump_dump_data): remove i & count shadows.
15968
15969 2000-02-27  Mike Alexander  <mta@arbortext.com>
15970
15971         * sysdep.h: Declare pdump_read_file
15972
15973         * sysdep.c (pdump_read_file): New function
15974
15975         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15976         dump data
15977
15978 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15979
15980         * lrecord.h: add `lrecord_type_pgsetenv'.
15981
15982 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15983
15984         * symsinit.h: declare (vars|syms)_of* functions.
15985         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15986
15987 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15988
15989         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15990
15991         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15992         GCCs.
15993
15994         * emacs.c (main_1): Call postgres initialization code.
15995
15996         * postgresql.h: New file.  PostgreSQL RDBMS support.
15997         * postgresql.c: New file.
15998
15999 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
16000
16001         * redisplay-output.c (redisplay_output_display_block): Disable
16002         redundant code.
16003
16004 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16005
16006         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
16007         (Fcanna_henkan_next): Ditto.
16008         (Fcanna_bunsetu_henkou): Ditto.
16009         (Fcanna_henkan_kakutei): Ditto.
16010         (Fcanna_henkan_end): Ditto.
16011         (Fcanna_henkan_quit): Ditto.
16012         (Fcanna_henkan_next): Set retun value correctly.
16013         (c2mu): Use unsigned char instead of signed char.
16014
16015 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16016
16017         * emacs.c (main_1): Always call syms_of_gui.
16018         * inline.c: include gui.h
16019
16020 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16021
16022         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16023         converted to Lisp_Object.
16024         (Qtop_bottom): New variable.
16025         (syms_of_redisplay): Initialize it.
16026         * redisplay.h (Vvisible_bell): Ditto.
16027         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16028         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16029         only flash top and bottom.
16030
16031 2000-03-08  Andy Piper  <andy@xemacs.org>
16032
16033         * buffer.c (Frename_buffer): record new buffer name the right way.
16034
16035 2000-03-08  Andy Piper  <andy@xemacs.org>
16036
16037         * glyphs.c (update_subwindow): increase hash depth so that widget
16038         items get picked up properly.
16039
16040         * redisplay-output.c (compare_runes): increase hash depth so that
16041         widget items get picked up properly.
16042
16043 2000-03-08  Andy Piper  <andy@xemacs.org>
16044
16045         * gutter.c (output_gutter): add some debug.
16046
16047         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16048         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16049         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16050
16051         * redisplay-output.c (compare_runes): use display_hash to
16052         determine if glyphs really are not the same.
16053
16054         * glyphs.c (update_subwindow): check display_hash to see if
16055         anything really needs to be updated. If not then do
16056         nothing. Record the display_hash after updating.
16057         (image_instance_equal): compare the image_instance face also.
16058
16059 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16060
16061         * redisplay.h: Fix comment style.
16062
16063 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16064
16065         * consle-msw.h (struct mswindows_frame):
16066         Added new member paint_pending to indicate whether a WM_PAINT
16067         magic event has been queued for this frame.
16068
16069         * event-msw.c (mswindows_drain_windows_queue):
16070         Don't queue a WM_PAINT magic event if one is already queued.
16071         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16072
16073         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16074
16075 2000-03-07  Didier Verna  <didier@xemacs.org>
16076
16077         * dired.c: #include `regex.h' after `sysfile.h'.
16078
16079 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16080
16081         * sound.c (init_nas_sound): Fix compiler warning.
16082
16083         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16084         (FREE_STRUCT_P):
16085         (MARK_STRUCT_AS_FREE):
16086         (MARK_STRUCT_AS_NOT_FREE):
16087         Make `gcc -fstrict-aliasing' work properly.
16088
16089 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16090
16091         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16092         (mswindows_delete_device): Call CoUnnitialize().
16093
16094         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16095
16096 2000-02-25    <CraigL@DyCon.com>
16097
16098         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16099         <errno.h>.
16100
16101         * sysdep.c: This extern declaration for environ prevents MinGW
16102         from finding the variable in CRTDLL.DLL.
16103
16104         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16105         windows headers.
16106         (SHGFI_EXETYPE): ..
16107         (WM_MOUSEWHEEL): ..
16108         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16109         definitions.
16110         (MMRESULT): Removed, now defined in cygwin's windows headers.
16111         (TIMECAPS): ..
16112         (uid_t,gid_t,pid_t,ssize_t): ..
16113         (_timeb): Removed, MinGW defines both _timeb and timeb.
16114         (HAVE_H_ERRNO): Added.
16115         (HAVE_TZNAME): Added, configure is not detecting this.
16116
16117 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16118
16119         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16120         * syntax.c (syntax_match): Use it.
16121
16122         * cmds.c: Import auto-fill-chars from FSF Emacs.
16123         (Vauto_fill_chars): New variables.
16124         (internal_self_insert): Check Vauto_fill_chars.
16125         (vars_of_cmds):
16126         Declare auto-fill-chars as a Lisp variable and initialize it.
16127
16128 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16129
16130         * fileio.c (Fmake_symbolic_link):
16131         (Ffile_symlink_p):
16132         Run handlers even if local machine doesn't have symlinks.
16133
16134 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16135
16136         * event-msw.c (mswindows_drain_windows_queue):
16137         Don't generate paint magic events for non-XEmacs frames.
16138
16139 2000-03-05  Andy Piper  <andy@xemacs.org>
16140
16141         * redisplay.c (redisplay_frame): generate_displayable_area and
16142         friends assumes that we are not in GC, we therefore have to make
16143         sure that this doesn't happen.
16144
16145         * gutter.c (calculate_gutter_size): generate_displayable_area
16146         assumes that we are not in GC, we therefore have to make sure that
16147         this doesn't happen.
16148
16149 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16150
16151         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16152
16153 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16154
16155         * redisplay.c (regenerate_window): Make sure we set a sane value
16156         for end_pos even if we jump out of the loop.
16157         (regenerate_window): Answer Ben's question :-).
16158         (start_end_of_last_line): Add may_error argument.
16159         (start_of_last_line):
16160         (end_of_last_line): Pass may_error = 0.
16161         (end_of_last_line_may_error): New function.
16162         (pixel_to_glyph_translation): Use it, so we don't crash in
16163         event_to_glyph.
16164
16165 2000-03-04  Andy Piper  <andy@xemacs.org>
16166
16167         * window.h (struct window): add gutter_extent_modiff.
16168
16169         * window.c (allocate_window): zero out gutter_extent_modiff.
16170
16171         * redisplay.h: declare sync_display_line_structs.
16172
16173         * redisplay.c (add_glyph_rune): add a better comment.
16174
16175         * redisplay-output.c (sync_display_line_structs): made non-static.
16176         (compare_runes): remove unneccesary glyph cachel access.
16177
16178         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16179
16180         * gutter.c (output_gutter): don't output the gutter if extent
16181         changes only involve extents in buffers. use 4 sets of display
16182         lines.
16183         (gutter_extent_signal_changed_region_maybe): new function. Mark
16184         extents in gutters as changed.
16185         (update_frame_gutters): use 4 sets of display lines.
16186         (reset_gutter_display_lines): ditto.
16187         (free_frame_gutters): ditto.
16188         (redraw_exposed_gutter): force output of gutters.
16189
16190         * frame.h (struct frame): add 4 sets of gutter display lines.
16191
16192         * extents.c: (extent_changed_for_redisplay): signal changes to
16193         extents in strings in the gutter as well as extents in buffers.
16194
16195 2000-03-02  Andy Piper  <andy@xemacs.org>
16196
16197         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16198
16199         * frame.c (Fmake_frame): make sure the gutters get initialized
16200         after the frame is visible.
16201         (set_frame_selected_window): re-arrange compilation macros a
16202         little.
16203         (change_frame_size_1): mark gutters changed.
16204
16205         * device.c (Fset_device_class): mark gutters changed.
16206
16207 2000-03-01  Andy Piper  <andy@xemacs.org>
16208
16209         * window.c (window_top_frame_gutter_height): deleted.
16210         (window_bottom_frame_gutter_height): ditto.
16211         (window_left_frame_gutter_height): ditto.
16212         (window_right_frame_gutter_height): ditto.
16213         (window_top_gutter_height): don't use them.
16214         (window_bottom_gutter_height): ditto.
16215         (window_left_gutter_width): ditto.
16216         (window_right_gutter_width): ditto.
16217         (Fsplit_window): ditto.
16218         (Fwindow_pixel_edges): don't use border dimensions here.
16219
16220         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16221         (update_scrollbar_instance): ditto.
16222
16223         * redisplay.c (generate_modeline): don't take gutters into account.
16224         (generate_modeline): ditto.
16225         (redisplay_frame): small gutter display optimization.
16226
16227         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16228
16229         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16230         gutters into account.
16231
16232         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16233         for window position and type.
16234
16235         * gutter.c (get_gutter_coords): fix for frame gutters.
16236         (update_frame_gutters): update frame geometry if the gutters have
16237         changed.
16238         (init_frame_gutters): record current gutter geometries.
16239
16240         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16241         var.
16242         (mswindows_widget_instantiate): ditto.
16243
16244         * frame.h (struct frame): add current_gutter_bounds.
16245
16246         * frame.c (change_frame_size_1): position window and minibuffer
16247         appropriately taking into account the frame gutters.
16248
16249         * frame-x.c: (x_initialize_frame_size): take into account the
16250         frame gutters.
16251
16252 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16253
16254         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16255
16256 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16257
16258         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16259
16260 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16261
16262         * file-coding.c (reset_decoding_stream): Clear previous
16263         detection state when autodetect.
16264
16265 2000-02-29  Didier Verna  <didier@xemacs.org>
16266
16267         * extents.c (set_extent_glyph_1): don't require extents to be
16268         attached.
16269
16270 2000-02-27  Andy Piper  <andy@xemacs.org>
16271
16272         * gutter.c (Fset_default_gutter_position): don't default left and
16273         right gutter visibility to t.
16274         (Fset_default_gutter_position): run
16275         default-gutter-position-changed-hook.
16276         (syms_of_gutter): add default-gutter-position-changed-hook.
16277
16278 2000-02-26  Andy Piper  <andy@xemacs.org>
16279
16280         * specifier.c (Fmake_specifier): add gutter references.
16281
16282         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16283
16284         * lisp.h: declare Fvalid_plist_p.
16285
16286         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16287         as changed.
16288         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16289         well as its visibility so that it gets reconstructed.
16290         (construct_window_gutter_spec): new function. Construct a string
16291         to be displayed in the gutter from a plist of strings. Take care
16292         to only use elements that are declared as visible.
16293         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16294         WINDOW_GUTTER.
16295         (gutter_validate): allow plists of strings in the specifier.
16296         (gutter_specs_changed): construct the real_gutter from the gutter
16297         specs using construct_window_gutter_spec.
16298         (gutter_visible_validate): gutter-visible is a new specifier type.
16299         (Fgutter_visible_specifier_p): new function for the new specifier.
16300         (syms_of_gutter): declare gutter-visible and
16301         Fgutter_visible_specifier_p.
16302         (specifier_type_create_gutter): intitalize new gutter-visible
16303         specifier.
16304         (reinit_specifier_type_create_gutter): ditto.
16305         (specifier_vars_of_gutter): use new specifier type for gutter
16306         visibility.
16307         (init_frame_gutters): construct real_gutter correctly.
16308         (Fgutter_specifier_p): beef up documentation.
16309         (Fgutter_size_specifier_p): ditto.
16310
16311         * winslots.h: add real_gutter slots.
16312
16313 2000-02-25  Andy Piper  <andy@xemacs.org>
16314
16315         * device-msw.c: Be kind to older cygwin versions. From Raymond
16316         Toy <toy@rtp.ericsson.se>.
16317
16318         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16319         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16320
16321 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16322
16323         * elhash.c (MARK_OBJ): Practice macro hygiene.
16324
16325 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16326
16327         * miscplay.c: s/__inline__/inline/g;
16328         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16329         (get_device_compdc): INLINE ==> static inline
16330         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16331         find -name '*.h' | \
16332         xargs global-replace \
16333         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16334
16335 2000-02-25  Andy Piper  <andy@xemacs.org>
16336
16337         * window.c (window_top_frame_gutter_height): new function.
16338         (window_top_window_gutter_height): ditto.
16339         (window_top_gutter_height): use them.
16340         (window_bottom_frame_gutter_height): new function.
16341         (window_bottom_window_gutter_height): ditto.
16342         (window_bottom_gutter_height): use them.
16343         (window_left_window_gutter_width): new function.
16344         (window_left_frame_gutter_width): ditto.
16345         (window_left_gutter_width): use them.
16346         (window_right_window_gutter_width): new function.
16347         (window_right_frame_gutter_width): ditto.
16348         (window_right_gutter_width): use them.
16349         (window_pixel_height): new function. calulate window pixel height
16350         with frame gutter involvement.
16351         (Fsplit_window): calculate new sizes taking frame gutters into
16352         account.
16353         (window_char_height_to_pixel_height): don't include frame gutters.
16354         (window_char_height): use window_pixel_height.
16355         (window_pixheight): rename from window_pixel_height.
16356         (change_window_height): use it.
16357         (window_pixel_height_to_char_height): don't include frame gutters.
16358         (window_char_width_to_pixel_width): ditto.
16359
16360 2000-02-25  Andy Piper  <andy@xemacs.org>
16361
16362         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16363         if it is.
16364
16365 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16366
16367         * alloc.c (staticpro):
16368         (staticpro_nodump):
16369         (dumpstruct):
16370         (dumpopaque):
16371         (pdump_wire):
16372         (pdump_wire_list):
16373         (compact_string_chars):
16374         (pdump_dump_wired):
16375         Convert:  if (foo) abort();  ==>  assert (! foo);
16376
16377         * eldap.c (Fldap_search_basic):
16378         (Fldap_add):
16379         (Fldap_modify):
16380         (Fldap_delete):
16381         Fix compiler warnings, and possible crashes if (random) return
16382         value were to be used.
16383
16384 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16385
16386         * device-msw.c: Workaround ResetDC failure.
16387
16388         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16389         applying a devmode.
16390
16391         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16392         (mswindows_text_width): Do not start printer page.
16393
16394         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16395
16396         * glyphs-msw.c: Added image methods to msprinter console and
16397         msprinter-specific image instantiation.
16398
16399 2000-02-20  Mike Alexander  <mta@arbortext.com>
16400
16401         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16402         to avoid crashes when selection-sets-clipboard is on
16403         (mswindows_own_selection): ditto
16404
16405 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16406
16407         * glyphs-msw.c:
16408         * redisplay-msw.c (get_frame_dc):
16409         (get_frame_compdc):
16410         * console-msw.h:
16411         * device-msw.c (mswindows_init_device):
16412         (mswindows_delete_device):
16413         (msprinter_init_device):
16414         (msprinter_delete_device):
16415         * frame-msw.c (mswindows_init_frame_1):
16416         (mswindows_delete_frame):
16417         (msprinter_init_frame_3):
16418         (msprinter_delete_frame): Move compatible DC to device object from
16419         frame object, for both mswindows and msprinter. Only one at a time
16420         is needed, it is a real waste to have one per frame!
16421
16422 2000-02-23  Andy Piper  <andy@xemacs.org>
16423
16424         * glyphs.c: add dynamic width and height elements.
16425         (image_instance_equal): ditto.
16426
16427         * glyphs-widget.c (widget_query_geometry): calculate width and
16428         height dynamically if required.
16429         (initialize_widget_image_instance): initialize dynamic dimensions.
16430         (widget_instantiate): pick-up dynamic dimensions.
16431
16432         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16433         dynamic determination. Add appropriate macros.
16434
16435         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16436         dimensions safe.
16437         (WINDOW_GUTTER_SIZE): ditto.
16438         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16439
16440         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16441         inline.
16442         (get_frame_dc): ditto.
16443
16444         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16445         here.
16446
16447 2000-02-23  Martin Buchholz <martin@xemacs.org>
16448
16449         * XEmacs 21.2.31 is released.
16450
16451 2000-02-22  Ben Wing <ben@xemacs.org>
16452
16453         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16454
16455 2000-02-22  Andy Piper  <andy@xemacs.org>
16456
16457         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16458
16459 2000-02-21  Mike Sperber <mike@xemacs.org>
16460
16461         * .dbxrc:
16462         * .gdbinit:
16463         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16464         variables.
16465
16466 2000-02-21  Mike Sperber <mike@xemacs.org>
16467
16468         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16469
16470 2000-02-21  Martin Buchholz <martin@xemacs.org>
16471
16472         * XEmacs 21.2.30 is released.
16473
16474 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16475
16476         Performance hacking.
16477         * *.c (syms_of_*):
16478         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16479         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16480         * emacs.c (main_1):
16481         * lisp.h (DEFUN):
16482         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16483         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16484         * symeval.h (DEFVAR_SYMVAL_FWD):
16485         * symbols.c (guts_of_unbound_marker):
16486         Make all c_readonly objects also lisp_readonly and marked for life.
16487         * lrecord.h (struct lrecord_implementation):
16488         Document flags better.
16489         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16490         * lrecord.h (DECLARE_LRECORD):
16491         * lrecord.h (XSETRECORD):
16492         * lrecord.h (RECORDP):
16493         * lrecord.h (RECORD_TYPEP):
16494         * lrecord.h (RECORD_MARKER): New.
16495         * lrecord.h (error_check_*):
16496         * lrecord.h (CONCHECK_NONRECORD):
16497         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16498         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16499         * lrecord.h (set_lheader_implementation):
16500         * lrecord.h (enum lrecord_type): New.
16501         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16502         * alloc.c (disksave_object_finalization_1):
16503         * alloc.c (mark_object):
16504         * alloc.c (lrecord_type_index):
16505         * alloc.c (tick_lcrecord_stats):
16506         * alloc.c (Fgarbage_collect):
16507         * alloc.c (init_alloc_once_early):
16508         * alloc.c (pdump_load):
16509         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16510         * alloc.c (lrecord_type_index): Delete.
16511         Make lisp object type indexes be constant.
16512           Makes (byte-compile) 5% faster.
16513         Put all marker functions into their own array.
16514           Makes (garbage-collect) 5% faster.
16515         Optimize SYMBOL_VALUE_MAGIC_P.
16516           Makes (byte-compile) 2-3% faster.
16517         * config.h.in (gc_checking_assert): New.
16518         * alloc.c: Use gc_checking_assert().
16519         * .dbxrc: Make compatible with new object type implementation.
16520         * .gdbinit: Make compatible with new object type implementation.
16521         * alloc.c: Delete all symbols defined only for debugging, such as
16522         Lisp_Type_Vector and lrecord_charset.
16523
16524 2000-02-21  Andy Piper  <andy@xemacs.org>
16525
16526         * gui-msw.c (Fmswindows_shell_execute): fix file location
16527         problems.
16528
16529         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16530         unshowing so that set_window_buffer doesn't undo
16531         kill_buffer_hook's hard work.
16532
16533         * glyphs-widget.c (tab_control_query_geometry): don't count the
16534         first item when calculating geometry.
16535
16536         * glyphs.c (map_subwindow): remove redundant code.
16537         (update_frame_subwindows): be more circumspect about when to
16538         update subwindows.
16539
16540         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16541         when items haven't changed. Update faces if faces have changed as
16542         well as just the widget face.
16543         (x_tab_control_update): Update faces if faces have changed as well
16544         as just the widget face.
16545
16546 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16547
16548         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16549         registration.
16550         (build_syscolor_string): Use mswindows_color_to_string to try to
16551         get a named color.
16552         (mswindows_device_system_metrics): Reverse the foreground and
16553         background colors so that they match the documentation.
16554
16555         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16556         they match the default Windows palette.
16557         (mswindows_color_to_string): New function.
16558
16559 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16560
16561         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16562
16563 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16564
16565         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16566         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16567
16568         * symbols.c (init_symbols_once_early): Removed obsolete
16569         DATA_SEG_BITS related kludge.
16570         (defvar_magic): Ditto.
16571
16572         * malloc.c: Removed obsolete DATA_SEG_BITS
16573         * ralloc.c: Ditto.
16574         * mem-limits.h: Ditto.
16575
16576         * Makefile.in.in: Removed obsolete HAVE_SHM
16577         * emacs.c: Ditto.
16578
16579 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16580
16581         *  device-msw.c (mswindows_delete_device): Free DDE string
16582         handles.
16583
16584 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16585
16586         * keymap.c (get_keyelt):
16587         * unexnt.c (unexec):
16588         * vm-limit.c (memory_warnings):
16589         * ntheap.c (recreate_heap):
16590         * ntheap.h (UNINIT_PTR):
16591         * select-msw.c (Fmswindows_get_clipboard):
16592         (Fmswindows_set_clipboard):
16593         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16594         * objects-msw.c:
16595         * menubar-msw.c (displayable_menu_item):
16596         * glyphs-msw.c:
16597         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16598         * sysdep.c (sys_subshell):
16599         * process-nt.c (nt_create_process):
16600         * nt.c (normalize_filename):
16601         (dostounix_filename):
16602         (unixtodos_filename):
16603         * ntproc.c (win32_executable_type):
16604         * ntplay.c (play_sound_data_1):
16605         (play_sound_file):
16606         * editfns.c (get_home_directory):
16607         * event-msw.c (struct winsock_stream):
16608         (mswindows_dde_callback):
16609         * device-msw.c (msprinter_init_device):
16610         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16611
16612         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16613         mswindows_clear_toolbar were swapped!
16614
16615         * objects-msw.c:(colormap_t):
16616         (fontmap_t):
16617         * emacs.c (struct standard_args): Fixed const jumble.
16618
16619         * glyphs-widget.c (update_widget): Fixed comparison notation.
16620
16621         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16622
16623         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16624         __declspec(noreturn) syntax.
16625
16626 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16627
16628         * eldap.c (Fldap_open):
16629         (Fldap_search_basic):
16630         (Fldap_add):
16631         (Fldap_modify):
16632         Use new coding system conversion macros.
16633
16634 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16635
16636         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16637
16638 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16639
16640         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16641         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16642
16643         * eldap.c (Qadd, Qreplace): New constant symbols
16644         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16645         interruptions by XEmacs signals
16646         Remove unnecessary calls to slow_down_interrupts and
16647         speed_up_interrupts
16648         (Fldap_search_basic): Renamed from Fldap_search_internal
16649         Added new optional parameter VERBOSE that triggers the
16650         display of progress messages
16651         Remove unnecessary calls to slow_down_interrupts and
16652         speed_up_interrupts
16653         LDAP result code analysis rewritten
16654         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16655         (syms_of_eldap): Define the new symbols and functions
16656
16657
16658 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16659
16660         * realpath.c: Determine PATH_MAX maximally portably.
16661
16662         * insdel.c (bytecount_to_charcount): Optimize.
16663         The function used to be optimized for entirely ASCII sequences.
16664         Now it is optimized for successive characters from the same
16665         charset.  This also wins big for _mostly_ ASCII sequences.
16666
16667         * fileio.c (Ffile_truename): convert return from realpath() using
16668         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16669         - Rewrite GCPROing slightly.
16670
16671         * sysdep.c (sys_open): Do filename conversion, like all other
16672         sys_* functions.  Fixes bug:
16673         (let ((file-name-coding-system 'iso-8859-2))
16674            (write-region x y latin2-name))
16675         ==> writes filename using internal encoding.
16676
16677 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16678
16679         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16680         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16681         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16682         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16683         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16684         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16685         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16686         (CONST_IF_NOT_DEBUG): Delete.
16687         * alloc.c (this_one_is_unmarkable): Delete.
16688         (mark_object): Don't check for this_one_is_unmarkable. Use the
16689         c_readonly flag instead.
16690         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16691
16692 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16693
16694         * event-msw.c (mswindows_drain_windows_queue):
16695         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16696         away redundant repaint events.
16697
16698 2000-02-17  Andy Piper  <andy@xemacs.org>
16699
16700         * redisplay.h: declare mark_redisplay_structs.
16701
16702         * redisplay.c (redisplay_window):
16703         (redisplay_frame): don't check subwindows_state_changed.
16704         (mark_redisplay): mark gutters here.
16705
16706         * glyphs.c: (instantiate_image_instantiator): always layout if we
16707         haven't done so already.
16708         (allocate_image_instance): don't mark as dirty.
16709         (update_subwindow): bind inhibit_quit.
16710
16711         * gutter.c (mark_gutters): new function.
16712
16713         * glyphs-x.c (x_update_widget): Always resize to get round a
16714         widget bug.
16715
16716         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16717         breaking absolutely everything.
16718
16719         * gutter.h: declare mark_gutters.
16720
16721 2000-02-16  Martin Buchholz <martin@xemacs.org>
16722
16723         * XEmacs 21.2.29 is released.
16724
16725 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16726
16727         * fns.c (size_bit_vector): Fix computation of the size.
16728
16729 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16730
16731         * *.[ch]: Change CONST to const globally.
16732         find -name '*.[ch]' | \
16733         xargs global-replace \
16734         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16735         - Remove vestigial references to CONST_IS_LOSING
16736
16737 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16738
16739         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16740         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16741         events instead of dispatching them directly.
16742         (mswindows_handle_paint): New function to do repainting.
16743         (mswindows_wnd_proc):
16744         (emacs_mswindows_handle_magic_event): Call above function.
16745
16746 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16747
16748         * objects-msw.c (mswindows_create_font_variant): Return the new
16749         font handle.
16750         (initialize_font_instance): Get font metrics from the underlined
16751         variant of the font to cope with the case where the underlined
16752         font has a bigger descent.
16753
16754 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16755
16756         * gui.c (gui_item_accelerator): Return the first underlined
16757         character in item name.
16758
16759 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16760
16761         * lisp.h: Added Qprinter.
16762
16763         * general.c (syms_of_general): Initialized it.
16764
16765         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16766         (get_frame_dc):
16767         (get_frame_compdc): Made inline.
16768
16769         * console.h (struct console_methods): Added eject_page method.
16770
16771         * frame.h: Added FRAME_DISPLAY_P and friends.
16772         Aligned backslahes in many macros in more readable fashion.
16773         Added page_number to struct frame, and an accessor macro
16774         for it.
16775
16776         * defice.h: Added DEVICE_DISPLAY_P and friends.
16777
16778         * device.c (Fdevice_printer_p): Used these.
16779
16780         * frame.c (allocate_frame_core): Initialize page number.
16781         (Fprint_job_page_number):
16782         (Fprint_job_eject_page): Implemented.
16783
16784         * frame-msw.c (msprinter_eject_page): Added method.
16785         (msprinter_start_page): Added.
16786
16787         * window.c (Fwindow_truncated_p): Fixed docstring.
16788         (Fwindow_last_line_visible_height): Implemented.
16789
16790 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16791
16792         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16793
16794 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16795
16796         * syntax.c (scan_words): Always advance at least one character.
16797
16798 2000-02-13  Andy Piper  <andy@xemacs.org>
16799
16800         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16801         to make sure the glyph is in the cachels.
16802
16803         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16804         global image instance flag.
16805         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16806         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16807
16808         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16809         (Fset_image_instance_property): mark layout as changed.
16810         (invalidate_glyph_geometry_maybe): mark layout as changed.
16811         (glyph_width): use new NEEDS_LAYOUT macro.
16812         (glyph_ascent): ditto.
16813         (glyph_descent): ditto.
16814         (glyph_height): ditto.
16815         (image_instance_layout): mark layout as clean after laying out.
16816         (update_subwindow): don't mark layout as clean here.
16817
16818         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16819         should no longer be needed.
16820
16821         * glyphs-x.c (x_update_widget): sanitize asserts.
16822         (x_finalize_image_instance): sanitize assignment to widgets.
16823
16824         * glyphs-widget.c (widget_instantiate): don't need to clear the
16825         layout flag here.
16826
16827 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16828
16829         * sysdep.c (getcwd): Use standard prototype.
16830         * sysdep.h (getcwd): Use standard prototype.
16831
16832         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16833         (sequence, start, end).
16834         Remove redundant type checking.
16835         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16836         view of `caller-protects') to avoid a crash where the real fix was
16837         found elsewhere.
16838
16839 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16840
16841         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16842
16843         * s/sol2.h: Remove feature macro initialization.
16844
16845         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16846         (vector_hash): New.  Code from internal_hash.
16847         * lrecord.h:
16848         Fix up allocation subsystem comments.
16849
16850         * config.h.in: Add __EXTENSIONS__ for Solaris.
16851
16852         * systime.h (EMACS_GETTIMEOFDAY): New.
16853         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16854         Remove Solaris-specific code.
16855         Use void* for the (ignored) second arg for gettimeofday().
16856
16857         * elhash.c (hash_table_hash): Implement it, finally.
16858         * elhash.c:  Use hashcode_t.
16859
16860         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16861         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16862
16863         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16864         * fns.c (size_bit_vector):
16865         * alloc.c (size_vector):
16866         (make_vector_internal):
16867         (make_bit_vector_internal):
16868         (sweep_bit_vectors_1):
16869         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16870
16871 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16872
16873         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16874         Include strings.h to avoid warnings for bzero and strcasecmp.
16875
16876 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16877
16878         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16879         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16880
16881         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16882         sequence.
16883
16884 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16885
16886         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16887         use a value field instead.
16888         (symbol_value_forward_forward): Use value field.
16889         (DEFVAR_SYMVAL_FWD): Use value field.
16890         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16891         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16892         (DEFVAR_CONST_INT): Ditto.
16893         (DEFVAR_BOOL): Ditto.
16894         (DEFVAR_CONST_BOOL): Ditto.
16895         (DEFVAR_INT_MAGIC): Ditto.
16896         (DEFVAR_BOOL_MAGIC): Ditto.
16897
16898         * symbols.c (guts_of_unbound_marker): Use value field.
16899         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16900         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16901
16902         * lisp.h: Declare dumpopaque and noninteractive1.
16903
16904         * alloc.c (dumpopaque): Added.
16905         (pdump_dump_opaquevec): Added.
16906         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16907         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16908         noninteractive.
16909
16910 2000-02-10  Andy Piper  <andy@xemacs.org>
16911
16912         * glyphs.c (image_instance_layout): if the size changes, mark it
16913         as such.
16914
16915         * redisplay-output.c (redisplay_output_layout): Update the
16916         subwindow here.
16917         (redisplay_output_subwindow): ditto.
16918
16919         * glyphs.c (update_subwindow): make sure we reset flags for
16920         layouts as well as everything else.
16921
16922         * glyphs-widget.c (layout_layout): don't need to set the instances
16923         dimensions here.
16924
16925 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16926
16927         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16928         not HAVE_DLOPEN, which is a lower-level thing.
16929
16930         * .cvsignore: Ignore gmon.out
16931
16932 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16933
16934         * .cvsignore: Ignore portable dumper xemacs.dmp file
16935
16936 2000-02-09  Andy Piper  <andy@xemacs.org>
16937
16938         * redisplay-output.c (redisplay_output_layout): be more clever
16939         about when we output based on the changed flags.
16940
16941         * glyphs.h (struct image_instantiator_methods): add update_method.
16942         (struct Lisp_Image_Instance): add changed flags. Declare new
16943         macros for manipulating them.
16944
16945         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16946         (image_instance_parent_glyph): find an image_instance's parent
16947         glyph or image_instance.
16948         (image_instance_layout): mark the size as changed.
16949         (set_image_instance_dirty_p): new function. mark an image
16950         instance, plus all of its parents, as dirty.
16951         (Fset_image_instance_property): use it.
16952         (Fglyph_animated_timeout_handler): use it.
16953         (update_subwindow): call update_widget and device methods for
16954         update_subwindow. Mark all changed flags as clean.
16955         (Fresize_subwindow): mark size as changed.
16956
16957         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16958         failures.
16959         (x_update_subwindow): only resize subwindows here.
16960         (x_update_widget): new function. Update all changed properties of
16961         a widget.
16962         (x_resize_subwindow): deleted.
16963         (x_widget_set_property): deleted.
16964         (x_progress_gauge_set_property): deleted.
16965         (x_progress_gauge_update): new function. Implement recorded
16966         changes.
16967         (x_tab_control_update): ditto.
16968         (x_tab_control_set_property): deleted.
16969         (console_type_create_glyphs_x): declare new functions.
16970         (image_instantiator_format_create_glyphs_x): ditto.
16971
16972         * glyphs-widget.c (widget_set_property): mark text changed.
16973         (update_widget): new function. Update properties of a widget.
16974         (widget_instantiate): for layouts make sure we set their
16975         children's parent correctly.
16976         (tab_control_set_property): new function. Record changes that will
16977         take place under redisplay's control.
16978         (progress_gauge_set_property): ditto.
16979         (image_instantiator_progress_guage): declare new functions.
16980         (image_instantiator_tab_control): ditto.
16981
16982         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16983         now.
16984         (mswindows_update_widget): new function. Update all properties on
16985         a widget that have changed.
16986         (mswindows_button_update): new function. Update a button's set
16987         state.
16988         (mswindows_tab_control_update): new function. Update the items in
16989         a tab.
16990         (mswindows_tab_control_set_property): deleted.
16991         (mswindows_progress_gauge_update): new function. Update the
16992         progress gauge's progress.
16993         (mswindows_widget_set_property): deleted. This is all done
16994         asynchronously now.
16995         (mswindows_progress_gauge_set_property): ditto.
16996         (console_type_create_glyphs_mswindows): declare new methods.
16997         (image_instantiator_format_create_glyphs_mswindows): ditto.
16998
16999         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
17000         (msprinter_set_frame_properties): ditto.
17001
17002         * console.h (struct console_methods): Add update_widget_method.
17003
17004 2000-02-09  Andy Piper  <andy@xemacs.org>
17005
17006         * gui-msw.c (Fmswindows_shell_execute): Make
17007         mswindows-shell-execute industrial strength.
17008
17009 2000-02-08  Martin Buchholz  <martin@xemacs.org>
17010
17011         * lrecord.h: Make macro argument `props' match member function `plist'.
17012         * fns.c (Fget):
17013         * fns.c (Fput):
17014         * fns.c (Fremprop):
17015         * fns.c (Fobject_plist):
17016         * alloc.c:
17017         * symbols.c:
17018         Object property list frobbing cleanup.
17019         - Allow any lisp object (compared with `eq'), not just symbols, as
17020           keys in object plists.
17021         - Move symbol plist frobbing into symbols.c, where it belongs.
17022         - Move string plist frobbing into alloc.c, where it belongs.
17023         - Everything's an lrecord now, so no need to test for symbolp, etc.
17024         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17025
17026         * extents.c: Reorder code to remove declarations.
17027
17028         * frame.h (store_in_alist): Remove useless declaration.
17029
17030 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17031
17032         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17033         * config.h.in: Add HAVE_XCONVERTCASE.
17034
17035 2000-02-07  Andy Piper  <andy@xemacs.org>
17036
17037         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17038         it breaks many things.
17039
17040 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17041
17042         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17043         actually can start a common comment type.
17044         * src/syntax.h (SYNTAX_END_P): ditto for end.
17045
17046 2000-02-07  Martin Buchholz <martin@xemacs.org>
17047
17048         * XEmacs 21.2.28 is released.
17049
17050 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17051
17052         * event-Xt.c (x_keysym_to_character): New.
17053         (maybe_define_x_key_as_self_inserting_character): New.
17054         (x_has_keysym): New.
17055         Auto-define all keys on the keyboard as self-insert-key.
17056
17057 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17058
17059         * menubar.c (vars_of_menubar): A small code simplification.
17060
17061         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17062
17063         * ExternalShell.c:
17064         * ExternalClient.c:
17065         * EmacsShell-sub.c:
17066         * EmacsManager.c:
17067         * EmacsFrame.c:
17068         Use consistent style for specifying X resources.
17069
17070         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17071         This makes (dontusethis-set-symbol-value-handler) actually usable.
17072
17073         * lrecord.h (lrecord_decription_type):
17074         * alloc.c (pdump_register_sub):
17075         (pdump_dump_data):
17076         (pdump_reloc_one):
17077         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17078         Comply with XEmacs coding style.
17079         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17080         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17081
17082         * keymap.c (Faccessible_keymaps):
17083         Make (accessible-keymaps map "\C-h") do the Right Thing.
17084         Make (accessible-keymaps map []) do the Right Thing.
17085         Make (accessible-keymaps map "") do the Right Thing.
17086         (check_keymap_definition_loop): New function.
17087         (keymap_store_internal): Keep luser from shooting self in foot,
17088           via (define-key ctl-x-4-map "p" global-map).
17089         Remove fullness slot from struct Lisp_Keymap, since hash tables
17090         are now reliable.
17091         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17092
17093 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17094
17095         * redisplay.c (init_redisplay): Fix small memory leak.
17096         * elhash.h:
17097         * elhash.c (pdump_reorganize_hash_table):
17098         Rename from reorganize_hash_table. Change prototype.
17099         Reuse the original memory for hentries.  Save 100k.
17100         * alloc.c (PDUMP_READ): new macro.
17101         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17102         * alloc.c: No need to #ifndef before #undef.
17103
17104         * print.c: Allow debug_print() to print readably by modifying
17105         debug_print_readably.  Use consistent variable names.
17106
17107         * .dbxrc: Try to get things to work even if stopped in a function
17108         without source available by explicitly specifying source files.
17109 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17110
17111         * unexnt.c (_start): Removed bogus code which caused loading heap
17112         from differrent executable file.
17113         Removed bogus assignment to _fmode, which caused inconsistencies.
17114
17115 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17116
17117         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17118         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17119         Do not preliminary `#define signal sigset'.
17120
17121         * systime.h: Do not prototype environ on windows nt and cygwin,
17122         this conflicts with system header.
17123
17124         * syssignal.h: Use correct define for WINDOWSNT
17125
17126         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17127         with system header.
17128
17129         * sysdep.c (near start of file): Fixed commentary and rearranged
17130         ifdefs in readable order.
17131         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17132         (start_of_text):
17133         (end_of_text):
17134         (end_of_data): Do not compile in if using PDUMP.
17135
17136         * symsinit.h: Prototyped vars_of_nt().
17137
17138         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17139         (find_child_console): Use it.
17140         (sys_kill): Use it.
17141
17142         * ntheap.h: Do not extern os_subtype.
17143
17144         * ntheap.c (cache_system_info): Do not cache unneeded:
17145         nt_major_version, nt_minor_version and os_subtype.
17146         (recreate_heap): Do not compile in when PDUMPing.
17147
17148         * nt.c (geteuid and friends): Use the new varibale
17149         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17150         (init_user_info): Removed the above mentioned hackery.
17151         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17152         stat has been fixed in the C runtime.
17153         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17154
17155         * file-coding.c (struct file_coding_dump): Do not define
17156         ucs_to_mule_table in the struct if not MULE.
17157         (struct struct lrecord_description fcd_description_1): Do not dump
17158         the above.
17159
17160         * emacs.c (main_1): Call vars_of_nt().
17161         (right before Fdump_emacs_data): Don't need lastfile if using both
17162         portabe dumper and system malloc.
17163
17164         * alloc.c (Fmemory_limit): Conditionalized out.
17165         (pdump): Use OPEN_BINARY for the portable dump file.
17166         (pdump_load): Ditto.
17167
17168 2000-02-02  Mike Alexander  <mta@arbortext.com>
17169
17170         * nt.c (convert_time): Set tm_isdst before calling mktime and
17171         avoid calling it at all if the compiler supports 64 bit integers.
17172         Also initialize utc_base_ft before using it.
17173
17174 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17175
17176         * frame.c (change_frame_size_1): Take f->internal_border_width
17177         into consideration when calculating the width of the frame.
17178
17179 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17180
17181         * window.c (frame_min_height):
17182         (frame_size_valid_p):
17183         (frame_pixsize_valid_p): Added.
17184         (check_frame_size): Generalized.
17185
17186         * window.h: Prototyped the above.
17187
17188         * lisp.h:
17189         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17190         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17191         Deleted Vwin32_* and Vbinary_process_* unused variables.
17192
17193         * device-msw.c (msprinter_init_device): Do not get printer font
17194         list; Added DEVMODE functions.
17195
17196         * frame-msw.c: Added lots of printer code.
17197
17198         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17199         general.c.
17200
17201         * console-msw.h: Added more msprinter device private slots.
17202
17203 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17204
17205         * event-msw.c (key_needs_default_processing_p): Added.
17206         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17207
17208 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17209
17210         * glyphs.c (image_instance_layout): Mark image instance as clean
17211         after layout.
17212         (glyph_dirty_p): Removed redundant function.
17213         (invalidate_glyph_geometry_maybe): Added.
17214         (update_glyph_cachel_data): Call it.
17215
17216         * glyphs.h: Prototyped it.
17217
17218         * redisplay.c (add_glyph_rune): Call it.
17219         (redisplay_window): Reset glyphs cachels when frame faces have
17220         changed, thus forcing recomputation of built-in border glyphs.
17221
17222 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17223
17224         * Makefile.in.in: Make portable dumper and purify play well together.
17225         Add imperfect, but better than nothing, support for pdump.
17226         Remove xemacs.dmp when temacs is re-generated.
17227         Don't ignore errors when dumping xemacs.
17228
17229         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17230
17231 2000-01-28  Andy Piper  <andy@xemacs.org>
17232
17233         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17234         (setup_normal_frame): ditto.
17235         (setup_frame_without_minibuffer): ditto.
17236         (setup_minibuffer_frame): ditto.
17237         (delete_frame_internal): ditto.
17238         (Fmake_frame_invisible): ditto.
17239         (Ficonify_frame): ditto.
17240
17241         * window.h: change Fset_window_buffer signature.
17242
17243         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17244         (Fset_window_buffer): allow recording of buffer if the window is
17245         the selected window.
17246         (window_loop): Use new Fset_window signature.
17247
17248 2000-01-23  Daniel Pittman  <daniel@danann.net>
17249
17250         * config.h.in: Added template for `HAVE_ATHENA_3D'
17251
17252 2000-01-29  Andy Piper  <andy@xemacs.org>
17253
17254         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17255
17256         * gutter.c (output_gutter): Don't output if the window isn't live.
17257
17258 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17259
17260         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17261         of 01/12/00: Moved SetFocus back here where it belongs.
17262
17263 2000-01-23  Andy Piper  <andy@xemacs.org>
17264
17265         * s/cygwin32.h: declare printer things.
17266
17267 2000-01-26  Andy Piper  <andy@xemacs.org>
17268
17269         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17270         Alexander.
17271
17272 2000-01-24  Andy Piper  <andy@xemacs.org>
17273
17274         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17275         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17276
17277         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17278
17279         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17280
17281         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17282
17283         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17284         (mswindows_output_display_block): Avoid local shadows.
17285
17286         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17287         (mswindows_enqueue_mouse_button_event): ditto.
17288         (mswindows_handle_gui_wm_command): remove declaration.
17289
17290         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17291         warnings.
17292
17293         * console-msw.h: Avoid shadows.
17294         (mswindows_get_toolbar_button_text):
17295         (emacs_mswindows_create_stream_pair):
17296         (emacs_mswindows_delete_stream_pair):
17297         (mswindows_handle_toolbar_wm_command): declare.
17298
17299         * device-msw.c (build_syscolor_string): Avoid shadows.
17300
17301 2000-01-23  Andy Piper  <andy@xemacs.org>
17302
17303         * glyphs-widget.c (widget_instantiate): reverse the items for
17304         layouts so that children are in the expected order.
17305
17306 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17307
17308         * ralloc.c: safe_bcopy ==> memmove
17309         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17310         * s/msdos.h: Remove BCOPY macros.
17311         * insdel.c (gap_right): Remove BCOPY conditional code.
17312         * insdel.c (gap_left): Remove BCOPY conditional code.
17313         XEmacs demands a working ANSI C compiler - hence memmove.
17314
17315         * regex.c (regex_compile): Remove accidental use of trigraphs.
17316
17317 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17318
17319         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17320         event timestamp.
17321
17322 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17323
17324         * event-msw.c (mswindows_drain_windows_queue): Added the
17325         parameter.
17326         (mswindows_need_event): Commented the call to
17327         mswindows_drain_windows_queue().
17328         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17329         only.
17330
17331         * console-msw.h: Moved a few function prototypes here from
17332         event-msw.c.
17333
17334         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17335         parameter from unsigned short to unsigned long.
17336         (Fmswindows_shell_execute): Added return value.
17337
17338 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17339
17340         * sysdep.c (init_system_name):
17341           process-unix.c (unix_canonicalized_host_name):
17342         Don't call freeaddrinfo() if getaddrinfo() fails.
17343
17344         * process-unix.c (unix_open_unix_network_stream):
17345         Moved the code to get a port # into address loop.
17346
17347 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17348
17349         * buffer.c (reinit_vars_of_buffer):
17350         The right place to initialize conversion_in_dynarr and
17351         conversion_out_dynarr.
17352
17353         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17354
17355         * process-unix.c (unix_canonicalize_host_name): Muleize.
17356         (unix_open_network_stream): Muleize.
17357
17358         * buffer.h: Fix up prototypes for ralloc.c functions.
17359
17360 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17361         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17362         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17363                 instead of gethostbyname()
17364         * process-unix.c: In unix_canonicalize_host_name() and
17365                 unix_open_network_stream(), add code to use getaddrinfo()
17366                 instead of gethostbyname().
17367
17368 2000-01-27  Daniel Pittman <daniel@danann.net>
17369
17370         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17371         libs when built with flat Athena.
17372
17373 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17374
17375         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17376         Use coding standards for function prototypes.
17377
17378 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17379
17380         * dialog-msw.c (push_lisp_string_as_unicode):
17381         * doc.c (unparesseuxify_doc_string):
17382         * dired.c (Fuser_name_completion_1):
17383         * dired.c (Fuser_name_all_completions):
17384         * dired.c (free_user_cache):
17385         * dired.c (user_name_completion):
17386         * console-x.c (get_display_arg_connection):
17387         * minibuf.c (clear_echo_area_internal):
17388         * minibuf.c (echo_area_append):
17389         * eldap.c (Fldap_open):
17390         * eldap.c (Fldap_search_internal):
17391         * frame-x.c (x_set_frame_text_value):
17392         * frame-x.c (x_set_frame_properties):
17393         * frame-x.c (x_create_widgets):
17394         * redisplay-tty.c (term_get_fkeys_1):
17395         * objects-x.c (x_parse_nearest_color):
17396         * objects-x.c (x_valid_color_name_p):
17397         * objects-x.c (x_initialize_font_instance):
17398         * objects-x.c (x_list_fonts):
17399         * objects-x.c (x_find_charset_font):
17400         * tooltalk.c (Fadd_tooltalk_message_arg):
17401         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17402         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17403         * process-unix.c (unix_create_process):
17404         * ntproc.c (sys_spawnve):
17405         * sound.c (Fplay_sound_file):
17406         * sound.c (Fplay_sound):
17407         * buffer.c (init_initial_directory):
17408         * buffer.c (init_buffer):
17409         * editfns.c (init_editfns):
17410         * editfns.c (Ftemp_directory):
17411         * editfns.c (Fuser_full_name):
17412         * editfns.c (uncache_home_directory):
17413         * editfns.c (get_home_directory):
17414         * editfns.c (Fuser_home_directory):
17415         * editfns.c (Fformat_time_string):
17416         * editfns.c (Fcurrent_time_string):
17417         * gui-x.c (button_item_to_widget_value):
17418         * database.c (Fopen_database):
17419         * event-Xt.c (x_to_emacs_keysym):
17420         * event-Xt.c (x_event_to_emacs_event):
17421         * event-Xt.c (describe_event_window):
17422         * event-msw.c (mswindows_wnd_proc):
17423         * glyphs-eimage.c (jpeg_instantiate):
17424         * glyphs-eimage.c (gif_instantiate):
17425         * glyphs-eimage.c (png_instantiate):
17426         * glyphs-eimage.c (tiff_instantiate):
17427         * glyphs-x.c (xbm_instantiate_1):
17428         * glyphs-x.c (x_xbm_instantiate):
17429         * glyphs-x.c (x_xface_instantiate):
17430         * glyphs-x.c (autodetect_instantiate):
17431         * glyphs-x.c (cursor_font_instantiate):
17432         * glyphs-x.c (x_widget_instantiate):
17433         * glyphs-x.c (x_widget_set_property):
17434         * glyphs-x.c (x_widget_property):
17435         * glyphs-x.c (BUILD_GLYPH_INST):
17436         * print.c (write_string_to_stdio_stream):
17437         * print.c (output_string):
17438         * print.c (Falternate_debugging_output):
17439         * print.c (Fexternal_debugging_output):
17440         * glyphs-msw.c (extract_xpm_color_names):
17441         * glyphs-msw.c (mswindows_xpm_instantiate):
17442         * glyphs-msw.c (bmp_instantiate):
17443         * glyphs-msw.c (resource_name_to_resource):
17444         * glyphs-msw.c (mswindows_resource_instantiate):
17445         * glyphs-msw.c (xbm_instantiate_1):
17446         * glyphs-msw.c (mswindows_xbm_instantiate):
17447         * glyphs-msw.c (mswindows_xface_instantiate):
17448         * glyphs-msw.c (mswindows_widget_instantiate):
17449         * glyphs-msw.c (add_tree_item):
17450         * glyphs-msw.c (add_tab_item):
17451         * glyphs-msw.c (mswindows_combo_box_instantiate):
17452         * glyphs-msw.c (mswindows_widget_property):
17453         * glyphs-msw.c (mswindows_combo_box_property):
17454         * glyphs-msw.c (mswindows_widget_set_property):
17455         * console.c (stuff_buffered_input):
17456         * objects-msw.c (mswindows_initialize_color_instance):
17457         * objects-msw.c (mswindows_valid_color_name_p):
17458         * objects-msw.c (mswindows_list_fonts):
17459         * objects-msw.c (mswindows_font_instance_truename):
17460         * bytecode.c (optimize_compiled_function):
17461         * select-x.c (symbol_to_x_atom):
17462         * select-x.c (x_atom_to_symbol):
17463         * select-x.c (hack_motif_clipboard_selection):
17464         * select-x.c (selection_data_to_lisp_data):
17465         * select-x.c (lisp_data_to_selection_data):
17466         * select-x.c (Fx_get_cutbuffer_internal):
17467         * select-x.c (Fx_store_cutbuffer_internal):
17468         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17469         * buffer.h (TO_INTERNAL_FORMAT): New function.
17470         * emacs.c (make_arg_list_1):
17471         * emacs.c (make_argc_argv):
17472         * emacs.c (main_1):
17473         * emacs.c (Fdump_emacs):
17474         * emacs.c (split_string_by_emchar_1):
17475         * file-coding.h:
17476         * lisp.h:
17477         * lstream.h:
17478         * symsinit.h:
17479         * device-x.c (x_init_device):
17480         * device-x.c (Fx_valid_keysym_name_p):
17481         * device-x.c (Fx_get_font_path):
17482         * device-x.c (Fx_set_font_path):
17483         * glyphs.c (bitmap_to_lisp_data):
17484         * glyphs.c (pixmap_to_lisp_data):
17485         * alloc.c (make_ext_string): Use coding system arguments.  Update
17486         all callers.
17487         * alloc.c (build_string):
17488         * callproc.c (child_setup):
17489         * callproc.c (init_callproc):
17490         * fileio.c (lisp_strerror):
17491         * fileio.c (directory_file_name):
17492         * fileio.c (Fexpand_file_name):
17493         * fileio.c (Ffile_truename):
17494         * fileio.c (Fsysnetunam):
17495         * fileio.c (Fdo_auto_save):
17496         * sysdep.c (sys_readdir):
17497         * tests.c: New file.  Allow adding C tests.
17498         Replace GET_* macros with a more comprehensible and flexible
17499         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17500         Modify all calls.
17501         Any coding system can be used to do format conversion.
17502         Eliminate enum external_data_format.
17503         Eliminate convert_to_external_format.
17504         Eliminate convert_to_internal_format.
17505         Make sure file-name, keyboard, terminal, and ctext are always
17506         defined as coding systems or aliases.  Make
17507         file-name-coding-system, terminal-coding-system, and
17508         keyboard-coding-system magical variables that are equivalent to
17509         defining the corresponding coding system aliases.
17510
17511         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17512         * file-coding.c (Fcoding_system_alias_p): New function.
17513         * file-coding.c (Fcoding_system_aliasee): New function.
17514         * file-coding.c (append_suffix_to_symbol): New function.
17515         * file-coding.c (dangling_coding_system_alias_p): New function.
17516         * file-coding.c (Ffind_coding_system):
17517         * file-coding.c (Fcopy_coding_system):
17518         * file-coding.c (encode_coding_no_conversion):
17519         * file-coding.c (syms_of_file_coding):
17520         * file-coding.c (vars_of_file_coding):
17521         Rewrite coding system alias code.
17522         Allow nested aliases, like symbolic links.
17523         Allow redefinition of coding system aliases.
17524         Prevent existence of dangling coding system aliases.
17525
17526         * dired.c (Fuser_name_completion_1):
17527         * dired.c (Fuser_name_all_completions):
17528         A crash would happen if user did QUIT in the middle of building
17529         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17530
17531         * lisp.h:
17532         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17533
17534         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17535         an unsigned char *.  Update all callers.
17536
17537 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17538
17539         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17540
17541 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17542
17543         * elhash.c (hentry_description): Use more portable definition.
17544         (resize_hash_table): Initialize new hentries using
17545         xnew_array_and_zero, thereby simplifying the code.
17546
17547         * mule-charset.c (make_charset): Make sure entire object is
17548         initialized, to avoid Purify warnings.
17549
17550         * alloc.c (resize_string): Fix unlikely crash with big strings.
17551
17552 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17553
17554         * realpath.c (xrealpath):
17555         Don't call getwd().
17556
17557 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17558
17559         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17560
17561 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17562
17563         * unexelfsgi.c (unexec): Change the way we decide which segment
17564         should be extended.
17565
17566         Assumption that .bss section should be outside the PT_LOADable
17567         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17568         it's present) is inside the 'data' segment. This would fail the
17569         test which was used to find a segment to grow and cover new
17570         heap. Instead of this assumption, I created another one - on IRIX
17571         the segment to grow should start below .bss and it's address
17572         should extent above the end of .bss. Once this segment is
17573         identified, it's grown to accommodate the new heap and new
17574         zero-length .bss section is added at the end of .data2.
17575
17576 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17577
17578         * eval.c (Feval): Wrong number of arguments should use original
17579         function, not the indirect_function version of it.
17580
17581 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17582
17583         * glyphs-x.c (x_button_instantiate): Don't add image if
17584         it is not a pixmap.
17585         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17586         is relative.
17587
17588 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17589
17590         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17591         declaration.
17592         (DEFVAR_INT_MAGIC): Ditto.
17593         (DEFVAR_BOOL_MAGIC): Ditto.
17594         * glyphs.h: Reindent backslash.
17595
17596 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17597
17598         * glyphs-widget.c (layout_query_geometry):
17599         (layout_layout): Use correct types for gheight, gwidth.
17600
17601 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17602
17603         * EmacsManager.c (QueryGeometry): Purified.
17604
17605 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17606
17607         * alloc.c (make_float): Make sure entire object is initialized, to
17608         avoid Purify warnings.
17609         (pdump_register_sub): Remove useless assignment.
17610         (pdump): Use xmalloc, not malloc.
17611         (pdump_load): Use xmalloc, not malloc.
17612
17613 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17614
17615         * callproc.c:
17616         * dired-msw.c:
17617         * fileio.c:
17618         * process-nt.c:
17619         * redisplay-msw.c:
17620         * sysdep.c: Removed redundant #include <windows.h>
17621
17622 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17623
17624         * frame.c (delete_frame_internal): Do not delete device when its
17625         implementation so declares.
17626         (delete_frame_internal): Set device selected frame to nil when
17627         last frame goes away.
17628
17629         * device-msw.c (msprinter_device_system_metrics): Implemented.
17630         (mswindows_device_system_metrics): Added 'device-dpi property.
17631
17632         * device.c: (Fdevice_printer_p): Added.
17633         Added 'offset-workspace device metric.
17634
17635         * console.h (device_metrics): Declared DM_offset_workspace.
17636
17637 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17638
17639         * fileio.c (Ffile_truename): Remove pointless and confusing
17640         initialization of elen.
17641
17642         * glyphs-widget.c: Compiler warning fixes.
17643
17644 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17645
17646         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17647         instead of a Lisp_Object as argument to make it consistent with
17648         the other LIVE_P macros.
17649         (CHECK_LIVE_PROCESS): New macro.
17650
17651         * process.c: Declare Qprocess_live_p.
17652         (Fprocess_live_p): New function.
17653         (create_process): Use PROCESS_LIVE_P.
17654         (read_process_output): Ditto.
17655         (set_process_filter): Ditto.
17656         (Fdelete_process): Ditto.
17657         (kill_buffer_processes): Ditto
17658         (process_send_signal): Use CHECK_LIVE_PROCESS.
17659         (Fprocess_input_coding_system): Check whether process is still
17660         alive (fix PR#1061).
17661         (Fprocess_output_coding_system): Ditto.
17662         (Fprocess_coding_system): Ditto.
17663         (Fset_process_input_coding_system): Ditto.
17664         (Fset_process_output_coding_system): Ditto.
17665
17666 2000-01-23  Andy Piper  <andy@xemacs.org>
17667
17668         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17669         layout and widget.
17670
17671         * glyphs.c (mark_image_instance): take into account changed
17672         image_instance format.
17673         (image_instance_equal): ditto.
17674         (image_instance_hash): ditto.
17675
17676         * glyphs-widget.c (widget_instantiate): Incorporate layout
17677         instantiation here. Delay layout of the layout until later.
17678         (layout_instantiate): deleted.
17679         (layout_query_geometry): new function. get the geometry of a
17680         layout.
17681         (layout_layout): layout a layout dynamically.
17682         (image_instantiator_widget): New function - splitting up
17683         image_instantiator_format_create_glyphs_widget for netwinder
17684         compilation.
17685         (image_instantiator_buttons):
17686         (image_instantiator_edit_fields):
17687         (image_instantiator_combo_box):
17688         (image_instantiator_scrollbar):
17689         (image_instantiator_progress_guage):
17690         (image_instantiator_tree_view):
17691         (image_instantiator_tab_control):
17692         (image_instantiator_labels):
17693         (image_instantiator_layout): ditto.
17694         (image_instantiator_format_create_glyphs_widget): Call preceding
17695         functions.
17696
17697 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17698
17699         * process.c (Fset_process_coding_system):
17700         * device-x.c (Fx_keysym_hash_table):
17701         Docstring fixes.
17702
17703         * lstream.c (Lstream_write): Return documented value, not 0.
17704
17705         * fileio.c (directory_file_name):
17706         (Fsubstitute_in_file_name):
17707         (Fsubstitute_insert_file_contents_internal):
17708         (Fwrite_region_internal):
17709         * emacs.c:
17710         * sysdep.c:
17711         * getloadavg.c:
17712         * systty.h:
17713         Remove vestigial APOLLO-conditional code.
17714
17715 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17716
17717         * getpagesize.h: Add guard macros.
17718         * libsst.h: Add guard macros.
17719         * libst.h: Add guard macros.
17720         * line-number.h: Add guard macros.
17721         * ndir.h: Add guard macros.
17722         * sysfloat.h: Add guard macros.
17723         * sysfile.h: Add guard macros.
17724         * sysproc.h: Add guard macros.
17725         * syswait.h: Add guard macros.
17726         * xintrinsic.h: Add guard macros.
17727         * xintrinsicp.h: Add guard macros.
17728         * xmmanager.h: Add guard macros.
17729         * xmmanagerp.h: Add guard macros.
17730         * xmprimitive.h: Add guard macros.
17731         * xmu.h: Add guard macros.
17732         * gpmevent.h: Add copyright statement. Add guard macros.
17733         * miscplay.h: Add guard macros.
17734         * *.h: Use consistent C-standards-approved guard macro names.
17735
17736         * opaque.c (make_opaque): Switch parameter order.
17737         * opaque.h (make_opaque): Switch parameter order.
17738         Update all callers.
17739         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17740
17741         * config.h.in (type_checking_assert): Added.
17742         (bufpos_checking_assert): Added.
17743
17744 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17745
17746         * alloc.c: Harmless pdump changes.
17747         - Use countof().
17748         - spell alignment correctly.
17749         * sysdep.c: Use countof()
17750
17751 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17752
17753         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17754         initially_selected_for_input() console method, default to 0.
17755         (semi_canonicalize_console_connection): Try to delegate to
17756         canonicalize_console_connection if no such console method.
17757         (canonicalize_console_connection): Vice versa.
17758         (print_console): Do not print nil connection.
17759
17760         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17761         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17762         (XDEVIMPF_FRAMELESS_OK): Added.
17763         (CONSOLE_INHERITS_METHOD): Added.
17764
17765         * console-msw.c (mswindows_canonicalize_console_connection):
17766         Added.
17767         (mswindows_canonicalize_device_connection): Added.
17768
17769         * console-msw.h (struct msprinter_device): Added this struct and
17770         accessor macros.
17771         (mswindows_device): Made fontlist a lisp object.
17772
17773         * device.c (semi_canonicalize_device_connection):  Try to delegate
17774         to canonicalize_device_connection if no such console method.
17775         (canonicalize_device_connection): Vice versa.
17776         (print_device): Do not print nil connection.
17777
17778         * device-msw.c (mswindows_init_device): Call InitCommonControls
17779         when have widgets.
17780         (mswindows_delete_device): Removed fontlist deallocation.
17781         (mswindows_mark_device): Added.
17782
17783         * events.c (event_equal): Added abort() at unreached code.
17784         (event_hash): Ditto.
17785
17786         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17787         fallback tags of Windows devices.
17788
17789         * general.c (syms_of_general): Initialized Qmsprinter.
17790
17791         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17792         of fallback tags of Windows devices.
17793
17794         * lisp.h: Declared Qmsprinter.
17795
17796         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17797         of strings.
17798         (mswindows_list_fonts): Ditto.
17799         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17800         that it can be used by both mswindows and msprinter devices.
17801         (initialize_font_instance): Added.
17802         (mswindows_initialize_font_instance): Use it.
17803         (msprinter_initialize_font_instance): Added.
17804
17805         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17806         and implementation flags check.
17807         (redisplay_without_hooks): Changed the call to the above.
17808         (Fredraw_device): Ditto.
17809         (Fredisplay_device): Ditto.
17810
17811         * redisplay-msw.c (get_frame_dc): Implemented.
17812         (get_frame_compdc): Implemented.
17813         (many functions): Use the two functions above to get device
17814         contexts, ether for a window or a printer.
17815
17816 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17817
17818         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17819         initialization here.
17820         (init_symbols_once_early): Call it.
17821         * emacs.c (main_1): Call it.
17822         * symsinit.h: Declare it.
17823
17824 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17825
17826         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17827         Lisp_Object.
17828         (pdump_backtrace): Ditto.
17829         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17830         (pdump_get_entry): Abort if trying to register a null pointer.
17831         (pdump_dump_data): Cleanup types when relocating.
17832         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17833         (pdump_dump_rtables): Remove bad casts.
17834         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17835         Lisp_Object instead of a EMACS_INT for the hashtable
17836         reorganization.
17837
17838 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17839
17840         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17841
17842         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17843
17844         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17845
17846         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17847
17848 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17849
17850         * faces.h (FACE_STRIKETHRU_P): Added.
17851
17852         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17853         of font variants.
17854
17855         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17856         (mswindows_set_dc_font): New function, aware of font variants,
17857         separated from mswindows_update_dc.
17858
17859         * objects-msw.h (struct mswindows_font_instance_data): Added
17860         definition.
17861
17862         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17863         cached fonts and the data structure.
17864         (mswindows_initialize_font_instance): Added creation of font data
17865         structure.
17866         (mswindows_print_font_instance): Print at least something.
17867         (mswindows_create_font_variant): Implemented.
17868         (mswindows_get_hfont): Implemented.
17869
17870 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17871
17872         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17873         prototyping problem with msvc.
17874
17875         * emacs.c (main_1): added syms_of_gui_mswindows() call
17876
17877         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17878         syms_of_gui_mswindows() function
17879
17880         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17881
17882 2000-01-18  Martin Buchholz <martin@xemacs.org>
17883
17884         * XEmacs 21.2.27 is released.
17885
17886 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17887
17888         * glyphs-eimage.c (struct tiff_error_struct):
17889         (tiff_error_func):
17890         (tiff_warning_func):
17891         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17892
17893         * unexmips.c:
17894         * unexhp9k3.c:
17895         * unexfreebsd.c:
17896         * unexec.c: Remove vestigial Lucid C code.
17897         * unexalpha.c:
17898         * unexaix.c:
17899         * termcap.c:
17900         * libsst.c: Ansify.
17901         Remove declarations of errno and strerror().
17902
17903         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17904
17905         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17906
17907 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17908
17909         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17910         Optimize.
17911
17912 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17913
17914         * md5.c:
17915         * file-coding.c:
17916         * file-coding.h:
17917         Change enum eol_type to eol_type_t.
17918
17919 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17920
17921         * gui.c (get_gui_callback): Check cons before accessing car.
17922
17923 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17924
17925         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17926         (XSETSPECIFIER_TYPE): Ditto.
17927
17928 2000-01-17  Didier Verna  <didier@xemacs.org>
17929
17930         * redisplay.c (generate_fstring_runes): compute string size in
17931         characters, not bytes.
17932
17933 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17934
17935         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17936
17937 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17938
17939         * print.c (print_error_message): Call print_prepare().
17940
17941 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17942
17943         * .dbxrc: Renamed from dbxrc.
17944
17945         * events.c (event_to_character):
17946         Use `assert (foo)' instead of `if (!foo) abort()'
17947
17948         * .gdbinit (xtype): Add documentation.
17949         * .gdbinit (check-temacs): New function.
17950         * .gdbinit (check-xemacs): New function.
17951         * dbxrc (check-xemacs): New function.
17952         * dbxrc (check-xemacs): New function.
17953
17954 2000-01-14  Andy Piper  <andy@xemacs.org>
17955
17956         * glyphs-widget.c (widget_query_geometry): Make sure that we
17957         calculate default dimensions correctly.
17958
17959 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17960
17961         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17962
17963         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17964         pdump_wire'd variable.
17965
17966         * emacs.c: (main_1): Conditionalized calls to
17967         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17968
17969 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17970
17971         * window.c (Fset_window_configuration):
17972         * sysdep.c (_start):
17973         * input-method-motif.c (res):
17974         * event-Xt.c (Xt_process_to_emacs_event):
17975         Simple compiler warning fixes.
17976
17977         * bytecode.c (funcall_compiled_function): Use the original
17978         function symbol on the backtrace list in preference to the
17979         compiled_function object in error messages.
17980
17981 2000-01-13  Andy Piper  <andy@xemacs.org>
17982
17983         * glyphs-x.c (update_widget_face): Make sure we update the widget
17984         background as well as foreground.
17985
17986 2000-01-13  Andy Piper  <andy@xemacs.org>
17987
17988         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17989         fields to subwindow.
17990         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17991         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17992         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17993         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17994
17995         * glyphs-widget.c (check_valid_tab_orientation): new function.
17996         (initialize_widget_image_instance): zero orientation and
17997         justification.
17998         (widget_instantiate): pick up orientation.
17999         (tab_control_query_geometry): return appropriate values for
18000         vertical tabs.
18001
18002         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
18003         appropriate creation flags for left, right and bottom tabs.
18004
18005         * s/cygwin32.h: add tab definitions.
18006
18007 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
18008
18009         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
18010         frame upon hiding a subwindow.
18011         (mswindows_button_instantiate): Changed the push button style to
18012         BS_PUSHBUTTON.
18013         (mswindows_button_instantiate): Removed button BS_NOTIFY
18014         style.
18015         (mswindows_button_instantiate): Removed redundant check for
18016         a disabled gui item.
18017         (mswindows_button_instantiate): Made use of WS_TABSTOP
18018         consistent: "operable" controls (edit, button, tree, scroll) have
18019         this style, "display-only" ones (static, progress gauge) do
18020         not. This style is currently ignored by XEmacs though. Also,
18021         removed the WS_EX_CONTROLPARENT style - it is not for children,
18022         it is for their parents!
18023         (mswindows_edit_field_instantiate): Ditto.
18024         (mswindows_progress_gauge_instantiate): Ditto.
18025         (mswindows_tree_view_instantiate): Ditto.
18026         (mswindows_tab_control_instantiate): Ditto.
18027         (mswindows_scrollbar_instantiate): Ditto.
18028         (mswindows_combo_box_instantiate): Ditto.
18029         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18030         style to the "clip" window.
18031         (mswindows_button_instantiate): Removed compilation warning by
18032         equally typing terms of the ?: operator.
18033
18034 2000-01-12  Didier Verna  <didier@xemacs.org>
18035
18036         * redisplay.c (generate_fstring_runes): new parameter holding the
18037         last modeline-format extent.
18038         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18039         extent, fill the glyph block with it.
18040         (generate_fstring_runes): handle these parameters.
18041         (generate_formatted_string_db): ditto.
18042
18043         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18044         glyphs'extents in the modeline.
18045
18046 1999-01-11  Mike Woolley  <mike@bulsara.com>
18047
18048         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18049         256Mb, as a workaround for the non-starting problem many people
18050         have experienced.
18051
18052 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18053
18054         * console-tty.c (Fset_console_tty_output_coding_system):
18055         Force redrawing tty frame.
18056
18057 2000-01-10  Didier Verna  <didier@xemacs.org>
18058
18059         * redisplay.c (generate_fstring_runes): fix size computation bug.
18060
18061 2000-01-09  William M. Perry <wmperry@aventail.com>
18062
18063         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18064
18065 2000-01-09  Andy Piper  <andy@xemacs.org>
18066
18067         * glyphs-msw.c: index -> i to avoid shadows.
18068         (xbm_create_bitmap_from_data): make static.
18069         (check_valid_string_or_int): deleted.
18070         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18071
18072         * glyphs-x.c (x_update_subwindow): remove unused args.
18073
18074         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18075         back pointer - this is done in allocate_image_instance.
18076         (query_string_font): return Qnil to make the compiler happy.
18077         (unmap_subwindow): set to ~0 to make the compiler happy.
18078         (glyph_query_geometry): comment out until used.
18079         (glyph_layout): ditto.
18080
18081 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18082
18083         * insdel.c (signal_after_change): Remove extraneous unbind_to().