Sync up with r21-4-22.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2009-04-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * mule-charset.c (Fmake_charset): Add DOC-string of 'iso-ir and
4         '=>iso-ir.
5         (Fcharset_property): Regard '=>iso-ir as same as `iso_ir.
6
7 2009-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
8
9         * mule-charset.c (Qto_iso_ir): New variable for XEmacs CHISE.
10         (make_charset): Add new argument `iso_ir'.
11         (Fmake_charset): Add new property `=>iso-ir' in XEmacs CHISE.
12         (Fmake_reverse_direction_charset): Copy CHARSET_ISO_IR(cs) in
13         XEmacs CHISE.
14         (Fcharset_property): Support `iso-ir' in XEmacs CHISE.
15         (syms_of_mule_charset): Add new builtin symbol `=>iso-ir' in
16         XEmacs CHISE.
17         (complex_vars_of_mule_charset): Specify argument `iso_ir' of
18         function `make_charset'.
19
20         * char-ucs.h (LEADING_BYTE_*): Enclose negative value with ( ).
21         (struct Lisp_Charset): Add new member `iso_ir'.
22         (CHARSET_ISO_IR): New macro.
23
24 2009-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * mule-charset.c (Fdecode_char): Fix problem when decoding GR
27         code-point by GL charset.
28
29 2008-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * concord.c (concord_id_validate): New function.
32         (structure_type_create_concord): Use `concord_id_validate' instead
33         of `concord_name_validate' to accept integer and character as =id.
34
35 2008-09-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
36
37         * concord.c (func_for_each_object): Fix bug about GC-protection.
38
39 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * concord.c (Fconcord_object_put): Check argument FEATURE is a
42         symbol.
43
44 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * text-coding.c (struct decoding_stream): Add new member
47         `bom_flag' in XEmacs CHISE.
48         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
49         in XEmacs CHISE.
50
51 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
52
53         * mule-charset.c: Move definition of `=jis-x0208@1978' to
54         lisp/mule/mule-conf.el.
55
56 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
57
58         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
59         (make_charset): Add new argument `partial'.
60         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
61         (Fmake_reverse_direction_charset): Modify for `make_charset'.
62         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
63         CHISE.
64         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
65         `=jis-x0208' as a partial coded-charset.
66
67 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
68
69         * text-coding.c (decode_add_er_char): Fix problem when a character
70         represented by an entity-reference is not defined.
71
72 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
73
74         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
75         Qrep_*.
76
77 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
78
79         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
80         (Kasagi).
81
82 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
83
84         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
85         is a relation feature.
86
87 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
88
89         * chartab.c (syms_of_chartab): Define
90         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
91
92         * chartab.h (Q_denotational): New extern when UTF2000 or
93         HAVE_CONCORD is defined.
94         (Q_denotational_from): Likewise.
95         (Q_subsumptive): Likewise.
96         (Q_subsumptive_from): Likewise.
97
98 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
99
100         * concord.c (concord_object_put): New function.
101         (Fconcord_object_put): Use `concord_object_put'.
102
103 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
104
105         * concord.c (Fconcord_define_object): New function.
106         (syms_of_concord): Add new builtin function
107         `concord-define-object'.
108
109 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
112         (Kamo).
113
114 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
115
116         * concord.c: Add EXFUN for Fconcord_object_get.
117         (Vconcord_genre_object_hash_table): New variable.
118         (concord_genre_cache_get_object): New function.
119         (concord_genre_cache_put_object): New function.
120         (Fconcord_make_object): Use object cache; put object-ID into `=id'
121         feature.
122         (Fconcord_object_put): Call `concord_index_sync' after
123         `concord_index_strid_put_obj'.
124         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
125
126 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
127
128         * concord.c (Fconcord_decode_object): Do GCPRO for
129         Fconcord_make_object.
130         (func_for_each_object): Likewise; do GCPRO for
131         for_each_object_closure->function.
132         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
133         for_each_object_closure->function, for_each_object_closure->genre,
134         for_each_object_closure->ds and for_each_object_closure->ret.
135         (concord_object_validate): Do GCPRO for Fconcord_make_object.
136
137 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
138
139         * concord.c: Add EXFUNs for Fconcord_decode_object and
140         Fconcord_object_put.
141         (Fconcord_make_object): Change order of arguments.
142         (Fconcord_decode_object): Modify for Fconcord_make_object.
143         (func_for_each_object): Likewise.
144         (concord_object_validate): Likewise.
145         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
146
147 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
148
149         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
150
151 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
152
153         * concord.c (Fconcord_decode_object): Try to use readable print
154         form as a key of Concord-index.
155         (Fconcord_object_get): Try to use readable print form as an ID of
156         Concord-object.
157         (Fconcord_object_put): Try to use readable print form as an ID of
158         Concord-object and a feature value.
159         (Fconcord_object_spec): Try to use readable print form as an ID of
160         Concord-object.
161
162 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
163
164         * concord.c (print_concord_object): Support readable form.
165
166 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * emacs.c (main_1): Call `structure_type_create_concord' when
169         HAVE_CONCORD is defined.
170
171         * symsinit.h (structure_type_create_concord): New prototype.
172
173         * concord.c (Qconcord_object): New variable.
174         (Qgenre): Likewise.
175         (Q_id): Likewise.
176         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
177         for directory.
178         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
179         char*> for genre-name.
180         (Fconcord_feature_list): Likewise.
181         (Fconcord_make_object): Likewise.
182         (Fconcord_decode_object): Likewise; use <char*> instead of
183         <unsigned char*> for feature_name and strid.
184         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
185         c_obj and feature_name.
186         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
187         char*> for c_value.
188         (struct closure_for_object_spec): Use <char*> instead of <unsigned
189         char*> for member `object_id'.
190         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
191         char*> for feature-name.
192         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
193         for c_obj.
194         (func_for_each_object): Cast to avoid warnings.
195         (Fconcord_foreach_object_in_feature): Use <char*> instead of
196         <unsigned char*> for genre_name and feature_name.
197         (concord_name_validate): New function.
198         (concord_object_validate): Likewise.
199         (concord_object_instantiate): Likewise.
200         (syms_of_concord): Add new builtin symbols `concord-object',
201         `genre' and `=id'.
202         (structure_type_create_concord): New function.
203
204 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
205
206         * concord.c (Vconcord_ds_hash_table): New variable.
207         (Vconcord_genre_hash_table): New variable.
208         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
209         (Fconcord_ds_directory): New function.
210         (Fconcord_assign_genre): New function.
211         (Fconcord_genre_directory): New function.
212         (Fconcord_genre_ds): New function.
213         (Fconcord_feature_list): Allow to omit `ds'.
214         (Fconcord_make_object): Likewise.
215         (Fconcord_decode_object): Likewise.
216         (Fconcord_foreach_object_in_feature): Likewise.
217         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
218         Fconcord_assign_genre, Fconcord_genre_directory and
219         Fconcord_genre_ds.
220         (vars_of_concord): Setup Vconcord_ds_hash_table and
221         Vconcord_genre_hash_table.
222
223 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
224
225         * concord.c (struct closure_for_each_object): Add new member
226         `ret'.
227         (func_for_each_object): Setup the return value to
228         `for_each_object_closure->ret'.
229         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
230         returns the value instead of Qt.
231
232 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
233
234         * concord.c: New file.
235
236 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
239         `lrecord_type_concord_object'.
240
241 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
242
243         * symsinit.h (syms_of_concord): New prototype.
244         (vars_of_concord): New prototype.
245
246         * emacs.c (main_1): Setup symbols and variable about concord if
247         HAVE_CONCORD is defined.
248
249         * config.h.in (HAVE_CONCORD): New macro.
250
251 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
252
253         * chartab.c (Fput_char_attribute): For each character relation
254         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
255
256 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
257
258         * chartab.c (Fput_char_attribute): Use
259         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
260         calling `put_char_composition'.
261
262 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
263
264         * chartab.c (Q_halfwidth_of): New variable.
265         (put_char_composition): Return `<-halfwidth' instead of
266         `=decomposition' for compatibility mapping to single character
267         tagged `narrow'.
268         (Fput_char_attribute): Convert char-specs in value of
269         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
270         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
271         for `<-halfwidth'.
272         (syms_of_chartab): Add new symbol `<-halfwidth'.
273
274 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * chartab.c (put_char_composition): Return
277         `<-formed@{isolated|initial|medial|final}' for compatibility
278         mapping to single character tagged
279         `{isolated|initial|medial|final}'.
280
281 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (Q_compat_of): Deleted.
284         (put_char_composition): Return `<-FOO' for compatibility mapping
285         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
286         of `symbol_name (XSYMBOL(...))'.
287         (Fput_char_attribute): Convert char-specs in value of
288         `{<-|->}font[^*]*' to characters and put reverse links.
289         (Fsave_char_attribute_table): Don't refer Q_compat_of.
290         (syms_of_chartab): Delete builtin symbol `<-compat'.
291
292 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
293
294         * chartab.c (Q_circled_of): New variable.
295         (put_char_composition): Return `<-circled' instead of
296         `=decomposition' for compatibility mapping to single character
297         tagged `circle'.
298         (Fput_char_attribute): Convert char-specs in value of
299         `{<-|->}circled[^*]*' to characters and put reverse links.
300         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
301         for `<-circled'.
302         (syms_of_chartab): Add new symbol `<-circled'.
303
304 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * chartab.c (Qto_decomposition_at_circled): New variable.
307         (put_char_composition): Return `=>decomposition@circled' instead
308         of `=decomposition' for compatibility decomposition mapping tagged
309         `circle'.
310         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
311
312 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
313
314         * chartab.c (Q_subscript_of): New variable.
315         (put_char_composition): Return `<-subscript' instead of
316         `=decomposition' for compatibility mapping to single character
317         tagged `sub'.
318         (Fput_char_attribute): Convert char-specs in value of
319         `{<-|->}subscript[^*]*' to characters and put reverse links.
320         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
321         for `<-subscript'.
322         (syms_of_chartab): Add new symbol `<-subscript'.
323
324 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
325
326         * chartab.c (Q_superscript_of): New variable.
327         (put_char_composition): Return `<-superscript' instead of
328         `=decomposition' for compatibility mapping to single character
329         tagged `super'.
330         (Fput_char_attribute): Convert char-specs in value of
331         `{<-|->}superscript[^*]*' to characters and put reverse links.
332         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
333         for `<-superscript'.
334         (syms_of_chartab): Add new symbol `<-superscript'.
335
336 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
337
338         * chartab.c (Qto_decomposition_at_compat): Deleted.
339         (Qto_decomposition_at_superscript): New variable.
340         (put_char_composition): Use `=>decomposition@superscript' instead
341         of `=decomposition' for compatibility decomposition mapping tagged
342         `super'.
343         (Fput_char_attribute): Fix condition about `put_char_composition'.
344         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
345         add news symbol `=>decomposition@superscript'.
346
347 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
348
349         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
350         for compatibility decomposition mapping tagged FOO.
351         (Fput_char_attribute): Modify for `put_char_composition'.
352
353 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
354
355         * chartab.c (Qto_decomposition_at_compat): New variable.
356         (Q_compat_of): Renamed from `Q_compatibility_of'.
357         (put_char_composition): Rename `Q_compatibility_of' to
358         `Q_compat_of'; return `=>decomposition@compat' for compatibility
359         decomposition mapping.
360         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
361         `Q_compat_of'.
362         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
363         `<-compatibility' to `<-compat'.
364
365 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
366
367         * chartab.c (Q_compatibility_of): New variable.
368         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
369         object is proved to be a cons cell; return `<-compatibility' if
370         the first element of argument `value' is `compat'.
371         (Fput_char_attribute): Eliminate the first value if
372         `put_char_composition' returns `<-compatibility'.
373         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
374         for `<-compatibility'.
375         (syms_of_chartab): Add new symbol `<-compatibility'.
376
377 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
378
379         * chartab.c (Q_canonical): New variable.
380         (put_char_composition): Return a feature name: return
381         `->canonical' if argument `value' specifies single character.
382         (Fput_char_attribute): Use `put_char_composition' to determine
383         feature name for `=decomposition' or `->denotational'.
384         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
385         for `->canonical'.
386         (syms_of_chartab): Add new symbol `->canonical'.
387
388 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
389
390         * chartab.c (Qmap_decomposition): New variable.
391         (Fput_char_attribute): Convert `->decomposition' to
392         `=decomposition'.
393         (syms_of_chartab): Add new symbol `=decomposition'.
394
395 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * chartab.c (Fget_range_char_table): Fix serious problem when
398         `range' is nil.
399
400 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * chartab.c (char_table_get_db): Use `read_from_c_string'.
403
404 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
405
406         * lread.c (read_from_c_string): New function.
407
408         * lisp.h (read_from_c_string): New prototype.
409
410 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
411
412         * chartab.c (Fput_char_attribute): Convert char-specs in value of
413         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
414         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
415         for `{<-|->}Oracle-Bones[^*]*'.
416
417 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
418
419         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
420         (Kizu).
421
422 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
423
424         * text-coding.c (Qccs_priority_list): New variable in XEmacs
425         CHISE.
426         (Fmake_coding_system): Support new property `ccs-priority-list' in
427         XEmacs CHISE.
428         (Fcoding_system_property): Likewise.
429         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
430         Vdefault_coded_charset_priority_list in XEmacs CHISE.
431         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
432         XEmacs CHISE.
433         (complex_vars_of_file_coding): Define new coding-system-property
434         `ccs-priority-list' in XEmacs CHISE.
435
436         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
437
438 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
439
440         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
441         changed to normal function.
442         (encode_char_2): Likewise.
443
444         * mule-charset.c (decoding_table_put_char): Copied from
445         char-ucs.h; changed to normal function.
446         (encode_char_2): Likewise.
447
448 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
449
450         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
451         New extern.
452         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
453         (encode_char_2_search_children): New inline function.
454         (encode_char_2): Refer
455         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
456         and use `encode_char_2_search_children'.
457
458 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
459
460         * mule-charset.c
461         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
462         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
463         (vars_of_mule_charset): Add new variable
464         `display-coded-charset-priority-use-inheritance' and
465         `display-coded-charset-priority-use-hierarchy-order'.
466
467 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
468
469         * char-ucs.h (Q_subsumptive): New extern.
470         (Q_denotational): Likewise.
471         (encode_char_2): Search children specified by `->subsumptive' and
472         `->denotational'.
473
474 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
475
476         * mule-charset.c (complex_vars_of_mule_charset): Modify the
477         X-registry of `ucs-bmp'.
478
479 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
480
481         * chartab.c (char-variants): Refer `->subsumptive',
482         `->denotational' and `->identical' as same as `->ucs-unified'.
483
484 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
485
486         * chartab.c (Fput_char_attribute): Convert char-specs in value of
487         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
488         links.
489
490 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
491
492         * text-coding.c: Add EXFUN for `Fregexp_quote'.
493         (decode_add_er_char): Fix problem about infinite loop when a CCS
494         specified in `coded-charset-entity-reference-alist' is not
495         existed.
496
497 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
498
499         * mule-charset.c (syms_of_mule_charset): Rename
500         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
501
502 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
503
504         * fns.c (simplify_char_spec): Don't allocate new character-object
505         if specified char_spec does not have any CCS-features.
506
507         * chartab.h: Add EXFUN for Fdefine_char.
508
509         * chartab.c: Delete EXFUN for Fdefine_char.
510
511 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
512
513         * fns.c (simplify_char_spec): Use Fdefine_char instead of
514         Ffind_char for char-spec.
515
516 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
517
518         * lisp-disunion.h (XCHARVAL): Fix condition about
519         SIZEOF_EMACS_INT.
520
521 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
522
523         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
524         <int> for `code'.
525         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
526         point; use <Emchar> instead of <int> for character-id.
527
528 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
529
530         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
531         (make_char): Likewise.
532         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
533         environment.
534         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
535         instead of <int> as the type of return value; use <Lisp_Object>
536         instead of <Emchar> as the type of argument.
537         (XCHARVAL[macro version]): Cast the result into <Emchar>.
538
539         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
540         syntaxcode> instead of <int>.
541
542 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
543
544         * chartab.c (put_char_composition): Use DECODE_CHAR to get
545         character corresponding with UCS code point.
546         (Fput_char_attribute): Likewise.
547
548         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
549         character in the UCS decoding-table if the char-id is not equal to
550         the UCS code point.
551
552 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
553
554         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
555         for aliases; write `description'; write
556         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
557         not 0.
558
559 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * chartab.c (Fsave_char_attribute_table): Don't use
562         `save_charset_properties'.
563
564         * mule-charset.c (Fsave_charset_properties): Renamed from
565         `save_charset_properties' and changed to Lisp function again;
566         write property `type' as `CCS'; write properties `final-byte' and
567         `mother' if they exists.
568         (syms_of_mule_charset): Revive builtin function
569         `save-charset-properties' when HAVE_LIBCHISE is defined.
570
571 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
574         instead of Vexec_directory.
575         (char_attribute_system_db_file): Likewise.
576
577 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
578
579         * chartab.c (Fsave_char_attribute_table): Use
580         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
581         defined.
582
583         * mule-charset.c (save_charset_properties): Renamed from
584         `Fsave_charset_properties'; changed to non-Lisp function.
585         (syms_of_mule_charset): Abolish builtin function
586         `save-charset-properties'.
587
588 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * mule-charset.c (Fsave_charset_properties): New function when
591         HAVE_LIBCHISE is defined.
592         (syms_of_mule_charset): Add new builtin function
593         `save-charset-properties' when HAVE_LIBCHISE is defined.
594
595 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
596
597         * chartab.c (Fput_char_attribute): Convert char-specs in value of
598         `{<-|->}ancient[^*]*' to characters and put reverse links.
599         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
600         for `{<-|->}ancient[^*]*'.
601
602 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
603
604         * chartab.c (Fput_char_attribute): Convert char-specs in value of
605         `{<-|->}original[^*]*' to characters and put reverse links.
606         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
607         for `{<-|->}original[^*]*'.
608
609 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
610
611         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
612
613 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * mule-charset.c (Qsystem_char_id): New variable.
616
617         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
618         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
619
620 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
621
622         * chartab.c (Fput_char_attribute): When processing a reference of
623         a character, put into the end of the reversed reference of each
624         target character.
625
626 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
627
628         * chartab.c (Q_same): Deleted.
629         (Q_same_of): Deleted.
630         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
631         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
632         for `{<-|->}same'.
633         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
634
635 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
636
637         * chartab.c (Q_vulgar): Deleted.
638         (Q_vulgar_of): Deleted.
639         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
640         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
641         for `{<-|->}vulgar'.
642         (syms_of_chartab): Don't define `{<-|->}vulgar'.
643
644 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
645
646         * chartab.c (Fput_char_attribute): Convert char-specs in value of
647         `{<-|->}wrong[^*]*' to characters and put reverse links.
648         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
649         for `{<-|->}wrong[^*]*'.
650
651 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
652
653         * chartab.c (Q_vulgar): New variable.
654         (Q_vulgar_of): New variable.
655         (Fput_char_attribute): Convert char-specs in value of
656         `{->|<-}vulgar' to characters and put reverse links.
657         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
658         for `{->|<-}vulgar'.
659         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
660
661 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
662
663         * text-coding.c (decode_add_er_char): Must to quote prefix string
664         as regexp.
665
666 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
667
668         * mule-charset.c (put_char_ccs_code_point): Store characters of
669         =ucs whose code_points >= 0xF0000.
670
671 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
672
673         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
674         CHISE.
675         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
676         CHISE.
677         (complex_vars_of_mule_charset): Add new coded-charset
678         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
679         builtin characters over 0xEFFFF.
680
681         * chartab.c (syms_of_chartab): Don't define symbol
682         `system-char-id' in every case.
683
684         * char-ucs.h (Qsystem_char_id): New extern variable.
685         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
686
687 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
688
689         * text-coding.c (char_encode_utf8): Try to use entity-references
690         for U-000F0000 ...  U-0010FFFF.
691
692 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
693
694         * text-coding.c (ER_BUF_SIZE): New macro.
695         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
696         `er_buf'.
697         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
698         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
699
700 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
701
702         * chartab.c (find_char_feature_in_family): New function.
703         (Fchar_feature): Use `find_char_feature_in_family' with
704         `->identical', `<-subsumptive' and `<-denotational'.
705
706 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
707
708         * text-coding.c (char_encode_as_entity_reference): Allow prefix
709         within 8 characters; fix infinite loop.
710
711 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
712
713         * chartab.c (Q_same): New variable.
714         (Q_same_of): New variable.
715         (Fput_char_attribute): Convert char-specs in value of
716         `{->|<-}same' to characters and put reverse links.
717         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
718         for `{->|<-}same'.
719         (syms_of_chartab): Add new symbols `{->|<-}same'.
720
721 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
722
723         * chartab.c (Q_component): New variable.
724         (Q_component_of): Likewise.
725         (Fput_char_attribute): Convert char-specs in value of
726         `{->|<-}ideographic-component-forms' to characters and put reverse
727         links.
728         (syms_of_chartab): Add new symbols
729         `{->|<-}ideographic-component-forms'.
730
731 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
732
733         * chartab.c (Q_identical): New variable.
734         (Q_identical_from): New variable.
735         (Fchar_feature): Regard `->identical' as a feature to find
736         ancestors.
737         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
738         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
739         for `{->|<-}identical'.
740         (syms_of_chartab): Add new symbols `{->|<-}identical'.
741
742 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
743
744         * char-ucs.h (encode_char_2): New inline function.
745         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
746
747 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
748
749         * chartab.c (Fput_char_attribute): Convert char-specs to
750         characters in value of `ideographic-structure'.
751         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
752         for `{<-|->}simplified(@...)'.
753         (Fdefine_char): Try to use predefined character's id.
754
755 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
756
757         * fns.c (simplify_char_spec): Try to convert builtin chars to
758         defined chars.
759
760 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
761
762         * chartab.c (Fput_char_attribute): Convert char-specs in value of
763         `<-simplified[^*]*' to characters and put reverse links.
764
765 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
766
767         * chartab.c (Q_subsumptive): Renamed from Q_unified.
768         (Q_subsumptive_from): Renamed from Q_unified_from.
769         (Fchar_feature): Use `Q_subsumptive_from' instead of
770         `Q_unified_from'.
771         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
772         `Q_unified'.
773         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
774         `<-unified' to `<-subsumptive'.
775
776 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
777
778         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
779         inheritance itself; fix typo; stop recursive search if cyclic
780         inheritance is found.
781
782 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
783
784         * chartab.c (Q_denotational): New variable.
785         (Q_denotational_from): New variable.
786         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
787         (put_char_attribute): New function.
788         (Fput_char_attribute): Use `put_char_attribute'; regard
789         `->denotational' and `<-denotational' as same as `->unified' and
790         `<-unified'.
791         (syms_of_chartab): Add new symbols `->denotational' and
792         `<-denotational'.
793
794 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
797         `Fget_char_attribute'.
798         (Fchar_variants): Likewise.
799         (get_char_table): Likewise.
800         (Fchar_feature): New function.
801         (put_char_composition): Use `Fchar_feature' instead of
802         `Fget_char_attribute'.
803         (Fput_char_attribute): Likewise; don't put the target character
804         into its `->unified' value.
805         (syms_of_chartab): Add new builtin function `char-feature'.
806
807 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
808
809         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
810         `Fget_char_attribute'.
811         (char_encode_utf8): Likewise.
812
813         * chartab.h: Add an EXFUN for `Fchar_feature'.
814
815 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
816
817         * chartab.c (Vnext_defined_char_id): New variable.
818         (Fput_char_attribute): Accept characters in `->unified'.
819         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
820         new characters which are not related with builtin char-id ranges.
821         (vars_of_chartab): Add new variable `next-defined-char-id'.
822
823 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
824
825         * chartab.c (Q_unified): New variable.
826         (Q_unified_from): New variable.
827         (Fput_char_attribute): Add code for `->unified'.
828         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
829         XEmacs CHISE.
830
831 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * mule-charset.c (decode_ccs_conversion): New function.
834         (decode_defined_char): Use `decode_ccs_conversion'.
835         (decode_builtin_char): Likewise.
836
837 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
838
839         * char-ucs.h: Change some charset-ids of private coded-charsets.
840
841 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
844         (char_encode_as_entity_reference): Likewise.
845         (decode_coding_big5): Modify for `decode_defined_char' and
846         `DECODE_CHAR'.
847         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
848         avoid compiler warning.
849         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
850
851         * mule-charset.c (decode_defined_char): Add new argument
852         `without_inheritance'.
853         (Fdecode_char): Add new optional argument `without_inheritance'.
854         (Fdecode_builtin_char): Modify for `Fdecode_char'.
855
856         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
857         (simplify_char_spec): Likewise.
858
859         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
860         setting.
861
862         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
863         (map_char_table): Likewise.
864         (Fdefine_char): Use `Fdecode_char' without inheritance.
865         (Ffind_char): Modify for `Fdecode_char'.
866
867         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
868
869         * char-ucs.h (decode_defined_char): Add new argument
870         `without_inheritance'.
871         (DECODE_CHAR): Likewise.
872         (MAKE_CHAR): Modify for `DECODE_CHAR'.
873
874 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
875
876         * chartab.c (Vchise_system_db_directory): New variable.
877         (vars_of_chartab): Add new variable `chise-system-db-directory'.
878
879 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
880
881         * chartab.c: EXFUN `Fmount_char_attribute_table'.
882         (print_chartab_range): Don't define when `UTF2000' is defined.
883         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
884         `CHISE_DS_open'.
885
886 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
889         and optional argument `rehash' is specified, call
890         `open_chise_data_source_maybe' before
891         `chise_ds_foreach_char_feature_name' is called.
892
893 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
894
895         * chartab.c (char_attribute_list_reset_map_func): New function
896         when HAVE_LIBCHISE is defined.
897         (Fchar_attribute_list): Add new optional argument `rehash' when
898         HAVE_LIBCHISE is defined.
899         (open_chise_data_source_maybe): Use "chise-db" instead of
900         "char-db".
901         (char_attribute_system_db_file): Likewise.
902         (Fload_char_attribute_table): Use
903         `chise_feature_foreach_char_with_value' instead of
904         `chise_char_feature_value_iterate'.
905
906 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
907
908         * chartab.c (Vchise_db_directory): New variable.
909         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
910
911 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
912
913         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
914         instead of HAVE_CHISE to specify using with libchise.
915
916         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
917
918         * chartab.h: Don't use HAVE_CHISE_CLIENT.
919
920         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
921         defined or HAVE_LIBCHISE_LIBCHISE is defined.
922         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
923         is defined.
924         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
925         HAVE_CHISE to specify using with libchise.
926         (syms_of_chartab): Don't define symbol `system-char-id' when
927         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
928
929 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
932         specify CHISE DB support.
933         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
934         of `char_attribute_system_db_file' to check feature DB file.
935
936         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
937         HAVE_CHISE_CLIENT to specify CHISE DB support.
938
939         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
940         specify CHISE DB support.
941         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
942         not defined.
943         (Freset_char_attribute_table): Use `chise_feature_setup_db'
944         instead of `char_attribute_system_db_file' to check feature DB
945         file.
946
947 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
948
949         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
950         `HAVE_CHISE_CLIENT'.
951
952 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
955         (Fsave_charset_mapping_table): Don't use
956         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
957
958         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
959         (HAVE_LIBCHISE): New macro.
960
961         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
962
963         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
964         (Fsave_char_attribute_table): Don't use
965         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
966
967 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
968
969         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
970         defined.
971         (save_uint16_byte_table): Likewise.
972         (save_byte_table): Likewise.
973         (char_table_get_db): Use `chise_ds_load_char_feature_value'
974         instead of `chise_char_load_feature_value'.
975         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
976
977 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
978
979         * chartab.h (struct Lisp_Char_Table): Delete member
980         `feature_table' if CHISE is defined.
981
982         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
983         (Fcopy_char_table): Likewise.
984         (char_table_open_db_maybe): Likewise.
985         (char_table_close_db_maybe): Likewise.
986         (char_table_get_db): Likewise.
987         (Fmount_char_attribute_table): Likewise.
988         (Fload_char_attribute_table): Likewise.
989
990 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
991
992         * mule-charset.c (load_char_decoding_entry_maybe): Use
993         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
994         `chise_ccs_decode'.
995
996 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
997
998         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
999         instead of `chise_open_data_source'.
1000         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
1001         `chise_ds_close'.
1002
1003 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
1006         instead of `chise_ds_open_feature_table'.
1007         (char_table_close_db_maybe): Don't use `chise_ft_close'.
1008
1009 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1010
1011         * mule-charset.c (Fsave_charset_mapping_table): Use
1012         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
1013         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
1014         `chise_ccs_sync' instead of `chise_ccst_close'.
1015         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
1016
1017         * chartab.c (open_chise_data_source_maybe): Modify for
1018         `chise_open_data_source'.
1019         (char_table_open_db_maybe): Modify for
1020         `chise_ds_open_feature_table'.
1021
1022 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1023
1024         * mule-charset.c (load_char_decoding_entry_maybe): Use
1025         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
1026         `chise_ccst_close'.
1027
1028 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1029
1030         * mule-charset.c (Fsave_charset_mapping_table): Use
1031         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
1032         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
1033         `chise_dt_put_char' and `chise_dt_close'.
1034         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
1035         `chise_ccs_decode' and `chise_ccst_close' instead of
1036         `chise_ds_open_decoding_table', `chise_dt_get_char' and
1037         `chise_dt_close'.
1038
1039         * chartab.c (char_table_get_db): Use
1040         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1041         (load_char_attribute_table_map_func): Modify for
1042         `chise_char_feature_value_iterate'.
1043         (Fload_char_attribute_table): Use
1044         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1045
1046 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1047
1048         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1049
1050 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1051
1052         * chartab.c (put_char_table): Modify for inherited coded-charsets
1053         in XEmacs CHISE.
1054
1055 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1056
1057         * chartab.c (Fput_char_table_map_function): Fixed.
1058         (word_boundary_p): Don't check charset in XEmacs CHISE.
1059
1060 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1061
1062         * mule-charset.c (Fsave_charset_mapping_table): Use
1063         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1064         instead of `chise_open_decoding_table'; refer
1065         `default_chise_data_source'; use `chise_dt_close' instead of
1066         `chise_close_decoding_table'.
1067         (load_char_decoding_entry_maybe): Likewise.
1068
1069         * chartab.c (default_chise_data_source): New variable when `CHISE'
1070         is defined.
1071         (Fcopy_char_table): `ct->ds' is deleted.
1072         (open_chise_data_source_maybe): New function.
1073         (Fclose_char_data_source): New function.
1074         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1075         use `chise_ds_open_feature_table' instead of
1076         `chise_open_feature_table'.
1077         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1078         `chise_close_feature_table'; `cit->ds' is deleted.
1079         (syms_of_chartab): Add new builtin function
1080         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1081
1082         * chartab.h (default_chise_data_source): New extern variable.
1083         (open_chise_data_source_maybe): New prototype.
1084         (struct Lisp_Char_Table): Delete `ds'.
1085
1086 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1087
1088         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1089         `CHISE' is defined.
1090
1091 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1092
1093         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1094         not defined; add code for non-libchise setting.
1095         (char_table_close_db_maybe): Likewise.
1096         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1097         defined.
1098         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1099         even if `CHISE' is not defined.
1100         (Freset_char_attribute_table): Likewise.
1101         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1102         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1103         `char_table_get_db'.
1104         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1105         `char_table_close_db_maybe' even if `CHISE' is not defined.
1106
1107 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1108
1109         * chartab.c (char_table_open_db_maybe): New function.
1110         (char_table_close_db_maybe): New function.
1111         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1112         (Freset_char_attribute_table): Likewise.
1113         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1114         `char_table_close_db_maybe'.
1115         (Fload_char_attribute_table): Likewise.
1116
1117 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1118
1119         * chartab.c: Don't include <chise.h> because it is included in
1120         chartab.h.
1121         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1122         defined.
1123         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1124         `CHISE' is defined.
1125         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1126         `CHISE' is defined.
1127         (Fclose_char_attribute_table): Close `ct->feature_table' and
1128         `ct->ds' when `CHISE' is defined.
1129         (Freset_char_attribute_table): Likewise.
1130         (load_char_attribute_maybe): Use `cit->ds' and
1131         `cit->feature_table' when `CHISE' is defined.
1132         (Fload_char_attribute_table): Likewise.
1133
1134         * chartab.h: Include <chise.h> when `CHISE' is defined.
1135         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1136         when `CHISE' is defined.
1137
1138 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1139
1140         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1141         is defined.
1142         (char_table_description): Likewise.
1143         (Fmake_char_table): Likewise.
1144         (Fcopy_char_table): Likewise.
1145         (Fmount_char_attribute_table): Likewise.
1146         (Fclose_char_attribute_table): Likewise.
1147         (Freset_char_attribute_table): Likewise.
1148         (load_char_attribute_maybe): Likewise.
1149         (Fload_char_attribute_table): Likewise.
1150
1151         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1152         defined.
1153
1154 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1155
1156         * chartab.c (load_char_attribute_table_map_func): New function
1157         when CHISE is defined.
1158         (Qload_char_attribute_table_map_function): Don't define when CHISE
1159         is defined.
1160         (Fload_char_attribute_table_map_function): Likewise.
1161         (Fload_char_attribute_table): Use libchise when `CHISE' is
1162         defined.
1163         (syms_of_chartab): Don't define
1164         `load-char-attribute-table-map-function' when CHISE is defined.
1165
1166 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1167
1168         * chartab.c: Include <chise.h> when `CHISE' is defined.
1169         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1170
1171 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1172
1173         * mule-charset.c (charset_code_point): Fix problem when searching
1174         in mother CCS fails with `defined_only' mode.
1175
1176 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1177
1178         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1179         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1180         (put_char_composition): Likewise.
1181         (Fput_char_attribute): Likewise.
1182         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1183
1184 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1185
1186         * chartab.c (Q_ucs): Deleted.
1187         (Fput_char_attribute): Don't refer `->ucs'.
1188         (Fdefine_char): Likewise.
1189         (Ffind_char): Likewise.
1190         (syms_of_chartab): Delete `->ucs'.
1191
1192 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1193
1194         * mule-charset.c (Qmap_cns11643_2): Renamed from
1195         `Qchinese_cns11643_2'.
1196         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1197         `chinese-cns11643-2'.
1198         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1199         `=cns11643-2'.
1200
1201 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1202
1203         * mule-charset.c (Qmap_cns11643_1): Renamed from
1204         `Qchinese_cns11643_1'.
1205         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1206         `chinese-cns11643-1'.
1207         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1208         `=cns11643-1'.
1209
1210 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1211
1212         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1213         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1214         `chinese-gb12345'.
1215         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1216         `=gb12345'.
1217
1218 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1219
1220         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1221         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1222         `chinese-gb2312'.
1223         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1224         `=gb2312'.
1225
1226 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1227
1228         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1229         (syms_of_mule_charset): Add new symbol `=big5' instead of
1230         `chinese-big5'.
1231         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1232
1233 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1234
1235         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1236         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1237         `korean-ksc5601'.
1238         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1239         `=ks-x1001'.
1240
1241 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1242
1243         * mule-charset.c (Qmap_jis_x0212): Renamed from
1244         `Qjapanese_jisx0212'.
1245         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1246         `japanese-jisx0212'.
1247         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1248         `=jis-x0212'.
1249
1250 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1253         `Qjapanese_jisx0208'.
1254         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1255         of `japanese-jisx0208'.
1256         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1257         `=jis-x0208-1983'.
1258
1259 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1260
1261         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1262         `Qjapanese_jisx0208_1978'.
1263         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1264         of `japanese-jisx0208-1978'.
1265         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1266         `=jis-x0208-1978'.
1267
1268 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1269
1270         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1271         only for XEmacs CHISE.
1272
1273 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1274
1275         * char-ucs.h: Compact non-ISO-IR charset-ids.
1276         (LEADING_BYTE_UCS): Changed to -177.
1277         (LEADING_BYTE_CONTROL_1): Changed to -77.
1278         (LEADING_BYTE_UCS_BMP): Changed to -176.
1279         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1280
1281 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1282
1283         * mule-charset.c (Qiso_ir): New variable.
1284         (Fmake_charset): Recognise new property `iso-ir'.
1285         (syms_of_mule_charset): Add new symbol `iso-ir'.
1286
1287 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1288
1289         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1290         n to -n; charset-id of non ISO-IR sets are changed to positive
1291         numbers.
1292
1293 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1294
1295         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1296         for &MCS-XXXXXXXX; values.
1297
1298 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1299
1300         * mule.c (Vxemacs_chise_version): Renamed from
1301         `Vutf_2000_version'.
1302         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1303         `utf-2000-version' as an alias for `xemacs-chise-version'.
1304
1305 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1306
1307         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1308         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1309         defined.
1310
1311         * config.h.in (CHISE): New macro.
1312
1313 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1314
1315         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1316         of `ucs'.
1317         (Qmap_ucs): New variable.
1318         (syms_of_mule_charset): Add new symbol `=ucs'.
1319         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1320
1321         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1322         (simplify_char_spec): Likewise.
1323
1324         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1325
1326         * char-ucs.h (Qmap_ucs): New extern variable.
1327
1328 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1329
1330         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1331         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1332         don't define it when UTF2000 is not defined.
1333         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1334         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1335         when UTF2000 is not defined.
1336         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1337         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1338
1339 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1340
1341         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1342
1343         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1344         (Qucs_gb): Deleted.
1345         (syms_of_mule_charset): Delete `ucs-gb'.
1346         (complex_vars_of_mule_charset): Likewise.
1347
1348 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1349
1350         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1351
1352         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1353         (Qucs_cns): Deleted.
1354         (syms_of_mule_charset): Delete `ucs-cns'.
1355         (complex_vars_of_mule_charset): Likewise.
1356
1357 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1358
1359         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1360
1361         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1362         (Qucs_jis): Deleted.
1363         (syms_of_mule_charset): Delete `ucs-jis'.
1364         (complex_vars_of_mule_charset): Likewise.
1365
1366 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1367
1368         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1369
1370         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1371         (Qucs_ks): Deleted.
1372         (syms_of_mule_charset): Delete `ucs-ks'.
1373         (complex_vars_of_mule_charset): Likewise.
1374
1375 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1376
1377         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1378         (Qideograph_daikanwa_2): Deleted.
1379         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1380         (complex_vars_of_mule_charset): Likewise.
1381
1382         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1383         (LEADING_BYTE_DAIKANWA_1): Deleted.
1384         (LEADING_BYTE_DAIKANWA_2): Deleted.
1385         (MIN_CHAR_DAIKANWA): Deleted.
1386         (MAX_CHAR_DAIKANWA): Deleted.
1387
1388 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1389
1390         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1391         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1392         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1393
1394         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1395         (Vcharset_ideograph_daikanwa): Deleted.
1396         (Qideograph_hanziku_{1..12}): Deleted.
1397         (Qideograph_daikanwa): Deleted.
1398         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1399         Vcharset_ideograph_daikanwa.
1400         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1401         `ideograph-hanziku-{1..12}'.
1402         (complex_vars_of_mule_charset): Likewise.
1403
1404 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1405
1406         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1407
1408         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1409         (Qideograph_gt_pj_{1..11}): Deleted.
1410         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1411         (complex_vars_of_mule_charset): Likewise.
1412
1413 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1414
1415         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1416         (Vcharset_ideograph_gt): Deleted.
1417         (Qucs_big5): Deleted.
1418         (Qideograph_gt): Deleted.
1419         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1420         `ideograph-gt'.
1421         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1422         and `ideograph-gt'.
1423
1424         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1425         (LEADING_BYTE_GT): Deleted.
1426         (MIN_CHAR_GT): Deleted.
1427         (MAX_CHAR_GT): Deleted.
1428
1429 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1430
1431         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1432
1433 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1434
1435         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1436         (save_uint16_byte_table): Likewise.
1437         (save_byte_table): Likewise; convert values by it.
1438         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1439         for `ideographic-structure'.
1440         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1441         as the filter for `ideographic-structure'.
1442
1443 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1444
1445         * chartab.c (put_char_composition): New function.
1446         (Fput_char_attribute): Use `put_char_composition'; use
1447         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1448
1449         * fns.c (simplify_char_spec): New function.
1450         (char_ref_simplify_spec): New function.
1451         (Fchar_refs_simplify_char_specs): New function.
1452         (syms_of_fns): Add new builtin function
1453         `char-refs-simplify-char-specs'.
1454
1455 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1456
1457         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1458         (Qideograph_cbeta): Deleted.
1459         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1460         (complex_vars_of_mule_charset): Likewise.
1461
1462         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1463         (MIN_CHAR_CBETA): Comment out.
1464         (MAX_CHAR_CBETA): Likewise.
1465
1466 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1467
1468         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1469         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1470         CHISE client feature.
1471
1472 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1473
1474         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1475
1476 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1477
1478         * mule-charset.c (charset_lookup_description_1): Use
1479         `NUM_LEADING_BYTES' in UTF-2000.
1480
1481 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1482
1483         * char-ucs.h (GC_CHARSETP): Deleted.
1484
1485 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1486
1487         * char-ucs.h (MAX_CHAR_GT): Updated.
1488
1489 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1490
1491         * text-coding.c: Sync with XEmacs 21.4.10.
1492
1493 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1494
1495         * mule-charset.c (Vcharset_china3_jef): Deleted.
1496         (Qchina3_jef): Deleted.
1497         (syms_of_mule_charset): Don't define `china3-jef'.
1498         (complex_vars_of_mule_charset): Likewise.
1499
1500         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1501         (MIN_CHAR_CHINA3_JEF): Comment out.
1502         (MAX_CHAR_CHINA3_JEF): Comment out.
1503
1504 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1505
1506         * mule-charset.c (Vcharset_ucs_gb): New variable.
1507         (Qucs_gb): New variable.
1508         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1509         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1510
1511         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1512
1513 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1514
1515         * mule-charset.c (charset_code_point): if a coded-charset has a
1516         final-byte, don't inherit the builtin range of the mother CCS.
1517
1518 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1519
1520         * mule-charset.c (charset_code_point): Fix problem about
1521         inheritance.
1522
1523 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1524
1525         * mule-charset.c (decode_builtin_char): Reorganized.
1526
1527 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1528
1529         * text-coding.c (char_encode_as_entity_reference): Modify for
1530         `charset_code_point'.
1531         (char_encode_shift_jis): Likewise.
1532         (char_encode_big5): Likewise.
1533         (char_encode_utf8): Likewise.
1534         (char_encode_iso2022): Likewise.
1535
1536         * mule-charset.c (charset_code_point): Add new argument
1537         `defined_only'.
1538         (Fencode_char): Add new optional argument `defined_only'.
1539
1540         * chartab.c (put_char_table): Modify for `charset_code_point'.
1541
1542         * char-ucs.h (charset_code_point): Add new argument
1543         `defined_only'.
1544         (encode_char_1): Modify for `charset_code_point'.
1545
1546 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1547
1548         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1549         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1550
1551 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1552
1553         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1554         (Qjis_x0208): Likewise.
1555         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1556         XCHARSET_FINAL(charset).
1557         (charset_code_point): Modify condition for final-byte based
1558         builtin-chars.
1559         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1560         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1561         in UTF-2000; specify `=jis-x0208' as the mother of
1562         `japanese-jisx0208-1978', `japanese-jisx0208' and
1563         `japanese-jisx0208-1990' in UTF-2000.
1564
1565 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1566
1567         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1568
1569 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1570
1571         * text-coding.c (decode_coding_utf16): Support UTF-16.
1572         (char_encode_utf16): Fixed.
1573
1574 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1575
1576         * text-coding.c (Qutf16): New variable in MULE.
1577         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1578         (Fcoding_system_type): Add `utf-16' in MULE.
1579         (struct detection_state): Add a structure for utf16 in MULE.
1580         (detect_coding_type): Setup st->utf16.mask in MULE.
1581         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1582         MULE.
1583         (reset_encoding_stream): Use `char_encode_utf16' and
1584         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1585         (detect_coding_utf16): New function [incomplete].
1586         (decode_coding_utf16): New function [support only UCS-2].
1587         (char_encode_utf16): New function.
1588         (char_finish_utf16): New function.
1589         (syms_of_file_coding): Add new symbol `utf-16'; setup
1590         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1591
1592         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1593         UTF-2000.
1594         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1595         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1596
1597 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1598
1599         * chartab.c (put_char_table): When a charset is specified as a
1600         range in UTF-2000, don't support builtin characters.
1601
1602 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1603
1604         * mule-charset.c (decode_defined_char): Don't refer external
1605         database if Qunbound or Qnil are found.
1606         (Fsave_charset_mapping_table): Don't define it if
1607         HAVE_CHISE_CLIENT is not defined.
1608         (Freset_charset_mapping_table): New function.
1609         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1610         found in external database.
1611         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1612         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1613         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1614
1615 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1616
1617         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1618         not.
1619
1620 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1621
1622         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1623         Q_lowercase, Q_uppercase in UTF-2000.
1624
1625         * chartab.c (get_char_table): Add special code for the standard
1626         case table to use character attribute `->downcase' and
1627         `->uppercase' for case operations in UTF-2000.
1628
1629         * casetab.c (Qflippedcase): New variable in UTF-2000.
1630         (Q_lowercase): Likewise.
1631         (Q_uppercase): Likewise.
1632         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1633         and `->uppercase' in UTF-2000.
1634         (complex_vars_of_casetab): Assign attribute name `downcase' to
1635         downcase and CANON table of Vstandard_case_table in UTF-2000;
1636         assign attribute name `flippedcase' to upcase and EQV table of
1637         Vstandard_case_table in UTF-2000.
1638
1639 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1640
1641         * text-coding.c (decode_add_er_char): Support isolated-chars.
1642         (char_encode_as_entity_reference): Likewise.
1643
1644 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1645
1646         * emacs.c (Vutf_2000_lisp_directory): New variable.
1647         (Vconfigure_utf_2000_lisp_directory): Likewise.
1648         (complex_vars_of_emacs): Add new variable
1649         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1650
1651 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1652
1653         * char-ucs.h (DECODE_CHAR): Delete special code for
1654         `chinese-big5-1' and `chinese-big5-2'.
1655
1656         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1657         (Qbig5_2): Likewise.
1658         (decode_defined_char): Support CONVERSION_BIG5_1 and
1659         CONVERSION_BIG5_2.
1660         (decode_builtin_char): Likewise.
1661         (charset_code_point): Likewise.
1662         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1663         'conversion in UTF-2000.
1664         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1665         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1666         `chinese-big5-2' as children of `chinese-big5'.
1667
1668         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1669         (CONVERSION_BIG5_2): New macro.
1670
1671 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1672
1673         * text-coding.c (char_encode_big5): Support entity-reference.
1674
1675 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1676
1677         * text-coding.c (char_encode_as_entity_reference): New function.
1678         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1679
1680 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1681
1682         * text-coding.c (decode_coding_big5): Support entity-reference
1683         decoding feature.
1684
1685 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1686
1687         * text-coding.c (allocate_coding_system): Initialize initial
1688         charsets for CODESYS_UTF8.
1689         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1690         charset-g2 for CODESYS_UTF8.
1691         (decode_coding_utf8): Use charset-g0.
1692         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1693         to force variants to map to UCS.
1694
1695 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1696
1697         * text-coding.c (Qutf_8_mcs): New variable.
1698         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1699         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1700         instead of `utf-8' in UTF-2000.
1701
1702 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1703
1704         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1705         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1706         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1707         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1708         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1709         CONVERSION_96x96x96x96 are introduced.
1710         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1711         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1712         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1713
1714         * char-ucs.h (CONVERSION_94): New macro.
1715         (CONVERSION_96): New macro.
1716         (CONVERSION_94x94): New macro.
1717         (CONVERSION_96x96): New macro.
1718         (CONVERSION_94x94x94): New macro.
1719         (CONVERSION_96x96x96): New macro.
1720         (CONVERSION_94x94x94x60): New macro.
1721         (CONVERSION_94x94x94x94): New macro.
1722         (CONVERSION_96x96x96x96): New macro.
1723
1724 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1725
1726         * chartab.c (Vcharacter_variant_table): Deleted.
1727         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1728         of `Vcharacter_variant_table'.
1729         (Fput_char_attribute): Likewise.
1730         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1731         (complex_vars_of_chartab): Likewise.
1732
1733 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1734
1735         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1736
1737         * fns.c (Qideographic_structure): New variable.
1738         (Qkeyword_char): New variable.
1739         (ids_format_unit): New function.
1740         (Fideographic_structure_to_ids): New function.
1741         (syms_of_fns): Add new symbols `ideographic-structure' and
1742         `:char'; add new builtin function `ideographic-structure-to-ids'.
1743
1744         * data.c (Fchar_ref_p): New function.
1745         (syms_of_data): Add new builtin function `char-ref-p'.
1746
1747         * chartab.h: Add an EXFUN for `Ffind_char'.
1748
1749 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1750
1751         * text-coding.c (Vcharacter_composition_table): Deleted.
1752         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1753         in every UTF-2000.
1754
1755         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1756         UTF-2000.
1757         (Vcharacter_composition_table): Deleted.
1758         (Fget_composite_char): Use the implementation for external-DB
1759         support in every UTF-2000.
1760         (Fput_char_attribute): Likewise.
1761         (char_attribute_system_db_file): Don't define if external-DB
1762         feature is not available.
1763         (Fsave_char_attribute_table): Likewise.
1764         (Fmount_char_attribute_table): Likewise.
1765         (Fclose_char_attribute_table): Likewise.
1766         (Freset_char_attribute_table): Likewise.
1767         (Fload_char_attribute_table): Likewise.
1768         (syms_of_chartab): Don't define `save-char-attribute-table',
1769         `mount-char-attribute-table', `reset-char-attribute-table',
1770         `close-char-attribute-table' and `load-char-attribute-table' if
1771         external-DB feature is not available.
1772         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1773
1774 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1775
1776         * text-coding.c (Qcomposition): Add extern if external-DB feature
1777         is supported.
1778         (Vcharacter_composition_table): Don't add extern if external-DB
1779         feature is supported.
1780         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1781         character composition rule if external-DB feature is supported.
1782
1783         * chartab.c (Vcharacter_composition_table): Don't define if
1784         external-DB feature is supported.
1785         (Qcomposition): New variable.
1786         (Fget_composite_char): New implementation for external-DB support.
1787         (Fput_char_attribute): Use `composition' property of each
1788         character instead of `Vcharacter_composition_table' to store
1789         character-composition rules if external-DB feature is supported.
1790         (syms_of_chartab): Add new symbol `composition'.
1791         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1792         external-DB feature is supported.
1793
1794 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1795
1796         * chartab.c (Vchar_db_stingy_mode): New variable.
1797         (load_char_attribute_maybe): Close database if
1798         Vchar_db_stingy_mode is not NIL.
1799         (Fload_char_attribute_table_map_function): Use
1800         `get_char_id_table_0' instead of `get_char_id_table'.
1801         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1802
1803         * chartab.h (get_char_id_table_0): New inline function.
1804         (get_char_id_table): Use `get_char_id_table_0'.
1805
1806 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1807
1808         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1809         and `COMPOSE_ADD_CHAR'.
1810         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1811
1812 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1813
1814         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1815         instead of `DECODE_ADD_UCS_CHAR'.
1816         (COMPOSE_ADD_CHAR): Likewise.
1817
1818 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1819
1820         * text-coding.c (decode_flush_er_chars): New inline function.
1821         (decode_add_er_char): New function.
1822         (decode_coding_utf8): Use `decode_flush_er_chars' and
1823         `decode_add_er_char'.
1824
1825 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1826
1827         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1828         done before `decode_output_utf8_partial_char'.
1829
1830         * mule-charset.c (complex_vars_of_mule_charset): Specify
1831         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1832         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1833
1834 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1835
1836         * mule-charset.c (decode_defined_char): New function; search
1837         mother.
1838         (decode_builtin_char): Don't search mother if
1839         XCHARSET_MAX_CODE(charset) == 0.
1840         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1841         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1842         (Fdecode_char): Use `decode_defined_char' instead of
1843         `DECODE_DEFINED_CHAR'.
1844         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1845         mother of `Vcharset_ucs_jis'.
1846
1847         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1848         instead of `DECODE_DEFINED_CHAR'.
1849
1850         * char-ucs.h (decode_defined_char): Renamed from
1851         `DECODE_DEFINED_CHAR'; changed to normal function.
1852         (DECODE_CHAR): Use `decode_defined_char' instead of
1853         `DECODE_DEFINED_CHAR'.
1854
1855         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1856
1857 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1858
1859         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1860
1861         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1862         variable.
1863         (Quse_entity_reference): New variable.
1864         (Qd): New variable.
1865         (Qx): New variable.
1866         (QX): New variable.
1867         (coding_system_description): Add description for
1868         `ccs_priority_list'.
1869         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1870         (allocate_coding_system): Initialize `ccs_priority_list' in
1871         UTF-2000.
1872         (Fmake_coding_system): Add description about
1873         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1874         (codesys).
1875         (Fcoding_system_property): Accept `disable-composition' and
1876         `use-entity-reference' in UTF-2000.
1877         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1878         in UTF-2000.
1879         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1880         (decode_coding_utf8): Decode entity-reference if
1881         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1882         (char_encode_utf8): Encode non-Unicode characters as
1883         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1884         (str->codesys).
1885         (syms_of_file_coding): Add new symbols `use-entity-reference',
1886         `d', `x', `X'.
1887         (vars_of_file_coding): Add new variable
1888         `coded-charset-entity-reference-alist'.
1889         (complex_vars_of_file_coding): Declare `disable-composition' and
1890         `use-entity-reference' to be coding-system-properties in UTF-2000.
1891
1892         * file-coding.h (struct Lisp_Coding_System): Add new member
1893         `use_entity_reference' and `ccs_priority_list'.
1894         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1895         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1896         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1897
1898 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1899
1900         * chartab.c (save_uint8_byte_table): Don't clear the table.
1901         (save_uint16_byte_table): Likewise.
1902         (save_byte_table): Likewise.
1903         (Fmount_char_attribute_table): New function.
1904         (syms_of_chartab): Add new builtin function
1905         `mount-char-attribute-table'.
1906
1907 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1908
1909         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1910         "w+" mode.
1911         (load_char_decoding_entry_maybe): Open database as read-only mode.
1912
1913         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1914         open database as "w+" mode.
1915         (load_char_attribute_maybe): Open database as read-only mode.
1916         (Fload_char_attribute_table): Likewise.
1917
1918 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1919
1920         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1921         (char_table_description): Delete member `db_file'.
1922         (Fmake_char_table): Don't refer `ct->db_file'.
1923         (Fcopy_char_table): Likewise.
1924         (Fsave_char_attribute_table): Likewise.
1925         (Fclose_char_attribute_table): Likewise.
1926         (Freset_char_attribute_table): Likewise.
1927         (load_char_attribute_maybe): Likewise.
1928         (Fload_char_attribute_table): Likewise.
1929
1930         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1931
1932 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1933
1934         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1935         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1936         `ct->db' is living.
1937         (load_char_attribute_maybe): Likewise.
1938         (Fload_char_attribute_table): Likewise.
1939
1940 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1941
1942         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1943         `ct->db_file' unconditionally.
1944
1945 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1946
1947         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1948         UTF-2000.
1949         (char_table_description): Add description for `db_file' and `db'
1950         in UTF-2000.
1951         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1952         UTF-2000.
1953         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1954         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1955         (Fclose_char_attribute_table): New function.
1956         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1957         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1958         and `cit->db'.
1959         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1960         (syms_of_chartab): Add new builtin function
1961         `Fclose_char_attribute_table'.
1962
1963 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1964
1965         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1966         `db' in UTF-2000.
1967         (load_char_attribute_maybe): Change interface.
1968         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1969
1970 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1971
1972         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1973
1974 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1975
1976         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1977         instead of `DECODE_CHAR' for mother; don't use special code for
1978         chinese-big5 to use code space of chinese-big5-1 and
1979         chinese-big5-2.
1980         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1981         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1982
1983         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1984         (MAX_CHAR_BIG5_CDP): Revival.
1985
1986 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1987
1988         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1989         the XLFD registry-encoding name of `chinese-big5'.
1990
1991 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1992
1993         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1994         (Qchinese_big5_cdp): Deleted.
1995         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1996         (complex_vars_of_mule_charset): Delete coded-charset
1997         `chinese-big5-cdp'.
1998
1999         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
2000         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
2001         `CHARSET_ID_OFFSET - n' for private CCS.
2002         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
2003         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
2004         of `MIN_LEADING_BYTE'.
2005         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
2006         `(CHARSET_ID_OFFSET - 97)'.
2007         (MIN_CHAR_BIG5_CDP): Deleted.
2008         (MAX_CHAR_BIG5_CDP): Deleted.
2009
2010 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2011
2012         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
2013
2014 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2015
2016         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
2017         (vars_of_mule): Add new variable `utf-2000-version' [moved from
2018         chartab.c].
2019
2020         * chartab.c (Vutf_2000_version): Moved to mule.c.
2021         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
2022
2023 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2024
2025         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
2026         when HAVE_CHISE_CLIENT is not defined.
2027
2028         * mule.c (vars_of_mule): Provide feature `chise' when
2029         HAVE_CHISE_CLIENT is defined.
2030
2031 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2032
2033         * config.h.in (UTF2000): Add comment.
2034         (HAVE_CHISE_CLIENT): New macro.
2035
2036 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2037
2038         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2039         CONSP.
2040         (Fput_char_attribute): Likewise.
2041         (char_attribute_system_db_file): Encode file-name of attribute.
2042         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2043         the initial value.
2044
2045 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2046
2047         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2048         (Fsave_charset_mapping_table): Use
2049         `char_attribute_system_db_file'.
2050         (load_char_decoding_entry_maybe): Likewise.
2051
2052         * chartab.h (Qsystem_char_id): New external variable.
2053         (char_attribute_system_db_file): New prototype.
2054
2055         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2056         (char_attribute_system_db_file): New function.
2057         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2058         (Freset_char_attribute_table): Likewise.
2059         (load_char_attribute_maybe): Likewise.
2060         (Fload_char_attribute_table): Likewise.
2061         (syms_of_chartab): Add new symbol `system-char-id'.
2062
2063 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2064
2065         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2066         `XCHARSET_GRAPHIC(ccs)'.
2067
2068 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2069
2070         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2071
2072 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2073
2074         * chartab.c (Q_ucs_variants): New variable.
2075         (syms_of_chartab): Add new symbol `->ucs-variants'.
2076         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2077         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2078         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2079
2080         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2081
2082         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2083         `HAVE_DATABASE' is defined.
2084         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2085         `HAVE_DATABASE' is defined.
2086
2087 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2088
2089         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2090         attribute-table.
2091         (Freset_char_attribute_table): New function.
2092         (syms_of_chartab): Add new builtin function
2093         `reset-char-attribute-table'.
2094
2095 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2096
2097         * chartab.c (load_char_attribute_maybe): Don't make directories.
2098
2099 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2100
2101         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2102
2103         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2104         for decoding-table.
2105
2106 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2107
2108         * mule-charset.c (Fsave_charset_mapping_table): Use
2109         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2110
2111         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2112         instead of `XCHARSET_CHARS'.
2113
2114 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2115
2116         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2117         (XCHARSET_BYTE_SIZE): Likewise.
2118
2119         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2120         mule-charset.c].
2121         (XCHARSET_BYTE_SIZE): Likewise.
2122
2123 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2124
2125         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2126         data-directory to store database.
2127         (Fsave_char_attribute_table): Likewise.
2128         (load_char_attribute_maybe): Likewise.
2129         (Fload_char_attribute_table): Likewise.
2130
2131 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2132
2133         * mule-charset.c (Fsave_charset_mapping_table): New function.
2134         (syms_of_mule_charset): Add new builtin function
2135         `save-charset-mapping-table'.
2136
2137 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2138
2139         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2140         (get_ccs_octet_table): New inline function.
2141         (put_ccs_octet_table): Likewise.
2142         (decoding_table_put_char): Use `get_ccs_octet_table' and
2143         `put_ccs_octet_table'.
2144         (decoding_table_remove_char): Use `decoding_table_put_char'.
2145         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2146
2147         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2148         into encoding_table.
2149         (make_charset): Use Qunbound instead Qnil as initial value of
2150         decoding_table.
2151
2152 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2153
2154         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2155         element is Qunloaded.
2156         (map_over_uint16_byte_table): Likewise.
2157         (map_over_byte_table): Likewise.
2158         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2159         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2160         database support, load encoding-table of the specified
2161         coded-charset if it is not loaded yet.
2162         (save_uint8_byte_table): New function of UTF-2000 with external
2163         database support.
2164         (save_uint16_byte_table): Likewise.
2165         (save_byte_table): Likewise.
2166         (Fput_char_attribute): Don't store value into external database
2167         even if the external database feature is supported in UTF-2000;
2168         set `attribute' as name of char-table if the external database
2169         feature is supported.
2170         (Fsave_char_attribute_table): New function in UTF-2000.
2171         (syms_of_chartab): Add new builtin function
2172         `save-char-attribute-table' in UTF-2000.
2173
2174 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2175
2176         * chartab.c (char_attribute_table_to_put): New variable in
2177         UTF-2000.
2178         (Qput_char_table_map_function): Likewise.
2179         (value_to_put): Likewise.
2180         (Fput_char_table_map_function): New function in UTF-2000.
2181         (put_char_table): Use `Fmap_char_attribute' for
2182         CHARTAB_RANGE_CHARSET in UTF-2000.
2183         (Fput_char_attribute): Store symbol instead of string in
2184         `XCHAR_TABLE_NAME (table)'.
2185         (load_char_attribute_maybe): Likewise.
2186         (syms_of_chartab): Add new symbol/function
2187         `put-char-table-map-function'.
2188
2189 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2190
2191         * database.h: Add new EXFUN for `Fmap_database'.
2192
2193         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2194         (syms_of_database): Likewise.
2195
2196         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2197         UTF-2000.
2198         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2199         (XCHAR_TABLE_UNLOADED): Likewise.
2200
2201         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2202         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2203         HAVE_DATABASE is defined.
2204         (char_attribute_table_to_load): New variable of UTF-2000 with
2205         external database support.
2206         (Qload_char_attribute_table_map_function): Likewise.
2207         (Fload_char_attribute_table_map_function): New function of
2208         UTF-2000 with external database support.
2209         (Fload_char_attribute_table): New function of UTF-2000.
2210         (Fmap_char_attribute): Call Fload_char_attribute_table if
2211         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2212         (syms_of_chartab): Add new symbol and function
2213         `load-char-attribute-table-map-function' in UTF-2000 with external
2214         database support; add new function `load-char-attribute-table' in
2215         UTF-2000.
2216
2217 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2218
2219         * chartab.h (load_char_attribute_maybe): New prototype for
2220         UTF-2000 with DATABASE support.
2221         (get_char_id_table): Use `load_char_attribute_maybe' if
2222         HAVE_DATABASE is defined.
2223
2224         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2225         with DATABASE support.
2226
2227 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2228
2229         * chartab.c (Fput_char_attribute): Use S-expression as key of
2230         external database.
2231
2232         * chartab.h (get_char_id_table): Use S-expression as key of
2233         external database.
2234
2235 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2236
2237         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2238         if an element is not loaded, load the corresponding attributes
2239         from an external database.
2240         (map_over_uint16_byte_table): Likewise.
2241         (map_over_byte_table): Likewise.
2242         (map_char_table): Modify for `map_over_uint8_byte_table',
2243         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2244         element is not loaded, load the corresponding attributes from an
2245         external database.
2246         (Fput_char_attribute): Change initial values to Qunloaded.
2247
2248         * chartab.h (get_char_id_table): If a character attribute is not
2249         loaded and the attribute value is not found in an external
2250         database, store Qunbound as the attribute value.
2251
2252 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2253
2254         * chartab.c (BT_UINT8_unloaded): New macro.
2255         (UINT8_VALUE_P): Accept Qunloaded.
2256         (UINT8_ENCODE): Likewise.
2257         (UINT8_DECODE): Likewise.
2258         (BT_UINT16_unloaded): New macro.
2259         (UINT16_VALUE_P): Accept Qunloaded.
2260         (UINT16_ENCODE): Likewise.
2261         (UINT16_DECODE): Likewise.
2262         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2263         BT_UINT16_unloaded.
2264         (mark_char_table): Mark `ct->name' in UTF-2000.
2265         (char_table_description): Add `name' in UTF-2000.
2266         (Fmake_char_table): Initialize `ct->name'.
2267         (Fcopy_char_table): Copy `ct->name'.
2268         (Fput_char_attribute): Store value into an external database if
2269         HAVE_DATABASE is defined.
2270
2271         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2272         UTF-2000.
2273         (CHAR_TABLE_NAME): New macro in UTF-2000.
2274         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2275         (get_char_id_table): Try to read an external database if Qunloaded
2276         is stored in a table.
2277
2278         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2279         Qunloaded.
2280
2281 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2282
2283         * database.h: Add EXFUN definitions for Fopen_database,
2284         Fput_database, Fget_database and Fclose_database.
2285
2286         * data.c (Qunloaded): New variable in UTF-2000.
2287
2288         * lisp.h (Qunloaded): New variable in UTF-2000.
2289
2290 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2291
2292         * mule-charset.c (put_char_ccs_code_point): Modify for
2293         `decoding_table_remove_char' and `decoding_table_put_char'.
2294         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2295
2296         * char-ucs.h (decoding_table_remove_char): Change arguments to
2297         hide decoding_table vector.
2298         (decoding_table_put_char): Likewise.
2299
2300 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2301
2302         * mule-charset.c (decoding_table_remove_char): Moved to
2303         char-ucs.h.
2304         (decoding_table_put_char): Likewise.
2305
2306         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2307         from mule-charset.c].
2308         (decoding_table_remove_char): New inline function [moved from
2309         mule-charset.c].
2310         (decoding_table_put_char): Likewise.
2311
2312 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2313
2314         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2315         extension.
2316
2317 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2318
2319         * mule-charset.c (decode_builtin_char): Support mother charsets.
2320
2321 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2322
2323         * mule-charset.c (Q94x94x60): New variable.
2324         (charset_code_point): Support conversion `94x94x60'.
2325         (Fmake_charset): Likewise.
2326         (syms_of_mule_charset): Add new symbol `94x94x60'.
2327
2328         * char-ucs.h (CONVERSION_94x94x60): New macro.
2329
2330 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2331
2332         * mule-charset.c (charset_code_point): Unify code about
2333         `code-offset'.
2334
2335 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2336
2337         * mule-charset.c (charset_code_point): Merge code about builtin
2338         characters into code about mother charsets; don't use
2339         `range_charset_code_point'.
2340         (range_charset_code_point): Deleted.
2341
2342 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2343
2344         * mule-charset.c (Qcode_offset): New variable.
2345         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2346         `max-code'; accept new property `code-offset'.
2347         (syms_of_mule_charset): Add new symbol `code-offset'.
2348
2349 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2350
2351         * mule-charset.c (range_charset_code_point): Fixed.
2352
2353 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2354
2355         * mule-charset.c (decode_builtin_char): Change semantics of
2356         code-offset of coded-charset.
2357         (charset_code_point): Likewise.
2358         (range_charset_code_point): Likewise.
2359         (complex_vars_of_mule_charset): Modify for the change.
2360
2361 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2362
2363         * mule-charset.c (Fencode_char): Reverse arguments.
2364
2365         * mule-charset.c (charset_code_point): Fixed.
2366
2367 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2368
2369         * mule-charset.c (Vcharset_mojikyo): Deleted.
2370         (Vcharset_mojikyo_2022_1): Deleted.
2371         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2372         (Qmin_code): New variable in UTF-2000.
2373         (Qmax_code): Likewise.
2374         (Qmother): Likewise.
2375         (Qconversion): Likewise.
2376         (Q94x60): Likewise.
2377         (Qmojikyo): Deleted.
2378         (Qmojikyo_2022_1): Deleted.
2379         (Qmojikyo_pj_{1..22}): Deleted.
2380         (mark_charset): Mark `cs->mother'.
2381         (charset_description): Add description for `mother'.
2382         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2383         new arguments `mother' and `conversion'; use
2384         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2385         (charset_code_point): Moved from char-ucs.h; support `mother'
2386         charset feature.
2387         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2388         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2389         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2390         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2391         allow 2 as the value of `graphic' in UTF-2000; add new properties
2392         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2393         require `final' in UTF-2000; modify for `make_charset'.
2394         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2395         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2396         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2397         (Fencode_char): New function.
2398         (syms_of_mule_charset): Add new builtin function `encode-char' in
2399         UTF-2000; add new symbols `min-code', `max-code', `mother',
2400         `conversion' and `94x60'; delete symbols `mojikyo',
2401         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2402         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2403         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2404         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2405
2406         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2407         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2408
2409         * char-ucs.h (Vcharset_mojikyo): Deleted.
2410         (Vcharset_mojikyo_2022_1): Deleted.
2411         (LEADING_BYTE_MOJIKYO): Deleted.
2412         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2413         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2414         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2415         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2416         add new member `mother'; add new member `conversion'.
2417         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2418         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2419         (CHARSET_MOTHER): New macro.
2420         (CHARSET_CONVERSION): New macro.
2421         (CONVERSION_IDENTICAL): New macro.
2422         (CONVERSION_94x60): New macro.
2423         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2424         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2425         (XCHARSET_MOTHER): New macro.
2426         (XCHARSET_CONVERSION): New macro.
2427         (MIN_CHAR_MOJIKYO): Deleted.
2428         (MAX_CHAR_MOJIKYO): Deleted.
2429         (DECODE_MOJIKYO_2022): Deleted.
2430         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2431         (charset_code_point): Changed to non-inline function.
2432         (encode_char_1): Use `charset_code_point'.
2433         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2434
2435 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2436
2437         * lread.c (read_compiled_function): Fix prototype.
2438         (read_vector): Likewise.
2439
2440 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2441
2442         * lrecord.h (struct lrecord_header): Delete `older'.
2443         (set_lheader_implementation): Delete code for `older'.
2444         (set_lheader_older_implementation): Deleted.
2445         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2446         (OLDER_RECORD_P): Deleted.
2447         (OLDER_RECORD_HEADER_P): Deleted.
2448         (alloc_older_lcrecord): Deleted.
2449         (alloc_older_lcrecord_type): Deleted.
2450
2451         * alloc.c (all_older_lcrecords): Deleted.
2452         (alloc_older_lcrecord): Deleted.
2453         (disksave_object_finalization_1): Delete code for older objects.
2454         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2455         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2456
2457 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2458
2459         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2460         instead of `make_older_vector'.
2461         (put_char_ccs_code_point): Likewise.
2462         (mark_charset): Mark `cs->decoding_table'.
2463         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2464
2465         * lisp.h (make_older_vector): Deleted.
2466         (make_vector_newer): Deleted.
2467
2468         * config.h.in (HAVE_GGC): Deleted.
2469
2470         * alloc.c (make_older_vector): Deleted.
2471         (make_vector_newer_1): Deleted.
2472         (make_vector_newer): Deleted.
2473
2474 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2475
2476         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2477         (Qideograph_daikanwa_2): New variable.
2478         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2479         (complex_vars_of_mule_charset): Add new coded-charset
2480         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2481         `LEADING_BYTE_DAIKANWA'.
2482
2483         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2484         (LEADING_BYTE_DAIKANWA_1): New macro.
2485         (LEADING_BYTE_DAIKANWA_2): New macro.
2486         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2487
2488 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2489
2490         * mule-charset.c (complex_vars_of_mule_charset): Change
2491         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2492         the second revised version.
2493
2494 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2495
2496         * mule-charset.c (Vcharset_ucs_smp): New variable.
2497         (Vcharset_ucs_sip): New variable.
2498         (Qucs_smp): New variable.
2499         (Qucs_sip): New variable.
2500         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2501         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2502         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2503         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2504         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2505         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2506
2507         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2508         (LEADING_BYTE_UCS_SIP): New macro.
2509         (MIN_CHAR_SMP): New macro.
2510         (MAX_CHAR_SMP): New macro.
2511         (MIN_CHAR_SIP): New macro.
2512         (MAX_CHAR_SIP): New macro.
2513
2514 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2515
2516         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2517         utf-2000.
2518
2519 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2520
2521         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2522         value; don't store value into `encoding_table' of `Lisp_Charset'.
2523         (mark_charset): `encoding_table' was deleted.
2524         (charset_description): Likewise.
2525         (make_charset): Likewise.
2526         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2527         `put_char_ccs_code_point'.
2528
2529         * chartab.h (Fput_char_attribute): New EXFUN.
2530
2531         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2532         is unified with normal symbol space.
2533         (Fget_char_attribute): Likewise.
2534         (Fput_char_attribute): Likewise; behavior of
2535         `put_char_ccs_code_point' is changed.
2536
2537         * char-ucs.h: Include "elhash.h".
2538         (Vchar_attribute_hash_table): New external variable.
2539         (struct Lisp_Charset): Delete `encoding_table'.
2540         (CHARSET_ENCODING_TABLE): New implementation; refer
2541         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2542         `Lisp_Charset'.
2543
2544 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2545
2546         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2547         (cs) == 0.
2548
2549 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2550
2551         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2552         `chinese-big5'.
2553
2554 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2555
2556         * chartab.c (uint8_byte_table_description): New constant.
2557         (uint8-byte-table): Use `uint8_byte_table_description'.
2558         (uint16_byte_table_description): New constant.
2559         (uint16-byte-table): Use `uint16_byte_table_description'.
2560
2561 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2562
2563         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2564         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2565
2566 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2567
2568         * mule-charset.c (Vcharset_ucs_ks): New variable.
2569         (Qucs_ks): New variable.
2570         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2571         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2572
2573         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2574
2575 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2576
2577         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2578         (Fdecode_char): Likewise.
2579
2580         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2581         chartab.h.
2582         (Fdefine_char): Modify for Fdecode_char.
2583         (Ffind_char): Likewise.
2584
2585         * mule-charset.c (Fdecode_char): Add new optional argument
2586         `defined-only'.
2587         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2588
2589 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2590
2591         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2592         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2593         (allocate_coding_system): Initialize initial-charsets of
2594         CODESYS_BIG5 in XEmacs UTF-2000.
2595         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2596         CODESYS_BIG5 in XEmacs UTF-2000.
2597         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2598         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2599
2600         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2601         variables.
2602         (Qideograph_hanziku_{1 .. 12}): Likewise.
2603         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2604         .. 12}'.
2605         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2606         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2607         `ideograph-hanziku-{1 .. 12}'.
2608
2609         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2610         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2611         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2612         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2613         (DECODE_DEFINED_CHAR): New inline function.
2614         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2615
2616 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2617
2618         * mule-charset.c (Vcharset_china3_jef): Renamed from
2619         `Vcharset_japanese_jef_china3'.
2620         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2621         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2622         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2623         (syms_of_mule_charset): Rename `china3-jef' from
2624         `japanese-jef-china3'.
2625         (complex_vars_of_mule_charset): Likewise; rename
2626         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2627
2628         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2629         `LEADING_BYTE_JEF_CHINA3'.
2630         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2631         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2632
2633 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2634
2635         * mule-charset.c (encode_builtin_char_1): Comment out special code
2636         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2637
2638         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2639         (MAX_CHAR_MOJIKYO_0): Comment out.
2640         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2641         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2642         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2643         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2644
2645 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2646
2647         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2648         (Qideograph_cbeta): New variable.
2649         (encode_builtin_char_1): Comment out special code for
2650         coded-charset `mojikyo' and `japanese-jef-china3'.
2651         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2652         (complex_vars_of_mule_charset): Add new coded-charset
2653         `ideograph-cbeta'.
2654
2655         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2656         (MIN_CHAR_CBETA): New macro.
2657         (MAX_CHAR_CBETA): New macro.
2658
2659 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2660
2661         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2662         (LEADING_BYTE_JEF_CHINA3): New macro.
2663         (MIN_CHAR_JEF_CHINA3): New macro.
2664         (MAX_CHAR_JEF_CHINA3): Likewise.
2665         (DECODE_CHAR): Fixed.
2666
2667 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2668
2669         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2670         (Qjapanese_jef_china3): New variable.
2671         (encode_builtin_char_1): Support `japanese-jef-china3'.
2672         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2673         (complex_vars_of_mule_charset): Add new coded-charset
2674         `japanese-jef-china3'.
2675
2676 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2677
2678         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2679         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2680         94^4, 96^3, 96^4, 128^n and 256^n set.
2681         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2682         (map_char_table): Likewise.
2683
2684 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2685
2686         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2687         UTF-2000.
2688
2689 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2690
2691         * chartab.h (get_char_id_table): New inline function.
2692
2693         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2694         function.
2695
2696 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2697
2698         * chartab.h (decode_char_table_range): New prototype in XEmacs
2699         UTF-2000.
2700         (put_char_id_table): New inline function in XEmacs UTF-2000.
2701
2702         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2703         function.
2704         (decode_char_table_range): Delete static declaration in XEmacs
2705         UTF-2000.
2706
2707 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2708
2709         * chartab.c (put_char_id_table): Use `put_char_table'.
2710
2711 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2712
2713         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2714         (map_over_uint16_byte_table): Likewise.
2715         (map_over_byte_table): Likewise.
2716         (map_char_table): Modify for `map_over_uint8_byte_table',
2717         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2718         UTF-2000.
2719
2720 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2721
2722         * chartab.c (struct map_char_table_for_charset_arg): New
2723         structure.
2724         (map_char_table_for_charset_fun): New function.
2725         (map_char_table): Use `map_char_table' for encoding_table of
2726         `range->charset'.
2727
2728 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2729
2730         * chartab.c (map_char_table): Check a character is found in
2731         range->charset instead of non default value is defined in
2732         char-table when range is CHARTAB_RANGE_ROW.
2733
2734 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2735
2736         * chartab.c (map_char_id_table): Deleted.
2737         (Fmap_char_attribute): Use `map_char_table' instead of
2738         `map_char_id_table'.
2739
2740 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2741
2742         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2743         UTF-2000.
2744         (update_syntax_table): Deleted in XEmacs UTF-2000.
2745
2746         * syntax.c (find_defun_start): Use `syntax_table' instead of
2747         `mirror_syntax_table' in XEmacs UTF-2000.
2748         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2749         UTF-2000.
2750         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2751         XEmacs UTF-2000.
2752         (Fmatching_paren): Likewise.
2753         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2754         in XEmacs UTF-2000.
2755         (find_start_of_comment): Likewise.
2756         (find_end_of_comment): Likewise.
2757         (Fforward_comment): Likewise.
2758         (scan_lists): Likewise.
2759         (char_quoted): Likewise.
2760         (Fbackward_prefix_chars): Likewise.
2761         (scan_sexps_forward): Likewise.
2762         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2763         (update_syntax_table): Likewise.
2764
2765         * search.c (skip_chars): Use `syntax_table' instead of
2766         `mirror_syntax_table' in XEmacs UTF-2000.
2767         (wordify): Likewise.
2768         (Freplace_match): Likewise.
2769
2770         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2771         `mirror_syntax_table' in XEmacs UTF-2000.
2772         (WORDCHAR_P_UNSAFE): Likewise.
2773         (re_match_2_internal): Likewise.
2774
2775         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2776         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2777
2778         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2779         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2780
2781         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2782         XEmacs UTF-2000.
2783
2784         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2785         UTF-2000.
2786         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2787         (char_table_description): Delete `mirror_table' in XEmacs
2788         UTF-2000.
2789         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2790         UTF-2000.
2791         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2792         (Fcopy_char_table): Likewise.
2793         (put_char_table): Don't call `update_syntax_table' in XEmacs
2794         UTF-2000.
2795
2796         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2797         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2798         (casify_region_internal): Likewise.
2799
2800         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2801
2802         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2803         `mirror_syntax_table' in XEmacs UTF-2000.
2804
2805         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2806         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2807         (Fexpand_abbrev): Likewise.
2808
2809 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2810
2811         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2812
2813 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2814
2815         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2816         (map_over_uint16_byte_table): Likewise.
2817         (map_over_byte_table): Likewise.
2818         (get_char_id_table): Refer `cit->default_value'.
2819         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2820         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2821         of character-id ranges.
2822         (mark_char_table): Mark `ct->default_value'.
2823         (char_table_description): Add `default_value'.
2824         (fill_char_table): Use `default_value'.
2825         (decode_char_table_range): Decode `nil' as
2826         `CHARTAB_RANGE_DEFAULT'.
2827         (get_char_id_table): Refer `cit->default_value'.
2828         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2829         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2830         temporary hack; check value of char-table is bound or not.
2831         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2832
2833         * chartab.h (struct Lisp_Char_Table): Add new member
2834         `default_value' in XEmacs UTF-2000.
2835         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2836         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2837         UTF-2000.
2838
2839 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2840
2841         * chartab.h (Lisp_Char_ID_Table): Deleted.
2842
2843         * chartab.c (char_table_description): Fix typo.
2844         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2845         `Lisp_Char_ID_Table'.
2846
2847 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2848
2849         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2850         `CHAR_ID_TABLE_P'.
2851
2852         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2853         `CHAR_ID_TABLE_P'.
2854
2855         * chartab.h (XCHAR_ID_TABLE): Deleted.
2856         (XSETCHAR_ID_TABLE): Deleted.
2857         (CHAR_ID_TABLE_P): Deleted.
2858
2859         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2860         `CHAR_ID_TABLE_P'.
2861         (Fget_composite_char): Likewise.
2862         (put_char_table): Likewise.
2863         (add_char_attribute_alist_mapper): Fixed.
2864         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2865         `CHAR_ID_TABLE_P'.
2866         (Fget_char_attribute): Likewise.
2867         (Fget_char_attribute): Likewise.
2868         (Fmap_char_attribute): Likewise.
2869
2870         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2871         `CHAR_ID_TABLE_P'.
2872         (encode_char_1): Likewise.
2873
2874 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2875
2876         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2877         `XCHAR_ID_TABLE'.
2878
2879         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2880         instead of `XCHAR_ID_TABLE'.
2881         (remove_char_ccs): Likewise.
2882
2883         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2884         `XCHAR_ID_TABLE'.
2885         (Fget_composite_char): Likewise.
2886         (Fchar_variants): Likewise.
2887         (put_char_table): Likewise.
2888         (add_char_attribute_alist_mapper): Likewise.
2889         (Fchar_attribute_alist): Likewise.
2890         (Fget_char_attribute): Likewise.
2891         (Fput_char_attribute): Likewise.
2892         (Fmap_char_attribute): Likewise.
2893         (Fmap_char_attribute): Likewise.
2894
2895         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2896         `XCHAR_ID_TABLE'.
2897         (encode_char_1): Likewise.
2898
2899 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2900
2901         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2902         `Lisp_Char_ID_Table'.
2903         (mark_char_id_table): Deleted.
2904         (print_char_id_table): Likewise.
2905         (char_id_table_equal): Likewise.
2906         (char_id_table_hash): Likewise.
2907         (char_id_table_description): Likewise.
2908         (char_id_table): Likewise.
2909         (make_char_id_table): Use `Fmake_char_table' and
2910         `fill_char_table'.
2911         (get_char_id_table): Use `Lisp_Char_Table' instead of
2912         `Lisp_Char_ID_Table'.
2913         (put_char_id_table): Likewise.
2914         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2915         `XCHAR_ID_TABLE'.
2916         (Fremove_char_attribute): Likewise.
2917         (syms_of_chartab): Don't define type `char-id-table'.
2918
2919         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2920         (char_id_table): Likewise.
2921         (GC_CHAR_ID_TABLE_P): Likewise.
2922         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2923         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2924         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2925         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2926         (get_char_id_table): Use `Lisp_Char_Table' instead of
2927         `Lisp_Char_ID_Table'.
2928         (put_char_id_table_0): Likewise.
2929         (put_char_id_table): Likewise.
2930
2931 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2932
2933         * chartab.h: Lisp_Byte_Table related codes are moved from
2934         chartab.h.
2935
2936         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2937
2938 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2939
2940         * chartab.h: Don't include "chartab.h".
2941         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2942         (Lisp_Char_ID_Table): Likewise.
2943         (char_id_table): Likewise.
2944         (XCHAR_ID_TABLE): Likewise.
2945         (XSETCHAR_ID_TABLE): Likewise.
2946         (CHAR_ID_TABLE_P): Likewise.
2947         (GC_CHAR_ID_TABLE_P): Likewise.
2948         (get_char_id_table): Likewise.
2949
2950         * char-ucs.h: Include "chartab.h".
2951         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2952         (Lisp_Char_ID_Table): Likewise.
2953         (char_id_table): Likewise.
2954         (XCHAR_ID_TABLE): Likewise.
2955         (XSETCHAR_ID_TABLE): Likewise.
2956         (CHAR_ID_TABLE_P): Likewise.
2957         (GC_CHAR_ID_TABLE_P): Likewise.
2958         (get_char_id_table): Likewise.
2959
2960 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2961
2962         * chartab.c (copy_uint8_byte_table): New function.
2963         (copy_uint16_byte_table): New function.
2964         (copy_byte_table): New function.
2965         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2966         characters to call.
2967         (map_over_uint16_byte_table): Likewise.
2968         (map_over_byte_table): Likewise.
2969         (get_byte_table): Move prototype to chartab.h.
2970         (put_byte_table): Likewise.
2971         (put_char_id_table_0): Moved to chartab.h.
2972         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2973         (char_table_entry_equal): Likewise.
2974         (char_table_entry_hash): Likewise.
2975         (char_table_entry_description): Likewise.
2976         (char_table_entry): Likewise.
2977         (make_char_table_entry): Likewise.
2978         (copy_char_table_entry): Likewise.
2979         (get_non_ascii_char_table_value): Likewise.
2980         (map_over_charset_ascii): Likewise.
2981         (map_over_charset_control_1): Likewise.
2982         (map_over_charset_row): Likewise.
2983         (map_over_other_charset): Likewise.
2984         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2985         (print_char_table): Likewise.
2986         (char_table_equal): Likewise.
2987         (char_table_hash): Likewise.
2988         (char_table_description): Likewise.
2989         (fill_char_table): Likewise.
2990         (Fcopy_char_table): Likewise.
2991         (get_char_table): Likewise.
2992         (Fget_range_char_table): Likewise.
2993         (put_char_table): Likewise.
2994         (map_char_table): Likewise.
2995         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2996         UTF-2000.
2997
2998 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2999
3000         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
3001         `Vauto_fill_chars' in XEmacs UTF-2000.
3002
3003         * chartab.h (get_byte_table): New prototype [moved from
3004         chartab.c].
3005         (put_byte_table): Likewise [moved from chartab.c].
3006         (put_char_id_table_0): New inline function [moved from chartab.c].
3007         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
3008         (Lisp_Char_Table_Entry): Likewise.
3009         (char_table_entry): Likewise.
3010         (XCHAR_TABLE_ENTRY): Likewise.
3011         (XSETCHAR_TABLE_ENTRY): Likewise.
3012         (CHAR_TABLE_ENTRYP): Likewise.
3013         (CHECK_CHAR_TABLE_ENTRY): Likewise.
3014         (NUM_ASCII_CHARS): Likewise.
3015         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
3016         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
3017
3018 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3019
3020         * chartab.c (get_char_id_table): Change interface.
3021         (put_char_id_table_0): New function.
3022         (put_char_id_table): Change interface; new implementation.
3023         (Fget_composite_char): Modify for interface change of
3024         `get_char_id_table'.
3025         (Fchar_variants): Likewise.
3026         (add_char_attribute_alist_mapper): Likewise.
3027         (Fchar_attribute_alist): Likewise.
3028         (Fget_char_attribute): Likewise.
3029         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
3030         as same as character as the first argument like `put-char-table';
3031         modify for interface change of `put_char_id_table'.
3032         (Fremove_char_attribute): Modify for interface change of
3033         `put_char_id_table'.
3034
3035 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3036
3037         * text-coding.c: Sync up with XEmacs 21.2.41.
3038         (COMPOSE_ADD_CHAR): Modify for interface change of
3039         `get_char_id_table'.
3040
3041         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3042         change of `put_char_id_table'.
3043         (remove_char_ccs): Likewise.
3044
3045         * chartab.h (put_char_id_table): Change interface.
3046
3047         * char-ucs.h (get_char_id_table): Change interface.
3048         (charset_code_point): Modify for interface change of
3049         `get_char_id_table'.
3050         (encode_char_1): Likewise.
3051
3052 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3053
3054         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3055         argument `ccs'.
3056         (map_over_uint16_byte_table): Likewise.
3057         (map_over_byte_table): Likewise.
3058         (map_char_id_table): Add new argument `range' like
3059         `map_char_table'.
3060         (Fmap_char_attribute): Add new argument `range' like
3061         `Fmap_char_table'.
3062
3063 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3064
3065         * chartab.c (map_over_uint8_byte_table): Change interface of
3066         mapping function to use struct chartab_range instead of Emchar.
3067         (map_over_uint16_byte_table): Likewise.
3068         (map_over_byte_table): Likewise.
3069         (map_char_id_table): Likewise.
3070         (struct slow_map_char_id_table_arg): Deleted.
3071         (slow_map_char_id_table_fun): Deleted.
3072         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3073         function `slow_map_char_table_fun' instead of struct
3074         `slow_map_char_id_table_arg' and function
3075         `slow_map_char_id_table_fun'.
3076
3077 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3078
3079         * mule-charset.c: Move char-it-table related codes to chartab.c.
3080         (Vutf_2000_version): Moved to chartab.c.
3081         (Fdefine_char): Likewise.
3082         (Ffind_char): Likewise.
3083         (syms_of_mule_charset): Move types `uint8-byte-table',
3084         `uint16-byte-table', `byte-table' and `char-id-table' to
3085         chartab.c; move functions `char_attribute_list,
3086         `find_char_attribute_table, `char_attribute_alist,
3087         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3088         `map_char_attribute, `define_char, `find_char, `char_variants and
3089         `get_composite_char to chartab.c; move symbols `=>ucs',
3090         `->decomposition', `compat', `isolated', `initial', `medial',
3091         `final', `vertical', `noBreak', `fraction', `super', `sub',
3092         `circle', `square', `wide', `narrow', `small' and `font' to
3093         chartab.c.
3094         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3095         setting codes for `Vcharacter_composition_table' and
3096         `Vcharacter_variant_table' to chartab.c.
3097         (complex_vars_of_mule_charset): Move setting code for
3098         `Vchar_attribute_hash_table' to chartab.c.
3099
3100         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3101         (make_char_id_table): New prototype.
3102         (put_char_id_table): Likewise.
3103         (Fget_char_attribute): Likewise.
3104
3105         * chartab.c: Move char-id-table related code from mule-charset.c.
3106         (Vutf_2000_version): Moved from mule-charset.c.
3107
3108         * char-ucs.h (Qucs): New external variable.
3109         (put_char_ccs_code_point): New prototype.
3110         (remove_char_ccs): Likewise.
3111
3112 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3113
3114         * mule-charset.c (Vcharset_ucs_jis): New variable.
3115         (Qucs_jis): Likewise.
3116         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3117         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3118
3119         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3120
3121 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3122
3123         * mule-charset.c (map_over_uint8_byte_table): New function.
3124         (map_over_uint16_byte_table): Likewise.
3125         (map_over_byte_table): Likewise.
3126         (map_char_id_table): Likewise.
3127         (slow_map_char_id_table_fun): Likewise.
3128         (Fmap_char_attribute): Likewise.
3129         (syms_of_mule_charset): Add new function `map-char-attribute'.
3130
3131 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3132
3133         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3134         (syms_of_mule_charset): Add new function `find-char'.
3135
3136 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3137
3138         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3139         XEmacs UTF-2000.
3140         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3141         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3142         XEmacs UTF-2000.
3143         (complex_vars_of_mule_charset): Add new coded-charset
3144         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3145         `ideograph-gt-pj-*'.
3146
3147         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3148
3149 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3150
3151         * mule-charset.c (encode_builtin_char_1): Purge codes about
3152         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3153         {MIN|MAX}_CHAR_HEBREW.
3154         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3155         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3156
3157         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3158         (MAX_CHAR_GREEK): Purged.
3159         (MIN_CHAR_CYRILLIC): Purged.
3160         (MAX_CHAR_CYRILLIC): Purged.
3161         (MIN_CHAR_HEBREW): Commented out.
3162         (MAX_CHAR_HEBREW): Likewise.
3163
3164 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3165
3166         * mule-charset.c (Qto_ucs): New variable.
3167         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3168         (Fdefine_char): Likewise.
3169         (syms_of_mule_charset): Add new symbol `=>ucs'.
3170
3171 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3172
3173         * mule-charset.c (Fdecode_char): Fixed.
3174
3175 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3176
3177         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3178         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3179         "tcvn5712-1".
3180
3181 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3182
3183         * mule-charset.c (Vcharset_ucs_big5): New variable.
3184         (Qucs_big5): Likewise.
3185         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3186         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3187
3188         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3189
3190 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3191
3192         * mule-charset.c (decode_builtin_char): Check Big5 code range
3193         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3194
3195 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3196
3197         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3198         (Qchinese_gb12345): Likewise.
3199         (Fdecode_builtin_char): Fixed.
3200         (syms_of_mule_charset): Add `chinese-gb12345'.
3201         (complex_vars_of_mule_charset): Add coded-charset
3202         `chinese-gb12345'.
3203
3204         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3205         (LEADING_BYTE_CHINESE_GB12345): New macro.
3206
3207 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3208
3209         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3210         and `latin-viscii-upper' for `latin-viscii'.
3211
3212 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3213
3214         * mule-charset.c (Fdecode_builtin_char): Comment out
3215         regularization code for ISO-IR GR representation.
3216
3217 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3218
3219         * mule-charset.c (decode_builtin_char): New function; renamed from
3220         `make_builtin_char'; return -1 instead of signal.
3221         (Fdecode_builtin_char): Use `decode_builtin_char'.
3222
3223         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3224         `make_builtin_char'.
3225         (DECODE_CHAR): Use `decode_builtin_char' instead of
3226         `make_builtin_char'; use mapping table of `chinese-big5' for
3227         `chinese-big5-{1,2}'.
3228
3229 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3230
3231         * text-coding.c (char_encode_big5): New function.
3232         (char_finish_big5): Likewise.
3233         (reset_encoding_stream): Use `char_encode_big5' and
3234         `char_finish_big5' for CODESYS_BIG5.
3235         (mule_encode): Don't use `encode_coding_big5'.
3236         (encode_coding_big5): Deleted.
3237
3238 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3239
3240         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3241         0x81- in XEmacs UTF-2000.
3242         (detect_coding_big5): Likewise.
3243
3244 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3245
3246         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3247         generate character-id if the CCS property does not have
3248         corresponding predefined character.
3249         (make_builtin_char): Return -1 if corresponding predefined
3250         character is not found.
3251         (Fdecode_char): Return nil if corresponding character is not
3252         found.
3253         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3254         don't map to builtin ucs space.
3255
3256 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3257
3258         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3259         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3260
3261 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3262
3263         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3264         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3265         (Qideograph_gt): Likewise.
3266         (Qideograph_gt_pj_{1..11}): Likewise.
3267         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3268         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3269         `ideograph-gt-pj-11'.
3270         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3271         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3272         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3273
3274         * char-ucs.h (LEADING_BYTE_GT): New macro.
3275         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3276         (MIN_CHAR_GT): Likewise.
3277         (MAX_CHAR_GT): Likewise.
3278
3279 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3280
3281         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3282         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3283
3284         * doprnt.c (unsigned_int_converters): Add `c'.
3285         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3286
3287         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3288         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3289         `MIN_CHAR_MOJIKYO'.
3290         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3291         (MAX_CHAR_MOJIKYO_0): New macro.
3292         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3293
3294 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3295
3296         * mule-charset.c (Fdefine_char): Delete cemented out code.
3297         (encode_builtin_char_1): Modify for new allocation of builtin
3298         Mojikyo characters.
3299
3300         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3301
3302 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3303
3304         * mule-charset.c (Vcharset_ucs_cns): New variable.
3305         (Qucs_cns): New variable.
3306         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3307         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3308
3309 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3310
3311         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3312
3313 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3314
3315         * search.c (search_buffer): Make `charset_base_code' as
3316         character-id >> 6 to eliminate the corresponding last byte in
3317         UTF-8 representation [I'm not sure it is right thing].
3318         (boyer_moore): Likewise.
3319
3320 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3321
3322         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3323         representation in MULE.
3324
3325 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3326
3327         * text-coding.c (Fmake_coding_system): Use
3328         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3329         `EXTERNAL_PROPERTY_LIST_LOOP'.
3330
3331 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3332
3333         * text-coding.c (decode_output_utf8_partial_char): New function.
3334         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3335
3336 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3337
3338         * text-coding.c (decode_coding_utf8): Output original byte
3339         sequence if it is broken; change order of conditions.
3340
3341         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3342         of conditions.
3343
3344         * mb-multibyte.h (BYTE_ASCII_P):
3345         Use bit ops for char-signedness safety.
3346         (BYTE_C0_P): Use bit ops for char-signedness safety.
3347         (BYTE_C1_P): Use bit ops for char-signedness safety.
3348
3349         * character.h: (XCHAR_OR_CHAR_INT):
3350         Always use inline function.
3351         Remove redundant type checking assert() - XINT will abort quite
3352         nicely.
3353
3354 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3355
3356         * text-coding.c: (Fencode_shift_jis_char):
3357         (Fencode_big5_char):
3358         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3359         Replace 0 with '\0' when working with bytes.
3360         Replace initial "(" with "\(" in docstrings.
3361
3362         (Fmake_coding_system):
3363         When type is ccl and value is vector, register it with a proper
3364         symbol.  And checks whether the given ccl program is valid.
3365         (mule_decode): When calling ccl_driver, if src indicates
3366         NULL pointer, set an empty string instead.
3367         (mule_encode): Likewise.
3368
3369         (detect_eol_type):
3370         (detect_coding_sjis):
3371         (decode_coding_sjis):
3372         (detect_coding_big5):
3373         (decode_coding_big5):
3374         (detect_coding_ucs4):
3375         (decode_coding_ucs4):
3376         (detect_coding_utf8):
3377         (decode_coding_utf8):
3378         (detect_coding_iso2022):
3379         (decode_coding_iso2022):
3380         (decode_coding_no_conversion):
3381         (mule_decode):
3382         Make all detecting and decoding functions take an Extbyte * arg.
3383         (text_encode_generic):
3384         (encode_coding_big5):
3385         (encode_coding_no_conversion):
3386         (mule_encode):
3387         Make all encoding functions take a Bufbyte * arg.
3388         Use size_t instead of unsigned int for memory sizes.
3389         Only cast to unsigned char whenever dereferencing Extbyte *.
3390
3391         (struct lrecord_description fcd_description_1): Use countof.
3392         (complex_vars_of_file_coding):
3393         Use countof instead of sizeof.
3394         Use CHECK_NATNUM instead of CHECK_INT.
3395
3396 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3397
3398         * mule-charset.c (Fget_char_attribute): Add new optional argument
3399         `default-value'.
3400         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3401         (remove_char_ccs): Likewise.
3402
3403 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3404
3405         * text-coding.c (char_encode_shift_jis): New implementation in
3406         UTF-2000.
3407         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3408         ...)'.
3409
3410         * mule-charset.c (Vcharset_chinese_big5): New variable in
3411         UTF-2000.
3412         (Qchinese_big5): New variable in UTF-2000.
3413         (BIG5_SAME_ROW): New macro in UTF-2000.
3414         (make_builtin_char): Use builtin characters of
3415         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3416         characters of `Vcharset_chinese_big5'.
3417         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3418         (complex_vars_of_mule_charset): Add new coded-charset
3419         `chinese-big5' in UTF-2000.
3420
3421         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3422         (Vcharset_chinese_big5): New external variable declaration.
3423         (Vcharset_japanese_jisx0208_1990): Likewise.
3424
3425 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3426
3427         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3428         function.
3429         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3430
3431 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3432
3433         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3434         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3435         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3436         `mojikyo-pj-*'.
3437
3438 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3439
3440         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3441
3442 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3443
3444         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3445         to 0.17.
3446
3447 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3448
3449         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3450         for `CHARSET_BY_ATTRIBUTES'.
3451         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3452         `CHARSET_BY_ATTRIBUTES'.
3453
3454         * text-coding.c (struct decoding_stream): Rename member `CH' to
3455         `CPOS'.
3456         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3457         (decode_coding_sjis): Likewise.
3458         (decode_coding_big5): Likewise.
3459         (decode_coding_ucs4): Likewise.
3460         (decode_coding_utf8): Likewise.
3461         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3462         `CHARSET_BY_ATTRIBUTES'.
3463         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3464         `str->counter'; decode 3, 4 bytes sets.
3465         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3466         sets.
3467         (decode_coding_no_conversion): Use `str->cpos' instead of
3468         `str->ch'.
3469
3470         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3471         (Qmojikyo_2022_1): New variable.
3472         (make_charset): Don't use `CHARSET_TYPE_*'.
3473         (range_charset_code_point): Support coded-charset
3474         `mojikyo-2022-1'.
3475         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3476         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3477         `CHARSET_BY_ATTRIBUTES'.
3478         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3479         `CHARSET_BY_ATTRIBUTES'.
3480         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3481         (complex_vars_of_mule_charset): Add new coded-charset
3482         `mojikyo-2022-1'.
3483
3484         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3485         interface; changed to inline function.
3486
3487         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3488         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3489         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3490         (CHARSET_TYPE_94): Deleted.
3491         (CHARSET_TYPE_94X94): Deleted.
3492         (CHARSET_TYPE_96): Deleted.
3493         (CHARSET_TYPE_96X96): Deleted.
3494         (CHARSET_TYPE_128): Deleted.
3495         (CHARSET_TYPE_128X128): Deleted.
3496         (CHARSET_TYPE_256): Deleted.
3497         (CHARSET_TYPE_256X256): Deleted.
3498         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3499         to inline function.
3500         (DECODE_MOJIKYO_2022): New inline function.
3501         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3502         `Vcharset_mojikyo_2022_1'.
3503
3504 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3505
3506         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3507         instead of `EQ'.
3508         (put_byte_table): Likewise.
3509         (char_id_table_equal): Use `get_byte_table' [new implementation].
3510
3511 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3512
3513         * mule-charset.c: Include <limits.h> in UTF-2000.
3514         (BT_UINT8_MIN): New macro in UTF-2000.
3515         (BT_UINT8_MAX): New macro in UTF-2000.
3516         (BT_UINT8_t): New macro in UTF-2000.
3517         (BT_UINT8_nil): New macro in UTF-2000.
3518         (BT_UINT8_unbound): New macro in UTF-2000.
3519         (INT_UINT8_P): New inline function in UTF-2000.
3520         (UINT8_VALUE_P): New inline function in UTF-2000.
3521         (UINT8_ENCODE): New inline function in UTF-2000.
3522         (UINT8_DECODE): New inline function in UTF-2000.
3523         (mark_uint8_byte_table): New function in UTF-2000.
3524         (print_uint8_byte_table): New function in UTF-2000.
3525         (uint8_byte_table_equal): New function in UTF-2000.
3526         (uint8_byte_table_hash): New function in UTF-2000.
3527         (make_uint8_byte_table): New function in UTF-2000.
3528         (uint8_byte_table_same_value_p): New function in UTF-2000.
3529         (BT_UINT16_MIN): New macro in UTF-2000.
3530         (BT_UINT16_MAX): New macro in UTF-2000.
3531         (BT_UINT16_t): New macro in UTF-2000.
3532         (BT_UINT16_nil): New macro in UTF-2000.
3533         (BT_UINT16_unbound): New macro in UTF-2000.
3534         (INT_UINT16_P): New inline function in UTF-2000.
3535         (UINT16_VALUE_P): New inline function in UTF-2000.
3536         (UINT16_ENCODE): New inline function in UTF-2000.
3537         (UINT16_DECODE): New inline function in UTF-2000.
3538         (UINT8_TO_UINT16): New inline function in UTF-2000.
3539         (mark_uint16_byte_table): New function in UTF-2000.
3540         (print_uint16_byte_table): New function in UTF-2000.
3541         (uint16_byte_table_equal): New function in UTF-2000.
3542         (uint16_byte_table_hash): New function in UTF-2000.
3543         (make_uint16_byte_table): New function in UTF-2000.
3544         (uint16_byte_table_same_value_p): New function in UTF-2000.
3545         (print_byte_table): New function in UTF-2000.
3546         (byte-table): Use `print_byte_table' as printer.
3547         (make_byte_table): Delete second argument `older'.
3548         (byte_table_same_value_p): New function in UTF-2000.
3549         (copy_byte_table): Deleted.
3550         (get_byte_table): New function in UTF-2000.
3551         (put_byte_table): New function in UTF-2000.
3552         (print_char_id_table): New function in UTF-2000.
3553         (char-id-table): Use `print_char_id_table' as printer.
3554         (make_char_id_table): Delete second argument `older'.
3555         (get_char_id_table): Use `get_byte_table [new implementation].
3556         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3557         implementation].
3558         (Ffind_char_attribute_table): New function in UTF-2000.
3559         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3560         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3561         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3562         (syms_of_mule_charset): Add new function
3563         `find-char-attribute-table' in UTF-2000.
3564
3565         * lrecord.h (enum lrecord_type): Add
3566         `lrecord_type_uint16_byte_table' and
3567         `lrecord_type_uint8_byte_table'.
3568
3569         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3570         (Lisp_Uint8_Byte_Table): New type.
3571         (XUINT8_BYTE_TABLE): New macro.
3572         (XSETUINT8_BYTE_TABLE): New macro.
3573         (UINT8_BYTE_TABLE_P): New macro.
3574         (GC_UINT8_BYTE_TABLE_P): New macro.
3575         (struct Lisp_Uint16_Byte_Table): New structure.
3576         (Lisp_Uint16_Byte_Table): New type.
3577         (XUINT16_BYTE_TABLE): New macro.
3578         (XSETUINT16_BYTE_TABLE): New macro.
3579         (UINT16_BYTE_TABLE_P): New macro.
3580         (GC_UINT16_BYTE_TABLE_P): New macro.
3581
3582 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3583
3584         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3585         (Vcharacter_ideographic_strokes_table): Deleted.
3586         (Vcharacter_total_strokes_table): Deleted.
3587         (Vcharacter_morohashi_daikanwa_table): Deleted.
3588         (Vcharacter_decomposition_table): Deleted.
3589         (Qname): Deleted because it is duplicated.
3590         (Qideographic_radical): Deleted.
3591         (Qideographic_strokes): Deleted.
3592         (Qtotal_strokes): Deleted.
3593         (Qmorohashi_daikanwa): Deleted.
3594         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3595         `ideographic-radical', `ideographic-strokes', `total-strokes',
3596         `morohashi-daikanwa' and `->decomposition'.
3597         (Fget_char_attribute): Likewise.
3598         (Fput_char_attribute): Likewise; use `make-vector' instead of
3599         `make_older_vector' for `->decomposition' value.
3600         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3601         `ideograph-daikanwa'.
3602         (syms_of_mule_charset): Delete builtin symbols `name',
3603         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3604         `morohashi-daikanwa'.
3605         (vars_of_mule_charset): Don't setup
3606         `Vcharacter_ideographic_radical_table',
3607         `Vcharacter_ideographic_strokes_table',
3608         `Vcharacter_total_strokes_table',
3609         `Vcharacter_morohashi_daikanwa_table' and
3610         `Vcharacter_decomposition_table'.
3611
3612 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3613
3614         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3615         `make_older_vector', `make_vector_newer_1' and
3616         `make_vector_newer'.
3617
3618         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3619         `make_older_vector' and `make_vector_newer'.
3620
3621         * config.h.in (HAVE_GGC): New macro.
3622
3623 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3624
3625         * mule-charset.c (struct char_attribute_list_closure): New
3626         structure in UTF-2000.
3627         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3628         (Fchar_attribute_list): Likewise.
3629         (Fset_charset_mapping_table): Use `make_vector_newer'.
3630         (Fdecode_builtin_char): New function in UTF-2000.
3631         (syms_of_mule_charset): Add new function `char-attribute-list' and
3632         `decode-builtin-char' in UTF-2000.
3633
3634         * lisp.h (make_vector_newer): New prototype.
3635
3636         * alloc.c (make_vector_newer_1): New function.
3637         (make_vector_newer): New function.
3638
3639 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3640
3641         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3642         50100)'.
3643
3644 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3645
3646         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3647         (Vcharacter_attribute_table): Deleted.
3648         (Vcharacter_name_table): Deleted.
3649         (put_char_attribute): Deleted.
3650         (remove_char_attribute): Deleted.
3651         (struct char_attribute_alist_closure): New structure.
3652         (add_char_attribute_alist_mapper): New function.
3653         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3654         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3655         (Fget_char_attribute): Likewise.
3656         (Fput_char_attribute): Likewise.
3657         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3658         of `remove_char_attribute'.
3659         (Fdefine_char): Return character.
3660         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3661         and `Vcharacter_name_table'.
3662         (complex_vars_of_mule_charset): Likewise
3663         `Vchar_attribute_hash_table'.
3664
3665 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3666
3667         * character.h (CHARC_CHARSET): New macro.
3668         (CHARC_CHARSET_ID): New macro.
3669         (CHARC_CODE_POINT): New macro.
3670         (CHARC_COLUMNS): New macro.
3671         (CHARC_TO_CHAR): New inline function.
3672         (CHARC_EQ): New inline function.
3673         (CHARC_ASCII_EQ): New inline function.
3674         (CHARC_IS_SPACE): New inline function.
3675         (ASCII_TO_CHARC): New inline function.
3676
3677         * char-ucs.h (encode_char_2): Deleted.
3678         (ENCODE_CHAR): Use `encode_char_1' again.
3679         (breakup_char_1): Likewise.
3680         (CHAR_TO_CHARC): New inline function.
3681
3682         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3683
3684 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3685
3686         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3687         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3688         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3689         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3690         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3691         `CHARC_IS_SPACE'.
3692         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3693
3694         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3695         `CHARC_CODE_POINT'.
3696         (x_output_display_block): Use `CHARC_CHARSET' and
3697         `CHARC_ASCII_EQ'.
3698
3699         * redisplay-tty.c (tty_output_display_block): Use
3700         `CHARC_ASCII_EQ'.
3701         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3702
3703         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3704
3705         * insdel.c (find_charsets_in_charc_string): Use
3706         `CHARC_CHARSET_ID'.
3707         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3708         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3709         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3710         (convert_charc_string_into_malloced_string): Likewise.
3711
3712 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3713
3714         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3715         instead of <Emchar_dynarr *> for buf; use
3716         `convert_bufbyte_string_into_charc_dynarr' instead of
3717         `convert_bufbyte_string_into_emchar_dynarr'; use
3718         `find_charsets_in_charc_string' instead of
3719         `find_charsets_in_emchar_string'.
3720
3721         * redisplay.h:
3722         - Include "character.h".
3723         (struct rune): New member `cglyph'; delete member `chr'.
3724
3725         * redisplay.c (redisplay_text_width_charc_string): New function;
3726         delete `redisplay_text_width_emchar_string'.
3727         (rtw_charc_dynarr): New variable; renamed from
3728         `rtw_emchar_dynarr'.
3729         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3730         `rtw_emchar_dynarr'; use
3731         `convert_bufbyte_string_into_charc_dynarr' instead of
3732         `convert_bufbyte_string_into_emchar_dynarr'; use
3733         `redisplay_text_width_charc_string' instead of
3734         `redisplay_text_width_emchar_string'.
3735         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3736         instead of `rtw_emchar_dynarr'; use
3737         `convert_bufbyte_string_into_charc_dynarr' instead of
3738         `convert_bufbyte_string_into_emchar_dynarr'.
3739         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3740         `redisplay_text_width_charc_string' instead of
3741         `redisplay_text_width_emchar_string'.
3742         (create_text_block): Modify for <struct rune> change.
3743         (generate_formatted_string_db): Likewise.
3744         (create_string_text_block): Likewise.
3745         (pixel_to_glyph_translation): Likewise.
3746
3747         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3748         instead of <const Emchar *>.
3749         (x_text_width): Likewise.
3750         (x_output_display_block): Use <Charc_dynarr *> instead
3751         <Emchar_dynarr *>; modify for <structure rune> change.
3752         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3753         *>.
3754
3755         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3756         <const Emchar *>; use `charc_string_displayed_columns' instead of
3757         `emchar_string_displayed_columns'.
3758         (tty_output_display_block): Use <Charc_dynarr *> instead of
3759         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3760         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3761         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3762         `tty_output_emchar_dynarr_dynarr'.
3763         (tty_output_charc_dynarr): New function; delete
3764         `tty_output_charc_dynarr'.
3765
3766         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3767         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3768         <Emchar_dynarr *> for buf; use
3769         `convert_bufbyte_string_into_charc_dynarr' instead of
3770         `convert_bufbyte_string_into_emchar_dynarr'.
3771
3772         * frame.c (title_string_charc_dynarr): New variable; renamed from
3773         `title_string_emchar_dynarr'.
3774         (generate_title_string): Use `title_string_charc_dynarr' instead
3775         of `title_string_emchar_dynarr'; use
3776         `convert_charc_string_into_malloced_string' instead of
3777         `convert_emchar_string_into_malloced_string'.
3778         (init_frame): Use `title_string_charc_dynarr' instead of
3779         `title_string_emchar_dynarr'.
3780
3781         * console.h:
3782         - Include "character.h".
3783         (struct console_methods): Use <const Charc *> instead of <const
3784         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3785         <Emchar_dynarr *> in output_string_method.
3786
3787         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3788         <Emchar_dynarr *>.
3789
3790         * console-stream.c (stream_text_width): Use <const Charc *>
3791         instead of <const Emchar *>.
3792
3793         * character.h (Charc_dynarr): New type.
3794
3795         * char-ucs.h (structure Charc): New structure; define new type
3796         `Charc'.
3797
3798         * char-lb.h (DECODE_CHAR): New inline function.
3799         (encode_char_1): New inline function.
3800         (ENCODE_CHAR): New macro.
3801         (structure Charc): New structure; define new type `Charc'.
3802
3803         * char-1byte.h (Vcharset_control_1): New macro.
3804         (Vcharset_latin_iso8859_1): New macro.
3805         (DECODE_CHAR): New inline function.
3806         (encode_char_1): New inline function.
3807         (ENCODE_CHAR): New macro.
3808         (structure Charc): New structure; define new type `Charc'.
3809
3810         * insdel.c (find_charsets_in_charc_string): New function; delete
3811         `find_charsets_in_emchar_string'.
3812         (charc_string_displayed_columns): New function; delete
3813         `emchar_string_displayed_columns'.
3814         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3815         `convert_bufbyte_string_into_emchar_dynarr'.
3816         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3817         `convert_charc_string_into_bufbyte_dynarr'.
3818         (convert_charc_string_into_malloced_string): New function; delete
3819         `convert_charc_string_into_malloced_string'.
3820
3821         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3822         `find_charsets_in_emchar_string'.
3823         (charc_string_displayed_columns): New prototype; delete
3824         `emchar_string_displayed_columns'.
3825         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3826         `convert_charc_string_into_bufbyte_dynarr'.
3827         (convert_charc_string_into_malloced_string): New prototype; delete
3828         `convert_charc_string_into_malloced_string'.
3829
3830 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3831
3832         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3833
3834 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3835
3836         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3837
3838         * char-ucs.h: Use <short> for <Charset_ID>.
3839
3840         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3841         <Charset_ID>.
3842
3843 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3844
3845         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3846         to 0.16.
3847
3848 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3849
3850         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3851         variable.
3852         (Qmorohashi_daikanwa): New variable.
3853         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3854         for `morohashi-daikanwa' attribute.
3855         (Fget_char_attribute): Likewise.
3856         (Fput_char_attribute): Likewise.
3857         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3858         has the same value of `ideograph-daikanwa'.
3859         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3860         (vars_of_mule_charset): Setup
3861         `Vcharacter_morohashi_daikanwa_table'.
3862
3863 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3864
3865         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3866         attributes.
3867         (add_charset_to_list_mapper): Add `key' instead of
3868         `XCHARSET_NAME (value)' to return aliases.
3869
3870 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3871
3872         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3873         variable.
3874         (Vcharacter_ideographic_strokes_table): New variable.
3875         (Qideographic_radical): New variable.
3876         (Qideographic_strokes): New variable.
3877         (Fchar_attribute_alist): Use
3878         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3879         attribute; use `Vcharacter_ideographic_strokes_table' for
3880         `ideographic-strokes' attribute.
3881         (Fget_char_attribute): Likewise.
3882         (Fput_char_attribute): Likewise.
3883         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3884         `ideographic-strokes'.
3885         (vars_of_mule_charset): Setup
3886         `Vcharacter_ideographic_radical_table' and
3887         `Vcharacter_ideographic_strokes_table'.
3888
3889 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3890
3891         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3892         (Qtotal_strokes): New variable.
3893         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3894         `total-strokes' attribute.
3895         (Fget_char_attribute): Likewise.
3896         (Fput_char_attribute): Likewise.
3897         (syms_of_mule_charset): Add new symbol `total-strokes'.
3898         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3899
3900 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3901
3902         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3903         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3904         are found.
3905         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3906         `->decomposition' attribute.
3907         (Fput_char_attribute): Likewise.
3908         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3909
3910 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3911
3912         * mule-charset.c (decoding_table_check_elements): New function.
3913         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3914
3915 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3916
3917         * mule-charset.c (Fset_charset_mapping_table): Use
3918         `put_char_ccs_code_point'.
3919
3920 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3921
3922         * mule-charset.c (decoding_table_put_char): New inline function.
3923         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3924
3925 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3926
3927         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3928         (XCHARSET_BYTE_SIZE): New macro.
3929         (decoding_table_remove_char): New inline function.
3930         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3931         `decoding_table_remove_char'.
3932         (remove_char_ccs): Use `decoding_table_remove_char'.
3933         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3934
3935 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3936
3937         * mule-charset.c (Vcharacter_name_table): New variable.
3938         (Qname): New variable.
3939         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3940         attribute.
3941         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3942         `Vcharacter_name_table' for `name' attribute.
3943         (Fremove_char_attribute): Use function `remove_char_ccs'.
3944         (put_char_ccs_code_point): New function.
3945         (remove_char_ccs): New function.
3946         (syms_of_mule_charset): Add new symbol `name'.
3947         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3948
3949 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3950
3951         * mule-charset.c (make_byte_table): Add new argument `older'.
3952         (make_char_id_table): Likewise.
3953         (copy_char_id_table): Comment out because it is not used.
3954         (put_char_id_table): Modify for `make_byte_table'.
3955         (Fput_char_attribute): Make encoding_table as older object;
3956         inherit older bit of `Vcharacter_composition_table'.
3957         (mark_charset): Don't mark `cs->encoding_table'.
3958         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3959         normal object; make `Vcharacter_composition_table' as an older
3960         object; delete staticpro for `Vcharacter_composition_table'; make
3961         `Vcharacter_variant_table' as a normal object.
3962
3963         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3964         (mark_object): Don't check older object in UTF-2000.
3965
3966         * lrecord.h (struct lrecord_header): Add new member `older' in
3967         UTF-2000.
3968         (set_lheader_implementation): Setup `SLI_header->older' in
3969         UTF-2000.
3970         (set_lheader_older_implementation): New macro in UTF-2000.
3971         (OLDER_RECORD_P): New macro in UTF-2000.
3972         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3973         (alloc_older_lcrecord): New prototype in UTF-2000.
3974         (alloc_older_lcrecord_type): New macro in UTF-2000.
3975
3976 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3977
3978         * mule-charset.c (byte_table_description): Use
3979         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3980         (char_id_table_description): Delete bogus `, 1'.
3981         (Fget_char_attribute): Refer encoding_table of each coded-charset
3982         to get value of coded-charset attribute of a character.
3983         (Fput_char_attribute): Use `make_older_vector' instead of
3984         `make_vector'; use encoding_table of each coded-charset to store
3985         value of coded-charset attribute of a character.
3986         (Fremove_char_attribute): Use encoding_table of each coded-charset
3987         to store value of coded-charset attribute of a character.
3988         (mark_charset): Mark `cs->encoding_table'; don't mark
3989         `cs->decoding_table'.
3990         (charset_description): Add description of new member
3991         `encoding_table'.
3992         (make_charset): Initialize `encoding_table'.
3993
3994         * char-ucs.h (struct Lisp_Charset): Add new member
3995         `encoding_table'.
3996         (CHARSET_ENCODING_TABLE): New macro.
3997         (XCHARSET_ENCODING_TABLE): New macro.
3998         (charset_code_point): New implementation.
3999         (encode_char_1): Likewise.
4000
4001         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
4002         (disksave_object_finalization_1): Call finalizers of
4003         `all_older_lcrecords' in UTF-2000.
4004         (make_older_vector): New function in UTF-2000.
4005         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
4006         UTF-2000.
4007
4008         * lisp.h (make_older_vector): New prototype in UTF-2000.
4009
4010 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4011
4012         * lrecord.h (enum lrecord_type): Rename
4013         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
4014
4015         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
4016         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
4017         `get_char_code_table'.
4018
4019         * mule-charset.c (mark_char_id_table): Renamed from
4020         `mark_char_code_table'.
4021         (char_id_table_equal): Renamed from `char_code_table_equal'.
4022         (char_id_table_hash): Renamed from `char_code_table_hash'.
4023         (make_char_id_table): Renamed from `make_char_code_table'.
4024         (copy_char_id_table): Renamed from `copy_char_code_table'.
4025         (get_char_id_table): Renamed from `get_char_code_table'.
4026         (put_char_id_table): Renamed from `put_char_code_table'.
4027         (to_char_id): Renamed from `to_char_code'.
4028
4029         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
4030         `Lisp_Char_Code_Table'.
4031         (char_id_table): Renamed from `char_code_table'.
4032         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
4033         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
4034         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
4035         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
4036         (get_char_id_table): Renamed from `get_char_code_table'.
4037
4038 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4039
4040         * lrecord.h (enum lrecord_type): Rename
4041         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4042
4043         * mule-charset.c (mark_byte_table): Renamed from
4044         `mark_char_byte_table'.
4045         (byte_table_equal): Renamed from `char_byte_table_equal'.
4046         (byte_table_hash): Renamed from `byte_table_hash'.
4047         (make_byte_table): Renamed from `make_byte_table'.
4048         (copy_byte_table): Renamed from `copy_char_byte_table'.
4049
4050         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4051         `Lisp_Char_Byte_Table'.
4052         (byte_table): Renamed from `char_byte_table'.
4053         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4054         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4055         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4056         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4057
4058 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4059
4060         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4061         (dfc_convert_to_internal_format): Likewise.
4062         
4063         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4064         * text-coding.c (Fcoding_system_alias_p): New function.
4065         * text-coding.c (Fcoding_system_aliasee): New function.
4066         * text-coding.c (append_suffix_to_symbol): New function.
4067         * text-coding.c (dangling_coding_system_alias_p): New function.
4068         * text-coding.c (Ffind_coding_system):
4069         * text-coding.c (Fcopy_coding_system):
4070         * text-coding.c (encode_coding_no_conversion):
4071         * text-coding.c (syms_of_file_coding):
4072         * text-coding.c (vars_of_file_coding):
4073         Rewrite coding system alias code.
4074         Allow nested aliases, like symbolic links.
4075         Allow redefinition of coding system aliases.
4076         Prevent existence of dangling coding system aliases.
4077         Eliminate convert_to_external_format.
4078         Eliminate convert_to_internal_format.
4079         
4080         * text-coding.c: Change enum eol_type to eol_type_t.
4081
4082 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4083
4084         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4085         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4086
4087         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4088         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4089
4090 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4091
4092         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4093         `ideograph-daikanwa'.
4094
4095         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4096         (Vcharset_ucs_bmp): Likewise.
4097         (Vcharset_mojikyo): Add new extern variable definition.
4098         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4099         (Vcharset_latin_iso8859_3): Likewise.
4100         (Vcharset_latin_iso8859_4): Likewise.
4101         (Vcharset_latin_iso8859_9): Likewise.
4102         (Vcharset_latin_viscii_lower): Likewise.
4103         (Vcharset_latin_viscii_upper): Likewise.
4104         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4105         `mojikyo' code-point is used to decode.
4106         (encode_char_2): New function [to convert `mojikyo' code-point to
4107         Mojikyo font encoding].
4108         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4109         (breakup_char_1): Likewise.
4110         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4111
4112 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4113
4114         * text-coding.c (Fmake_coding_system): Add document about
4115         `disable-composition' property.
4116
4117 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4118
4119         * text-coding.c (Qdisable_composition): New variable; delete
4120         `Qcomposite'.
4121         (Fmake_coding_system): Add new property `disable-composite';
4122         delete property `composite'.
4123         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4124         instead of `!CODING_SYSTEM_COMPOSITE'.
4125         (syms_of_file_coding): Add new symbol `disable-composition';
4126         delete symbol `composite'.
4127
4128         * file-coding.h (struct Lisp_Coding_System): Add
4129         `disable_composition'; delete `enable_composition'.
4130         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4131         `CODING_SYSTEM_COMPOSITE'.
4132         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4133         `XCODING_SYSTEM_COMPOSITE'.
4134
4135 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4136
4137         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4138         to 0.15.
4139
4140 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4141
4142         * text-coding.c (Qcomposite): New variable.
4143         (Fmake_coding_system): Add new property `composite'.
4144         (struct decoding_stream): Add `combined_char_count',
4145         `combined_chars' and `combining_table' in UTF-2000.
4146         (COMPOSE_FLUSH_CHARS): New macro.
4147         (COMPOSE_ADD_CHAR): New macro.
4148         (reset_decoding_stream): Reset `str->combined_char_count' and
4149         `str->combining_table' in UTF-2000.
4150         (decode_coding_iso2022): Modify for character-decomposition.
4151         (syms_of_file_coding): Add new symbol `composite'.
4152
4153 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4154
4155         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4156         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4157         of `Vcharacter_composition_table' if `->decomposition' property
4158         has only 1 element.
4159         (Qlatin_tcvn5712): New variable.
4160         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4161         (complex_vars_of_mule_charset): Add new coded-charset
4162         `latin-tcvn5712'.
4163
4164         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4165
4166 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4167
4168         * file-coding.h (struct Lisp_Coding_System): Add
4169         `enable_composition'.
4170         (CODING_SYSTEM_COMPOSITE): New macro.
4171         (XCODING_SYSTEM_COMPOSITE): New macro.
4172
4173 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4174
4175         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4176
4177 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4178
4179         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4180         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4181
4182 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4183
4184         * mule-charset.c (Vcharset_mojikyo): New variable.
4185         (Fdefine_char): Don't use coded-charset which does not have
4186         non-builtin character range to allocate character-id.
4187         (Qmojikyo): New variable.
4188         (syms_of_mule_charset): Add new symbol `mojikyo'.
4189         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4190
4191         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4192         (LEADING_BYTE_MOJIKYO): New macro.
4193         (MIN_CHAR_MOJIKYO): New macro.
4194         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4195         (MAX_CHAR_MOJIKYO): New macro.
4196
4197 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4198
4199         * mule-charset.c (remove_char_attribute): Fixed.
4200
4201 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4202
4203         * mule-charset.c (remove_char_attribute): New function.
4204         (Fremove_char_attribute): New function.
4205         (encode_builtin_char_1): Comment out builtin-support for
4206         greek-iso8859-7 and cyrillic-iso8859-5.
4207         (Fdecode_char): Check `code' is an integer.
4208         (syms_of_mule_charset): Add `remove-char-attribute'.
4209         (MIN_CHAR_GREEK): Deleted.
4210         (MAX_CHAR_GREEK): Likewise.
4211         (MIN_CHAR_CYRILLIC): Likewise.
4212         (MAX_CHAR_CYRILLIC): Likewise.
4213         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4214         MAX_CHAR_GREEK for `greek-iso8859-7'.
4215
4216         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4217         (MAX_CHAR_GREEK): Likewise.
4218         (MIN_CHAR_CYRILLIC): Likewise.
4219         (MAX_CHAR_CYRILLIC): Likewise.
4220
4221 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4222
4223         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4224         format is used without `ucs' property.
4225         (Fdecode_char): Fix problem with GR representation.
4226         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4227         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4228
4229 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4230
4231         * mule-charset.c (make_builtin_char): New function.
4232         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4233         (Fset_charset_mapping_table): Modify for new representation of
4234         code-point.
4235         (Fdecode_char): New function.
4236         (syms_of_mule_charset): Add new builtin function `decode-char' in
4237         UTF-2000.
4238
4239         * char-ucs.h (make_builtin_char): New prototype.
4240         (DECODE_CHAR): New inline function.
4241         (MAKE_CHAR): Use `DECODE_CHAR'.
4242
4243 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4244
4245         * text-coding.c (parse_charset_conversion_specs): Use
4246         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4247         `XCHARSET_TYPE'.
4248         (iso2022_designate): Likewise.
4249
4250         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4251         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4252
4253         * mule-charset.c (Vcharset_ucs): New variable.
4254         (print_charset): Change design; use `CHARSET_CHARS' and
4255         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4256         (make_charset): Change signature to specify `chars' and
4257         `dimension' instead of `type'.
4258         (range_charset_code_point): Modify for 256^n-set.
4259         (encode_builtin_char_1): Encode as `ucs' in default.
4260         (Fmake_charset): Modify for `make_charset'.
4261         (Fmake_reverse_direction_charset): Likewise.
4262         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4263         UTF-2000.
4264         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4265         for `make_charset'.
4266
4267         * char-ucs.h (Vcharset_ucs): New variable.
4268         (LEADING_BYTE_UCS): New macro.
4269         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4270         and `chars' to `unsigned short' from `unsigned int'.
4271         (CHARSET_TYPE): Deleted.
4272         (XCHARSET_TYPE): Deleted.
4273
4274 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4275
4276         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4277
4278         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4279         (ENCODE_CHAR): New macro.
4280
4281 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4282
4283         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4284         to 0.14 (Kawachi-Katakami).
4285
4286 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4287
4288         * text-coding.c (char_encode_shift_jis): Modify for
4289         `charset_code_point'.
4290         (char_encode_iso2022): Likewise.
4291
4292         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4293         (integer) instead of list of <Lisp_Object>s (integers) as the
4294         format of code-point of a coded-charset.
4295         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4296         (encode_builtin_char_1): New function; delete
4297         `split_builtin_char'.
4298         (charset_code_point): Return <int> instead of <Lisp_Object>.
4299         (Fsplit_char): Don't use `SPLIT_CHAR'.
4300
4301         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4302         prototype for `split_builtin_char'.
4303         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4304         (charset_code_point): Likewise.
4305         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4306         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4307
4308 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4309
4310         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4311         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4312
4313 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4314
4315         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4316
4317         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4318         (MAX_CHAR_OBS_94x94): Deleted.
4319
4320 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4321
4322         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4323
4324         * char-ucs.h (MAX_CHAR_BMP): New macro.
4325
4326 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4327
4328         * text-coding.c: Sync with r21-2-24.
4329
4330 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4331
4332         * file-coding.c: Modify for UTF-2000.
4333
4334 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4335
4336         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4337         to 0.13 (Takaida).
4338
4339 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4340
4341         * mule-charset.c (split_builtin_char): Delete builtin support for
4342         `katakana-jisx0201'.
4343         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4344         BMP area in builtin representation.
4345
4346         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4347         `Vcharset_katakana_jisx0201'.
4348
4349 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4350
4351         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4352         (Qisolated): New variable.
4353         (Qinitial): New variable.
4354         (Qmedial): New variable.
4355         (Qfinal): New variable.
4356         (Qvertical): New variable.
4357         (Qsmall): New variable.
4358         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4359         `Qvertical' and `Qsmall'.
4360         (Qmojikyo_pj_[1 .. 21]): New variable.
4361         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4362         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4363         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4364         .. 21]'.
4365
4366 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4367
4368         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4369         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4370         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4371
4372 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4373
4374         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4375         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4376         BMP.
4377         (Qjapanese_jisx0208_1990): New variable.
4378         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4379         (complex_vars_of_mule_charset): Add new coded-charset
4380         `japanese-jisx0208-1990'.
4381
4382         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4383         (MIN_CHAR_JIS_X0208_1990): New macro.
4384         (MAX_CHAR_JIS_X0208_1990): New macro.
4385
4386 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4387
4388         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4389         coded-charset is not found.
4390
4391 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4392
4393         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4394         (Fdefine_char): Use `Fmake_char'.
4395
4396 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4397
4398         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4399         (Vcharset_hiragana_jisx0208): Deleted.
4400         (Vcharset_katakana_jisx0208): Deleted.
4401         (Qideograph_daikanwa): New variable.
4402         (Qhiragana_jisx0208): Deleted.
4403         (Qkatakana_jisx0208): Deleted.
4404         (split_builtin_char): Split `ideograph-daikanwa'.
4405         (Fsplit_char): New implementation for UTF-2000.
4406         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4407         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4408         (complex_vars_of_mule_charset): Add new coded-charset
4409         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4410         `katakana-jisx0208'.
4411
4412         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4413         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4414         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4415         (MIN_CHAR_DAIKANWA): New macro.
4416         (MAX_CHAR_DAIKANWA): New macro.
4417
4418 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4419
4420         * data.c (Fstring_to_number): Don't recognize floating point if
4421         base is not 10.
4422
4423 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4424
4425         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4426
4427 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4428
4429         * mule-charset.c (Qsquare): New variable.
4430         (to_char_code): Add `Qsquare'.
4431         (syms_of_mule_charset): Add new symbol `square'.
4432
4433 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4434
4435         * mule-charset.c (Qcircle): New variable.
4436         (to_char_code): Add `Qcircle'.
4437         (syms_of_mule_charset): Add new symbol `circle'.
4438
4439 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4440
4441         * mule-charset.c (Qfont): New variable.
4442         (to_char_code): Add `Qfont'.
4443         (syms_of_mule_charset): Add new symbol `font'.
4444
4445 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4446
4447         * mule-charset.c (Qsub): New variable.
4448         (to_char_code): Add `Qsub'.
4449         (syms_of_mule_charset): Add new symbol `sub'.
4450
4451 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4452
4453         * mule-charset.c (Fput_char_attribute): Convert each element of
4454         VALUE to GL position if ATTRIBUTE is a GR-set,
4455
4456 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4457
4458         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4459         coded-charset is a GR-set.
4460
4461 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4462
4463         * mule-charset.c (Fput_char_attribute): Check each element of
4464         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4465
4466 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4467
4468         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4469         UTF-2000.
4470         (Qethiopic_ucs): New variable in UTF-2000.
4471         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4472         (complex_vars_of_mule_charset): Add new coded-charset
4473         `ethiopic-ucs' in UTF-2000.
4474
4475         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4476         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4477         9)'.
4478         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4479         10)'.
4480         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4481
4482 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4483
4484         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4485         `ascii'.
4486
4487 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4488
4489         * mule-charset.c (Vcharacter_variant_table): New variable.
4490         (Q_ucs): New variable.
4491         (Fchar_variants): New function.
4492         (Fput_char_attribute): Register `->ucs' value to
4493         `Vcharacter_variant_table'.
4494         (syms_of_mule_charset): Add new function `char-variants' and new
4495         symbol `->ucs'.
4496         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4497
4498 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4499
4500         * mule-charset.c (get_char_code_table): Allow negative character
4501         code.
4502         (put_char_code_table): Likewise.
4503         (Vcharacter_composition_table): New variable.
4504         (Q_decomposition): New variable.
4505         (Qwide): New variable.
4506         (Qnarrow): New variable.
4507         (Qcompat): New variable.
4508         (QnoBreak): New variable.
4509         (Qsuper): New variable.
4510         (Qfraction): New variable.
4511         (to_char_code): New function.
4512         (Fget_composite_char): New function.
4513         (Fput_char_attribute): Register `->decomposition' value to
4514         `Vcharacter_composition_table'.
4515         (syms_of_mule_charset): Add new function `get-composite-char', new
4516         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4517         `super' and `fraction'.
4518         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4519
4520 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4521
4522         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4523         character; copy the return value.
4524
4525 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4526
4527         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4528
4529         * mule-charset.c (range_charset_code_point): Must use make_int.
4530         (split_builtin_char): New function.
4531
4532 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4533
4534         * mule-charset.c (char_byte_table): Change name from
4535         "char-code-table" to "char-byte-table".
4536         (mark_char_code_table): New function.
4537         (char_code_table_equal): New function.
4538         (char_code_table_hash): New function.
4539         (char_code_table_description): New constant.
4540         (char_code_table): New type.
4541         (make_char_code_table): New function.
4542         (copy_char_code_table): New function.
4543         (get_char_code_table): Modify for `char_code_table' type.
4544         (put_char_code_table): Likewise.
4545         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4546         (Kashiwara).
4547
4548         * char-ucs.h (char_code_table): New type.
4549         (XCHAR_CODE_TABLE): New macro.
4550         (XSETCHAR_CODE_TABLE): New macro.
4551         (CHAR_CODE_TABLE_P): New macro.
4552         (GC_CHAR_CODE_TABLE_P): New macro.
4553         (struct Lisp_Char_Code_Table): New structure.
4554
4555 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4556
4557         * mule-charset.c (Fmake_charset): Setup byte_offset for
4558         {94|96}^n-set.
4559
4560 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4561
4562         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4563         character.
4564
4565 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4566
4567         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4568         is found.
4569
4570 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4571
4572         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4573         charset, it is regarded as a charset.
4574         (put_char_attribute): New function in UTF-2000.
4575         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4576         charset, mapping-table of the charset is modified.
4577         (Fdefine_char): New function in UTF-2000.
4578         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4579         `Fput_char_attribute'.
4580         (syms_of_mule_charset): Add new function `define-char' and new
4581         symbol `ucs' in UTF-2000.
4582         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4583
4584 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4585
4586         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4587         non-UTF-2000 configuration.
4588
4589 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4590
4591         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4592         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4593
4594         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4595         deleted.
4596         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4597         (Fset_charset_mapping_table): Likewise.
4598
4599         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4600         (CHARSET_ENCODING_TABLE): Delete.
4601         (XCHARSET_ENCODING_TABLE): Delete.
4602         (charset_code_point): New interface.
4603
4604 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4605
4606         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4607         instead of `charset_get_byte1' and `charset_get_byte2'.
4608
4609         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4610         (charset_get_byte2): Deleted.
4611
4612 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4613
4614         * char-ucs.h (SPLIT_CHAR): New inline function.
4615         (breakup_char_1): Use `SPLIT_CHAR'.
4616
4617         * mule-charset.c (range_charset_code_point): New function.
4618         (charset_code_point): New function.
4619
4620         * char-ucs.h (range_charset_code_point): New interface.
4621         (breakup_char_1): Use `range_charset_code_point'.
4622
4623 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4624
4625         * mule-charset.c (Fmake_charset): Delete unused local variable
4626         `code_offset'.
4627
4628         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4629         (breakup_char_1): Find a charset and code-point in
4630         `Vcharacter_attribute_table'.
4631
4632 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4633
4634         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4635         to 0.10 (Yao).
4636
4637 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4638
4639         * mule-charset.c (Vcharacter_attribute_table): New variable.
4640         (Fchar_attribute_alist): New function.
4641         (Fget_char_attribute): New function.
4642         (Fput_char_attribute): New function.
4643         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4644         too.
4645         (syms_of_mule_charset): Add new function `char-attribute-alist',
4646         `get-char-attribute' and `put-char-attribute'.
4647         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4648
4649 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4650
4651         * mule-charset.c (Fmake_charset): Just use
4652         `get_unallocated_leading_byte'.
4653
4654         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4655         sets; don't use final-byte based number for private sets.
4656
4657 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4658
4659         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4660         integer.
4661
4662 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4663
4664         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4665         to 0.9.
4666
4667 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4668
4669         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4670         of `CHAR_LEADING_BYTE' in UTF-2000.
4671
4672         * insdel.c (find_charsets_in_bufbyte_string): Use
4673         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4674         (find_charsets_in_emchar_string): Likewise.
4675
4676         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4677         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4678
4679         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4680         (CHAR_CHARSET_ID): New macro.
4681
4682 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4683
4684         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4685         charset-id - MIN_LEADING_BYTE.
4686         (put_char_table): Likewise.
4687
4688 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4689
4690         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4691         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4692         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4693         (CHARSET_ID_OFFSET): New macro.
4694         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4695         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4696         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4697         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4698         4).
4699         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4700         5).
4701         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4702         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4703         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4704         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4705         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4706
4707 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4708
4709         * mule-charset.c (next_allocated_leading_byte): New variable in
4710         UTF-2000.
4711         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4712         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4713         (get_unallocated_leading_byte): Simply use
4714         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4715         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4716         UTF-2000.
4717
4718         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4719         (MAX_LEADING_BYTE_PRIVATE): New macro.
4720         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4721         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4722
4723 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4724
4725         * mule-charset.c (Fmake_charset): Allocate final-byte based
4726         charset-id for 94-set, 96-set and 94x94-set.
4727
4728 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4729
4730         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4731         ambiguous `else'.
4732         (Fmake_charset): Likewise.
4733         (complex_vars_of_mule_charset): Modify the font registry of
4734         `ucs-bmp' not to match `Ethiopic-Unicode'.
4735
4736 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4737
4738         * mule-charset.c (complex_vars_of_mule_charset): Add font
4739         registory of `ucs-bmp'.
4740
4741 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4742
4743         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4744         coded-charsets in `default-coded-charset-priority-list' when
4745         breaking up a character.
4746
4747         * mule-charset.c (Vcharset_latin_viscii): New variable.
4748         (Qlatin_viscii): New variable.
4749         (make_charset): Don't use `decoding_table'.
4750         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4751         byte_offset.
4752         (Fset_charset_mapping_table): New implementation.
4753         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4754         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4755         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4756         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4757         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4758         charset `latin_viscii'.
4759
4760         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4761         (CHARSET_TYPE_94X94): Change to 1 from 2.
4762         (CHARSET_TYPE_96): Change to 2 from 1.
4763         (CHARSET_TYPE_128): New macro.
4764         (CHARSET_TYPE_128X128): Change to 5 from 4.
4765         (CHARSET_TYPE_256): New macro.
4766         (CHARSET_TYPE_256X256): Change to 7 from 5.
4767         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4768
4769 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4770
4771         * text-coding.c (char_encode_shift_jis): Refer
4772         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4773         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4774
4775         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4776         (char_byte_table_equal): New function in UTF-2000.
4777         (char_byte_table_hash): New function in UTF-2000.
4778         (char_byte_table_description): New constant in UTF-2000.
4779         (char_byte_table): New type in UTF-2000.
4780         (make_char_byte_table): New function in UTF-2000.
4781         (copy_char_byte_table): New function in UTF-2000.
4782         (make_char_code_table): New macro in UTF-2000.
4783         (get_char_code_table): New function in UTF-2000.
4784         (put_char_code_table): New function in UTF-2000.
4785         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4786         (charset_description): Add setting in UTF-2000.
4787         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4788         `CHARSET_TO_BYTE1_TABLE(cs)'.
4789         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4790         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4791         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4792         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4793         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4794         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4795         `CHARSET_TO_BYTE2_TABLE(cs)'.
4796
4797         * char-ucs.h (char_byte_table): New type.
4798         (XCHAR_BYTE_TABLE): New macro.
4799         (XSETCHAR_BYTE_TABLE): New macro.
4800         (CHAR_BYTE_TABLE_P): New macro.
4801         (GC_CHAR_BYTE_TABLE_P): New macro.
4802         (struct Lisp_Char_Byte_Table): New structure.
4803         (get_char_code_table): New interface.
4804         (Emchar_to_byte_table): Deleted.
4805         (get_byte_from_character_table): Deleted.
4806         (struct Lisp_Charset): Add `encoding_table'; delete
4807         `to_byte1_table' and `to_byte2_table'.
4808         (CHARSET_ENCODING_TABLE): New macro.
4809         (CHARSET_TO_BYTE1_TABLE): Deleted.
4810         (CHARSET_TO_BYTE2_TABLE): Deleted.
4811         (XCHARSET_ENCODING_TABLE): New macro.
4812         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4813         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4814
4815 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4816
4817         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4818         `vietnamese-viscii-*'.
4819
4820 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4821
4822         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4823         (Qvietnamese_viscii_upper): New variable.
4824         (Fdefine_charset_alias): New function.
4825         (syms_of_mule_charset): Add new function `define-charset-alias'.
4826         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4827         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4828         `latin-viscii-*'.
4829
4830 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4831
4832         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4833         (MAX_CHAR_OBS_94x94): New macro.
4834         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4835         for 94x94 sets.
4836
4837         * mule-charset.c (put_byte_from_character_table): Change unit size
4838         from 128 to 256.
4839         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4840         not defined.
4841         (Fmake_reverse_direction_charset): Modify dummy argument of
4842         `make_charset' for non-UTF-2000 environment.
4843
4844 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4845
4846         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4847
4848         * mule-charset.c (destroy_byte_from_character_table): New macro.
4849         (latin_jisx0201_to_ucs): Deleted.
4850         (latin_iso8859_2_to_ucs): Deleted.
4851         (latin_iso8859_3_to_ucs): Deleted.
4852         (latin_iso8859_4_to_ucs): Deleted.
4853         (latin_iso8859_9_to_ucs): Deleted.
4854         (latin_viscii_lower_to_ucs): Deleted.
4855         (latin_viscii_upper_to_ucs): Deleted.
4856         (mark_charset): Mark `cs->decoding_table'.
4857         (Fcharset_mapping_table): Fix DOC-string.
4858         (Fset_charset_mapping_table): New function.
4859         (syms_of_mule_charset): Add nwe function
4860         `set-charset-mapping-table'.
4861         (complex_vars_of_mule_charset): Don't setup and use
4862         `latin_*_to_ucs'.
4863
4864 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4865
4866         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4867         charset.
4868
4869 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4870
4871         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4872         (Vcharset_katakana_jisx0208): New variable.
4873         (Qhiragana_jisx0208): New variable.
4874         (Qkatakana_jisx0208): New variable.
4875         (make_charset): Add new argument `byte_offset'.
4876         (charset_get_byte1): Modify for new coded-charset definition; use
4877         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4878         `XCHARSET_BYTE_OFFSET'.
4879         (Fmake_charset): Modify for `make_charset'.
4880         (Fmake_reverse_direction_charset): Likewise.
4881         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4882         `katakana-jisx0208'.
4883         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4884         `.'  in font registry of charset `katakana-jisx0201',
4885         `latin-jisx0201', `vietnamese-viscii-lower' and
4886         `vietnamese-viscii-upper'; modify DOC-string of charset
4887         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4888         registry of charset `japanese-jisx0208' not to use font for JIS
4889         X0208:1990; add new charset `hiragana-jisx0208' and
4890         `katakana-jisx0208'.
4891
4892         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4893         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4894         (struct Lisp_Charset): Add `byte_offset'.
4895         (CHARSET_BYTE_OFFSET): New macro.
4896         (XCHARSET_UCS_MIN): New macro.
4897         (XCHARSET_UCS_MAX): New macro.
4898         (XCHARSET_CODE_OFFSET): New macro.
4899         (XCHARSET_BYTE_OFFSET): New macro.
4900         (MIN_CHAR_HIRAGANA): New macro.
4901         (MAX_CHAR_HIRAGANA): New macro.
4902         (MIN_CHAR_KATAKANA): New macro.
4903         (MAX_CHAR_KATAKANA): New macro.
4904         (MAKE_CHAR): Modify for new coded-charset definition; use
4905         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4906         `XCHARSET_BYTE_OFFSET'.
4907
4908 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4909
4910         * mule-charset.c (CHAR96): Deleted.
4911         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4912         <Lisp_Object>.
4913         (latin_iso8859_2_to_ucs): Likewise.
4914         (latin_iso8859_3_to_ucs): Likewise.
4915         (latin_iso8859_4_to_ucs): Likewise.
4916         (latin_iso8859_9_to_ucs): Likewise.
4917         (latin_viscii_lower_to_ucs): Likewise.
4918         (latin_viscii_upper_to_ucs): Likewise.
4919         (latin_tcvn5712_to_ucs): Commented out.
4920         (make_charset): Change type of argument `decoding_table' from
4921         <Emchar*> to <Lisp_Object> [vector of characters].
4922         (Fmake_charset): Modify for `make_charset'.
4923         (Fmake_reverse_direction_charset): Likewise.
4924         (Fcharset_mapping_table): New function in UTF-2000.
4925         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4926         UTF-2000.
4927         (complex_vars_of_mule_charset): Modify for type change of
4928         `*_to_ucs'; modify for `make_charset'.
4929
4930         * char-ucs.h (struct Lisp_Charset): Change type of
4931         `decoding_table' from <Emchar*> to <Lisp_Object>.
4932         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4933
4934 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4935
4936         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4937         error with non-UTF-2000-Mule.
4938
4939 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4940
4941         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4942         in lisp again].
4943         (Vcharset_chinese_cns11643_4): Likewise.
4944         (Vcharset_chinese_cns11643_5): Likewise.
4945         (Vcharset_chinese_cns11643_6): Likewise.
4946         (Vcharset_chinese_cns11643_7): Likewise.
4947         (Qchinese_cns11643_3): Likewise.
4948         (Qchinese_cns11643_4): Likewise.
4949         (Qchinese_cns11643_5): Likewise.
4950         (Qchinese_cns11643_6): Likewise.
4951         (Qchinese_cns11643_7): Likewise.
4952         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4953         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4954         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4955         (complex_vars_of_mule_charset): Likewise.
4956
4957 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4958
4959         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4960         96-set.
4961         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4962         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4963
4964 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4965
4966         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4967         0xFF60.
4968         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4969         (breakup_char_1): Likewise.
4970
4971         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4972         one of them includes the specified character.
4973
4974 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4975
4976         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4977
4978 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4979
4980         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4981
4982 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4983
4984         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4985         definition for non-UTF-2000 Mule.
4986         (latin_iso8859_3_to_ucs): Likewise.
4987         (latin_iso8859_4_to_ucs): Likewise.
4988         (latin_iso8859_9_to_ucs): Likewise.
4989         (latin_jisx0201_to_ucs): Likewise.
4990         (MIN_CHAR_THAI): Likewise.
4991         (MAX_CHAR_THAI): Likewise.
4992         (MIN_CHAR_GREEK): Likewise.
4993         (MAX_CHAR_GREEK): Likewise.
4994         (MIN_CHAR_HEBREW): Likewise.
4995         (MAX_CHAR_HEBREW): Likewise.
4996         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4997         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4998         (MIN_CHAR_CYRILLIC): Likewise.
4999         (MAX_CHAR_CYRILLIC): Likewise.
5000
5001 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
5002
5003         * char-ucs.h (breakup_char_1): Use
5004         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
5005         thai-tis620 and katakana-jisx0201 area.
5006
5007 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5008
5009         * char-ucs.h (breakup_char_1): Use
5010         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
5011         area.
5012
5013         * text-coding.c (reset_encoding_stream): Fixed.
5014         (char_encode_ucs4): Delete `& 255'.
5015
5016         * char-ucs.h (breakup_char_1): Use
5017         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
5018
5019 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5020
5021         * file-coding.c (Fmake_coding_system): Don't set up
5022         `codesys->fixed.size'.
5023         (encode_coding_no_conversion): Don't refer
5024         `str->codesys->fixed.size'.
5025
5026 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5027
5028         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
5029         (latin_a_char_to_byte1): Deleted.
5030         (latin_a_char_to_byte2): Deleted.
5031
5032 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5033
5034         * mule-charset.c (make_charset): Add new argument `ucs_min',
5035         `ucs_max' and `code_offset'.
5036         (charset_get_byte1): New implementation [delete specific charset
5037         depended implementations].
5038         (Fmake_charset): Modify for `make_charset'.
5039         (Fmake_reverse_direction_charset): Likewise.
5040         (complex_vars_of_mule_charset): Likewise.
5041
5042         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5043         `code_offset'.
5044         (CHARSET_UCS_MIN): New macro.
5045         (CHARSET_UCS_MAX): New macro.
5046         (CHARSET_CODE_OFFSET): New macro.
5047         (MAKE_CHAR): Delete charset depended definitions [except
5048         katakana-jisx0201].
5049
5050 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5051
5052         * char-ucs.h (breakup_char_1): Use
5053         `Vdefault_coded_charset_priority_list' for C0-Controls,
5054         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5055
5056 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5057
5058         * char-ucs.h (charset_get_byte1): New function.
5059         (XCHARSET_GET_BYTE1): Deleted.
5060         (charset_get_byte2): New function.
5061         (XCHARSET_GET_BYTE2): Deleted.
5062         (Vdefault_coded_charset_priority_list): New external variable.
5063         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5064         `Vdefault_preferred_coded_charset_list'.
5065
5066         * mule-charset.c (charset_get_byte1): New function.
5067         (charset_get_byte2): New function.
5068         (Vdefault_coded_charset_priority_list): New variable.
5069         (vars_of_mule_charset): Add new variable
5070         `default-coded-charset-priority-list'.
5071
5072 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5073
5074         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5075         (XCHARSET_GET_BYTE2): New inline function.
5076         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5077         `XCHARSET_GET_BYTE2'.
5078
5079 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5080
5081         * mule-charset.c (make_charset): Initialize
5082         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5083         NULL if table is not defined.
5084
5085 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5086
5087         * text-coding.c (char_encode_shift_jis): Use
5088         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5089         `ucs_to_latin_jisx0201'.
5090
5091         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5092         (ucs_to_latin_iso8859_2): Deleted.
5093         (ucs_to_latin_iso8859_3): Deleted.
5094         (ucs_to_latin_iso8859_4): Deleted.
5095         (ucs_to_latin_iso8859_9): Deleted.
5096         (ucs_to_latin_viscii_lower): Deleted.
5097         (ucs_to_latin_viscii_upper): Deleted.
5098         (ucs_to_latin_tcvn5712): Deleted.
5099         (make_charset): Add new argument `decoding_table'; set up
5100         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5101         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5102         `decoding_table' is defined in UTF-2000.
5103         (Fmake_charset): Modify for `make_charset'.
5104         (Fmake_reverse_direction_charset): Likewise.
5105         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5106         and `GENERATE_96_SET'.
5107
5108         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5109         (ucs_to_latin_jisx0201): Deleted.
5110         (latin_iso8859_2_to_ucs): Deleted.
5111         (ucs_to_latin_iso8859_2): Deleted.
5112         (latin_iso8859_3_to_ucs): Deleted.
5113         (ucs_to_latin_iso8859_3): Deleted.
5114         (latin_iso8859_4_to_ucs): Deleted.
5115         (ucs_to_latin_iso8859_4): Deleted.
5116         (latin_iso8859_9_to_ucs): Deleted.
5117         (ucs_to_latin_iso8859_9): Deleted.
5118         (latin_viscii_lower_to_ucs): Deleted.
5119         (ucs_to_latin_viscii_lower): Deleted.
5120         (latin_viscii_upper_to_ucs): Deleted.
5121         (ucs_to_latin_viscii_upper): Deleted.
5122         (struct Lisp_Charset): Renamed `encoding_table' to
5123         `to_byte1_table'; add `to_byte2_table'.
5124         (CHARSET_DECODING_TABLE): New macro.
5125         (CHARSET_TO_BYTE1_TABLE): New macro.
5126         (CHARSET_TO_BYTE2_TABLE): New macro.
5127         (XCHARSET_DECODING_TABLE): New macro.
5128         (XCHARSET_TO_BYTE1_TABLE): New macro.
5129         (XCHARSET_TO_BYTE2_TABLE): New macro.
5130         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5131         tables.
5132         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5133         don't use `ucs_to_*' tables.
5134
5135 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5136
5137         * text-coding.c (Fmake_coding_system): Don't set up
5138         `codesys->fixed.size'.
5139         (encode_coding_no_conversion): Use `if' instead of `switch'.
5140
5141         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5142
5143 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5144
5145         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5146         (Fmake_charset): Modify for `make_charset'.
5147         (Fmake_reverse_direction_charset): Likewise.
5148         (complex_vars_of_mule_charset): Likewise.
5149
5150 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5151
5152         * text-coding.c (char_encode_shift_jis): Use table
5153         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5154
5155 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5156
5157         * text-coding.c (text_encode_generic): Use `if' instead of
5158         `switch'.
5159         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5160         decode JIS-Latin.
5161
5162 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5163
5164         * text-coding.c (encode_coding_sjis): Deleted.
5165         (char_encode_shift_jis): New function.
5166         (char_finish_shift_jis): New function.
5167         (reset_encoding_stream): Set up `encode_char' and `finish' for
5168         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5169         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5170         (char_encode_utf8): Treat `eol_type'.
5171
5172 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5173
5174         * file-coding.c (decode_coding_iso2022): Use
5175         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5176
5177 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5178
5179         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5180         to 0.7 (Hirano).
5181
5182 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5183
5184         * char-lb.h (CHAR_COLUMNS): New macro.
5185
5186 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5187
5188         * text-coding.c (char_encode_ucs4): New function.
5189         (char_finish_ucs4): New function.
5190         (encode_coding_ucs4): Deleted.
5191         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5192         (text_encode_generic): Delete local variable `charset' and `half'.
5193         (ucs_to_mule_table): Deleted.
5194         (mule_to_ucs_table): Deleted.
5195         (Fset_ucs_char): Deleted.
5196         (ucs_to_char): Deleted.
5197         (Fucs_char): Deleted.
5198         (Fset_char_ucs): Deleted.
5199         (Fchar_ucs): Deleted.
5200         (decode_ucs4): Deleted.
5201         (mule_char_to_ucs4): Deleted.
5202         (encode_ucs4): Deleted.
5203         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5204         (decode_coding_utf8): Likewise.
5205         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5206         (char_encode_iso2022): Fixed.
5207         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5208         `Fset_char_ucs' and `Fchar_ucs'.
5209         (complex_vars_of_file_coding): Don't initialize
5210         `ucs_to_mule_table'.
5211
5212         * objects-tty.c (tty_initialize_font_instance): Don't use
5213         `XCHARSET_COLUMNS'.
5214
5215         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5216         UTF-2000.
5217
5218         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5219         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5220
5221         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5222         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5223         (emchar_string_displayed_columns): Likewise.
5224
5225         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5226         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5227         (string_column_at_point): Likewise.
5228         (Fmove_to_column): Likewise.
5229
5230         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5231         `encoding_table' and `decoding_table'.
5232         (CHARSET_REP_BYTES): Deleted.
5233         (XCHARSET_REP_BYTES): Deleted.
5234         (XCHARSET_COLUMNS): Deleted.
5235         (CHAR_COLUMNS): New macro.
5236         (lookup_composite_char): Deleted unconditionally.
5237         (composite_char_string): Likewise.
5238
5239 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5240
5241         * char-ucs.h (Emchar_to_byte_table): New type.
5242         (get_byte_from_character_table): New function interface.
5243         (Vcharset_latin_jisx0201): New variable.
5244         (latin_jisx0201_to_ucs): New variable.
5245         (ucs_to_latin_jisx0201): New variable.
5246         (Vcharset_latin_iso8859_2): New variable.
5247         (latin_iso8859_2_to_ucs): New variable.
5248         (ucs_to_latin_iso8859_2): New variable.
5249         (Vcharset_latin_iso8859_3): New variable.
5250         (latin_iso8859_3_to_ucs): New variable.
5251         (ucs_to_latin_iso8859_3): New variable.
5252         (Vcharset_latin_iso8859_4): New variable.
5253         (latin_iso8859_4_to_ucs): New variable.
5254         (ucs_to_latin_iso8859_4): New variable.
5255         (Vcharset_latin_iso8859_9): New variable.
5256         (latin_iso8859_9_to_ucs): New variable.
5257         (ucs_to_latin_iso8859_9): New variable.
5258         (Vcharset_latin_viscii_lower): New variable.
5259         (latin_viscii_lower_to_ucs): New variable.
5260         (ucs_to_latin_viscii_lower): New variable.
5261         (Vcharset_latin_viscii_upper): New variable.
5262         (latin_viscii_upper_to_ucs): New variable.
5263         (ucs_to_latin_viscii_upper): New variable.
5264         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5265         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5266         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5267         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5268         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5269         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5270         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5271         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5272         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5273         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5274
5275         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5276         (Vcharset_latin_viscii_upper): New variable.
5277         (make_byte_from_character_table): New function.
5278         (put_byte_from_character_table): New function.
5279         (get_byte_from_character_table): New function.
5280         (CHAR96): New macro.
5281         (ucs_to_latin_jisx0201): New variable.
5282         (latin_jisx0201_to_ucs): New variable.
5283         (ucs_to_latin_iso8859_2): New variable.
5284         (latin_iso8859_2_to_ucs): New variable.
5285         (ucs_to_latin_iso8859_3): New variable.
5286         (latin_iso8859_3_to_ucs): New variable.
5287         (ucs_to_latin_iso8859_4): New variable.
5288         (latin_iso8859_4_to_ucs): New variable.
5289         (ucs_to_latin_iso8859_9): New variable.
5290         (latin_iso8859_9_to_ucs): New variable.
5291         (ucs_to_latin_viscii_lower): New variable.
5292         (latin_viscii_lower_to_ucs): New variable.
5293         (ucs_to_latin_viscii_upper): New variable.
5294         (latin_viscii_upper_to_ucs): New variable.
5295         (ucs_to_latin_tcvn5712): New variable.
5296         (latin_tcvn5712_to_ucs): New variable.
5297         (Qlatin_viscii_lower): New variable.
5298         (Qlatin_viscii_upper): New variable.
5299         (syms_of_mule_charset): Set up new symbol
5300         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5301         (complex_vars_of_mule_charset): Set up new charset
5302         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5303         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5304         `ucs_to_<CHARSET>' tables.
5305
5306 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5307
5308         * text-coding.c: New file.
5309
5310 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5311
5312         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5313
5314         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5315         (MAKE_CHAR): Modify for `ucs-bmp'.
5316         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5317         non-MULE characters of BMP.
5318
5319 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5320
5321         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5322         to 0.6.
5323
5324 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5325
5326         * lstream.h:
5327         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5328         - Include character.h for `CHAR_ASCII_P'.
5329
5330         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5331
5332         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5333         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5334
5335         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5336         (BYTE_C0_P): Likewise.
5337         (BYTE_C1_P): Likewise.
5338         (Lstream_get_emchar_1): Likewise.
5339         (Lstream_fput_emchar): Likewise.
5340         (Lstream_funget_emchar): Likewise.
5341         (copy_internal_to_external): Likewise.
5342         (copy_external_to_internal): Likewise.
5343
5344         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5345         (BYTE_C0_P): Likewise.
5346         (BYTE_C1_P): Likewise.
5347         (Lstream_get_emchar_1): Likewise.
5348         (Lstream_fput_emchar): Likewise.
5349         (Lstream_funget_emchar): Likewise.
5350         (copy_internal_to_external): Likewise.
5351         (copy_external_to_internal): Likewise.
5352
5353         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5354         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5355
5356         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5357         (BYTE_ASCII_P): Moved to mb-1byte.h.
5358
5359 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5360
5361         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5362
5363         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5364         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5365         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5366         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5367         (VALIDATE_CHARPTR_FORWARD): Likewise.
5368         (simple_charptr_emchar): Moved to mb-multibyte.h.
5369         (simple_set_charptr_emchar): Likewise.
5370         (simple_charptr_copy_char): Likewise.
5371         (non_ascii_charptr_emchar): Likewise.
5372         (non_ascii_set_charptr_emchar): Likewise.
5373         (non_ascii_charptr_copy_char): Likewise.
5374         (charptr_emchar): Moved to mb-*byte.h.
5375         (set_charptr_emchar): Likewise.
5376         (charptr_copy_char): Likewise.
5377
5378         * mb-1byte.h, mb-multibyte.h: New files.
5379
5380 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5381
5382         * mb-utf-8.h (MULTIBYTE): New macro.
5383         (MAX_EMCHAR_LEN): Moved from buffer.h.
5384         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5385
5386         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5387
5388         * mb-lb.h, multibyte.h: New files.
5389
5390         * char-1byte.h (Charset_ID): Moved from buffer.h.
5391         (MIN_LEADING_BYTE): Likewise.
5392         (LEADING_BYTE_ASCII): Likewise.
5393         (NUM_LEADING_BYTES): Likewise.
5394         (CHARSETP): Likewise.
5395         (CHARSET_BY_LEADING_BYTE): Likewise.
5396         (XCHARSET_LEADING_BYTE): Likewise.
5397         (XCHARSET_GRAPHIC): Likewise.
5398         (XCHARSET_COLUMNS): Likewise.
5399         (XCHARSET_DIMENSION): Likewise.
5400         (CHAR_CHARSET): Likewise.
5401         (CHAR_LEADING_BYTE): Likewise.
5402         (BREAKUP_CHAR): Likewise.
5403         (Vcharset_ascii): Likewise.
5404
5405         * buffer.h: Include multibyte.h unconditionally.
5406         (VALID_CHARPTR_P): Moved to multibyte.h.
5407         (ASSERT_VALID_CHARPTR): Likewise.
5408         (REAL_INC_CHARPTR): Likewise.
5409         (REAL_INC_CHARBYTIND): Likewise.
5410         (REAL_DEC_CHARPTR): Likewise.
5411         (INC_CHARPTR): Likewise.
5412         (INC_CHARBYTIND): Likewise.
5413         (DEC_CHARPTR): Likewise.
5414         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5415         (VALIDATE_CHARPTR_FORWARD): Likewise.
5416         (charptr_n_addr): Likewise.
5417         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5418         (simple_charptr_emchar): Moved to multibyte.h.
5419         (simple_set_charptr_emchar): Likewise.
5420         (simple_charptr_copy_char): Likewise.
5421         (non_ascii_charptr_emchar): Likewise.
5422         (non_ascii_set_charptr_emchar): Likewise.
5423         (non_ascii_charptr_copy_char): Likewise.
5424         (charptr_emchar): Likewise.
5425         (set_charptr_emchar): Likewise.
5426         (charptr_copy_char): Likewise.
5427         (charptr_emchar_n): Likewise.
5428         (Charset_ID): Moved to char-1byte.h.
5429         (Vcharset_ascii): Likewise.
5430         (CHAR_CHARSET): Likewise.
5431         (CHAR_LEADING_BYTE): Likewise.
5432         (LEADING_BYTE_ASCII): Likewise.
5433         (NUM_LEADING_BYTES): Likewise.
5434         (MIN_LEADING_BYTE): Likewise.
5435         (CHARSETP): Likewise.
5436         (CHARSET_BY_LEADING_BYTE): Likewise.
5437         (XCHARSET_LEADING_BYTE): Likewise.
5438         (XCHARSET_GRAPHIC): Likewise.
5439         (XCHARSET_COLUMNS): Likewise.
5440         (XCHARSET_DIMENSION): Likewise.
5441         (BREAKUP_CHAR): Likewise.
5442
5443 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5444
5445         * character.h: Add document about interface for characters.
5446
5447         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5448         (MAKE_CHAR): Delete comment about
5449         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5450         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5451         (BREAKUP_CHAR): Modify name of arguments.
5452         (CHAR_CHARSET): Modify name of argument.
5453
5454         * buffer.h: Delete document about Emchar accessors.
5455
5456 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5457
5458         * character.h (CHAR_INTP): Moved from buffer.h
5459         (CHAR_OR_CHAR_INTP): Likewise.
5460         (XCHAR_OR_CHAR_INT): Likewise.
5461         (CHECK_CHAR_COERCE_INT): Likewise.
5462
5463         * buffer.h (CHAR_INTP): Moved to character.h
5464         (CHAR_OR_CHAR_INTP): Likewise.
5465         (XCHAR_OR_CHAR_INT): Likewise.
5466         (CHECK_CHAR_COERCE_INT): Likewise.
5467
5468 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5469
5470         * character.h:
5471         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5472         - Include char-1byte.h, char-lb.h or char-ucs.h.
5473
5474         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5475
5476         * buffer.h: Include character unconditionally.
5477         (valid_char_p): Moved to char-*.h.
5478         (non_ascii_valid_char_p): Moved to char-lb.h.
5479
5480         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5481
5482 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5483
5484         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5485         in UTF-2000 because it is not ported yet and not to use
5486         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5487         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5488         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5489
5490         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5491         (CHAR_ASCII_P): Moved from character.h.
5492
5493         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5494         (CHAR_ASCII_P): Likewise.
5495         (CHAR_FIELD1_MASK): Deleted.
5496         (CHAR_FIELD2_MASK): Deleted.
5497         (CHAR_FIELD3_MASK): Deleted.
5498         (MAX_CHAR_BASIC_LATIN): New macro.
5499         (CHAR_FIELD1): Deleted.
5500         (CHAR_FIELD2_INTERNAL): Deleted.
5501         (CHAR_FIELD3_INTERNAL): Deleted.
5502         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5503         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5504         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5505         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5506         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5507         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5508         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5509         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5510         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5511         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5512         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5513         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5514         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5515         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5516         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5517         (MIN_CHAR_COMPOSITION): Deleted.
5518         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5519         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5520
5521 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5522
5523         * buffer.h: Include mb-utf-8.h in UTF-2000.
5524
5525         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5526
5527         * mb-utf-8.h: New file.
5528
5529 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5530
5531         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5532         instead of `int'.
5533
5534         * mule-charset.h, buffer.h (Charset_ID): New type.
5535
5536 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5537
5538         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5539         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5540         instead of `MULE_CHAR_PRIVATE_OFFSET',
5541         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5542         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5543         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5544
5545         * character.h (Vcharset_japanese_jisx0212): New variable
5546         definition.
5547
5548 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5549
5550         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5551         (charset_by_attributes): Delete array about direction.
5552         (latin_a_char_to_charset): New variable in UTF-2000.
5553         (latin_a_char_to_byte1): New variable in UTF-2000.
5554         (latin_a_char_to_byte2): New variable in UTF-2000.
5555         (Qucs_bmp): New variable.
5556         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5557         `Bufbyte'.
5558         (next_allocated_2_byte_leading_byte): Likewise.
5559         (non_ascii_set_charptr_emchar): Likewise.
5560         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5561         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5562         `charset_by_attributes'.
5563         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5564         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5565         and `CHARSET_BY_LEADING_BYTE'.
5566         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5567         `utf-2000-version' to `vars_of_mule_charset'.
5568         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5569         define `leading-code-private-11' in UTF-2000; move setting of
5570         `utf-2000-version' from `syms_of_mule_charset'.
5571         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5572         UTF-2000.
5573
5574         * character.h (Charset_ID): New type.
5575         (LEADING_BYTE_UCS_BMP): New macro.
5576         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5577         (CHARSET_ID_OFFSET_94): New macro.
5578         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5579         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5580         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5581         final-byte.
5582         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5583         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5584         (CHARSET_ID_OFFSET_96): New macro.
5585         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5586         CHARSET_ID_OFFSET_96 and final-byte.
5587         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5588         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5589         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5590         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5591         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5592         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5593         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5594         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5595         (LEADING_BYTE_THAI_TIS620): Likewise.
5596         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5597         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5598         (CHARSET_ID_OFFSET_94x94): New macro.
5599         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5600         CHARSET_ID_OFFSET_94x94 and final-byte.
5601         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5602         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5603         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5604         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5605         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5606         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5607         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5608         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5609         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5610         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5611         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5612         (CHARSET_TYPE_128X128): New macro.
5613         (CHARSET_TYPE_256X256): New macro.
5614         (XCHARSET_PRIVATE_P): Delete unconditionally.
5615         (charset_by_attributes): Delete array about direction.
5616         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5617         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5618         (MIN_CHAR_94): New macro.
5619         (MAX_CHAR_94): New macro.
5620         (MIN_CHAR_96): New macro.
5621         (MAX_CHAR_96): New macro.
5622         (MIN_CHAR_94x94): New macro.
5623         (MAX_CHAR_94x94): New macro.
5624         (MIN_CHAR_96x96): New macro.
5625         (MAX_CHAR_96x96): New macro.
5626         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5627         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5628         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5629         - 32)'.
5630         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5631         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5632         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5633         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5634         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5635         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5636         `XCHARSET_LEADING_BYTE' to make code-point.
5637         (latin_a_char_to_charset): New variable.
5638         (latin_a_char_to_byte1): New variable.
5639         (latin_a_char_to_byte2): New variable.
5640         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5641         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5642         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5643
5644         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5645         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5646         (find_charsets_in_emchar_string): Likewise.
5647         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5648
5649         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5650         `int'.
5651         (decode_coding_iso2022): Likewise.
5652
5653         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5654         of `unsigned char'.
5655
5656         * redisplay.c (redisplay_text_width_emchar_string): Use
5657         `Charset_ID' instead of `unsigned char'.
5658         (redisplay_frame_text_width_string): Likewise.
5659
5660         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5661         `unsigned char'.
5662
5663         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5664         instead of `unsigned char'.
5665         (face_cachel_charset_font_metric_info): Likewise.
5666
5667         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5668         (get_non_ascii_char_table_value): Likewise.
5669         (get_char_table): Likewise.
5670         (put_char_table): Likewise.
5671         (map_over_other_charset): Likewise.
5672         (map_char_table): Likewise.
5673
5674         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5675         instead of `unsigned char'.
5676
5677 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5678
5679         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5680         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5681
5682         * mule-charset.c (leading_code_private_11): Don't define in
5683         UTF-2000.
5684
5685         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5686         in UTF-2000 because it is not ported yet and not to use
5687         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5688
5689 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5690
5691         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5692
5693 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5694
5695         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5696         in UTF-2000.
5697
5698         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5699         of unsigned char to store leading-byte.
5700
5701         * chartab.c (get_non_ascii_char_table_value): Don't use
5702         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5703
5704         * file-coding.c (encode_coding_big5): Delete bogus implementation
5705         in UTF2000.
5706
5707         * character.h (LEADING_BYTE_*): Delete definition for
5708         non-UTF-2000.
5709         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5710         (LEADING_BYTE_PREFIX_P): Deleted.
5711         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5712         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5713         (BUFBYTE_LEADING_BYTE_P): Deleted.
5714         (CHARSET_PRIVATE_P): Deleted unconditionally.
5715         (rep_bytes_by_first_byte): Deleted unconditionally.
5716         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5717         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5718         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5719         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5720         (CHAR_FIELD2): Deleted.
5721         (CHAR_FIELD3): Deleted.
5722         (MAKE_CHAR): Delete definition for non-UTF-2000.
5723         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5724         (breakup_char_1): New implementation.
5725         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5726         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5727
5728 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5729
5730         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5731         condition.
5732
5733 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5734
5735         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5736         (CHARSET_PRIVATE_P): Likewise.
5737         (XCHARSET_PRIVATE_P): Likewise.
5738         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5739
5740         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5741         UTF2000.
5742         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5743
5744 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5745
5746         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5747         (NUM_LEADING_BYTES): Changed from 128 to 256.
5748         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5749         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5750         UTF2000.
5751         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5752
5753         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5754         UTF2000.
5755         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5756         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5757         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5758         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5759         (Qchinese_cns11643_3): New variable in UTF2000.
5760         (Qchinese_cns11643_4): New variable in UTF2000.
5761         (Qchinese_cns11643_5): New variable in UTF2000.
5762         (Qchinese_cns11643_6): New variable in UTF2000.
5763         (Qchinese_cns11643_7): New variable in UTF2000.
5764         (syms_of_mule_charset): Define `chinese-cns11643-3',
5765         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5766         and `chinese-cns11643-7' in UTF2000.
5767         (vars_of_mule_charset): Initialize
5768         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5769         + 1 in UTF2000.
5770         (complex_vars_of_mule_charset): Setup charset
5771         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5772         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5773
5774 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5775
5776         * mule-charset.c: Move setting for `leading-code-private-11' from
5777         `syms_of_mule_charset' to `vars_of_mule_charset'.
5778
5779 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5780
5781         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5782         and `NUM_LEADING_BYTES' in assert.
5783
5784 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5785
5786         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5787         instead of 128.
5788         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5789         `NUM_LEADING_BYTES' instead of 128.
5790
5791 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5792
5793         * mule-charset.h (charset_by_leading_byte): Use
5794         `NUM_LEADING_BYTES' instead of 128.
5795         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5796
5797         * mule-charset.c (charset_by_leading_byte): Use
5798         `NUM_LEADING_BYTES' instead of 128.
5799         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5800
5801         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5802         128.
5803
5804 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5805
5806         * mule-charset.c (syms_of_mule_charset): Update to
5807         0.4 (Shin-Imamiya).
5808
5809 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5810
5811         * file-coding.c (encode_coding_sjis): New implementation for
5812         UTF2000.  (decode_coding_sjis): Ditto.
5813
5814 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5815
5816         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5817         Don't define in UTF2000.
5818
5819         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5820         defined.
5821
5822         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5823         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5824         MULE.
5825
5826 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5827
5828         * config.h.in (CHAR_IS_UCS4): New macro.
5829
5830         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5831         conventional MULE representation.
5832         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5833
5834         * mule-charset.h: Reverted to original.
5835
5836         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5837         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5838         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5839
5840         * character.h: New file.
5841
5842         * file-coding.c (Fmake_coding_system): Set 1 to
5843         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5844         defined.
5845         (encode_coding_no_conversion): New implementation for UTF2000.
5846
5847         * file-coding.h (struct Lisp_Coding_System): Add new member
5848         `fixed.size'.
5849
5850 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5851
5852         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5853         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5854         (encode_coding_iso2022): New implementation for UTF2000.
5855
5856 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5857
5858         * mule-canna.c (c2mu): New implementation for UTF2000.
5859         (m2c): Likewise.
5860
5861 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5862
5863         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5864
5865 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5866
5867         * file-coding.c (reset_encoding_stream): Set 0 to
5868         `str->iso2022.current_char_boundary' in UTF2000.
5869         (encode_utf8): Don't define in UTF2000.
5870         (encode_coding_utf8): New implementation for UTF-8 representation
5871         of UTF2000.
5872         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5873
5874 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5875
5876         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5877
5878         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5879         UTF2000.
5880         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5881
5882         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5883
5884         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5885         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5886         as UTF-8 in UTF2000.
5887         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5888         (non_ascii_valid_char_p): Don't define in UTF2000.
5889         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5890         (Lstream_get_emchar_1): Likewise.
5891         (utf-2000-version): New variable in UTF2000.
5892
5893         * lread.c (read_escape): Add new reader `u'.
5894
5895         * insdel.c (three_to_one_table): Don't define in UTF2000.
5896         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5897         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5898         UTF2000.
5899         (bytind_to_bufpos_func): Likewise.
5900         (buffer_mule_signal_inserted_region): Likewise.
5901         (vars_of_insdel): Don't initialize `three_to_one_table'.
5902         (init_buffer_text): Use `buf->text->mule_size' instead of
5903         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5904         UTF2000.
5905
5906         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5907         UTF-8 representation in UTF2000.
5908         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5909         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5910         (decode_coding_iso2022): Don't define local variable `lb' in
5911         UTF2000; don't use LEADING_BYTE in UTF2000; use
5912         `DECODE_ADD_UCS_CHAR' in UTF2000.
5913         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5914
5915         * config.h.in (UTF2000): New macro.
5916
5917         * buffer.h (struct buffer_text): Add new member `mule_size' and
5918         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5919         (valid_char_p): Return always 1 in UTF2000.
5920         (MAX_EMCHAR_LEN): 6 in UTF2000.
5921         (three_to_one_table): Don't define in UTF2000.
5922         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5923         UTF2000.
5924         (real_bytind_to_bufpos): Likewise.
5925
5926         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5927
5928 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5929
5930         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5931         representation change.
5932         (Vutf_2000_version): New variable.
5933         (leading_code_private_11): New variable.
5934         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5935         `leading-code-private-11'.
5936
5937         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5938         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5939         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5940         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5941         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5942         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5943         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5944         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5945         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5946         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5947         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5948         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5949         (MIN_CHAR_GREEK): New macro.
5950         (MAX_CHAR_GREEK): New macro.
5951         (MIN_CHAR_CYRILLIC): New macro.
5952         (MAX_CHAR_CYRILLIC): New macro.
5953         (MIN_CHAR_HEBREW): New macro.
5954         (MAX_CHAR_HEBREW): New macro.
5955         (MIN_CHAR_THAI): New macro.
5956         (MAX_CHAR_THAI): New macro.
5957         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5958         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5959         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5960         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5961         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5962         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5963         (CHAR_FIELD2): New inline function.
5964         (CHAR_FIELD3): New inline function.
5965         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5966         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5967         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5968         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5969         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5970         (MIN_CHAR_COMPOSITION): Likewise.
5971         (CHAR_LEADING_BYTE): Modified for character representation change.
5972         (MAKE_CHAR): Likewise.
5973
5974         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5975         (Vcharset_greek_iso8859_7): Likewise.
5976         (Vcharset_cyrillic_iso8859_5): Likewise.
5977         (Vcharset_hebrew_iso8859_8): Likewise.
5978         (Vcharset_thai_tis620): Likewise.
5979         (Vcharset_katakana_jisx0201): Likewise.
5980
5981 2008-12-28  Vin Shelton  <acs@xemacs.org>
5982
5983         * XEmacs 21.4.22 is released
5984
5985 2008-12-27  Vin Shelton  <acs@xemacs.org>
5986
5987         * syswindows.h: Don't define wide character interfaces for Cygwin
5988         1.7 and up.
5989
5990 2008-03-05  Dominique Quatravaux  <domq@cpan.org>
5991
5992         * glyphs-gtk.c: Fixed compilation under gcc 4.x.
5993
5994 2008-11-01  Stephen J. Turnbull  <stephen@xemacs.org>
5995
5996         * regex.c (re_search_2): Fix at_dot by changing charpos to bytepos.
5997         From Julian Bradfield <18654.1143.304851.782755@krk.inf.ed.ac.uk>.
5998
5999 2008-12-25  Vin Shelton  <acs@xemacs.org>
6000
6001         * mule-ccl.c (ccl_driver): Fix off-by-one error.
6002         By Julian Bradfield in
6003         <18691.16568.526264.972026@krk.inf.ed.ac.uk>.
6004
6005         * mule-ccl.c (ccl_driver): 
6006
6007 2007-10-07  Vin Shelton  <acs@xemacs.org>
6008
6009         * XEmacs 21.4.21 is released
6010
6011 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
6012
6013         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
6014
6015 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
6016
6017         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
6018         (png_instantiate): Initialize setjmp_buffer early, and avoid
6019         recursive entry to error handler.
6020
6021 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
6022
6023         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
6024         a typo fix.
6025
6026 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6027
6028         * event-Xt.c (x_reset_modifier_mapping):
6029         * event-gtk.c (gtk_reset_modifier_mapping):
6030         Zero out the device's modifier map once we've freed it, to prevent
6031         a double free on a re-entrant call. 
6032
6033 2007-05-17  Vin Shelton  <acs@xemacs.org>
6034
6035         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6036         64-bit linux.  Patch from Hans de Graaff.
6037
6038 2007-05-02  Vin Shelton  <acs@xemacs.org>
6039
6040         * dumper.c (pdump): Don't close pdump_fd (already closed by
6041         fclose() call.  Patch from Steve Higham.
6042         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6043         already closed.  Patch inspired by Steve Higham.
6044
6045 2007-05-01  Vin Shelton  <acs@xemacs.org>
6046
6047         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6048         (mswindows_fstat): Ditto.
6049         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6050
6051 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6052
6053         * postgresql.c: Update Steve Baur's email address by his request.
6054         * postgresql.h: Ditto.
6055
6056 2007-01-04  Vin Shelton  <acs@xemacs.org>
6057
6058         * fileio.c (check_writable): Check old-style readonly bit only for
6059         non-directories.
6060
6061 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6062
6063         * src/fileio.c (check_writable): 
6064         Cope with the fact that the read-only attribute trumps Windows NTFS
6065         ACLS.
6066
6067
6068 2006-12-09  Vin Shelton  <acs@xemacs.org>
6069
6070         * XEmacs 21.4.20 is released
6071
6072 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6073
6074         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6075         relocated the definitions to be used sooner in file.
6076         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6077         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6078         overflow.
6079
6080 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6081
6082         * sound.c (init_native_sound):
6083         Only X11 and GTK devices can possibly not be on the console of the
6084         associated machine. Fixes a crash when init_native_sound is called
6085         on a msprinter device. 
6086
6087 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6088
6089         * buffer.c (buffer-file-name): Document invariant.
6090         (buffer-file-truename): Sync wording to buffer-file-name.
6091         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6092         and discussion.
6093
6094 2006-11-19  Benson Margulies  <benson@dchbk.us>
6095
6096         * fileio.c: Add code to use full Win32 API to check for write
6097         access.  Win32 has the general design policy that you aren't
6098         supposed to ask this question, since security checks change
6099         depending on asynchronous processes.  Nonetheless, there is a way,
6100         by acting as if we are a server doing interpretive access
6101         control.
6102
6103 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6104
6105         * bytecode.c: Use xnew_array instead of alloca.
6106
6107 2006-07-04  Vin Shelton  <acs@xemacs.org>
6108
6109         * redisplay-msw.c: Fix tiny, but crucial typo.
6110
6111 2006-06-22  Jerry James  <james@xemacs.org>
6112
6113         * EmacsShell-sub.c (ChangeManaged):
6114         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6115         NULL.
6116         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6117         checking if it is NULL.  Also fix a memory leak.
6118         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6119         dereference it, not the other way around.
6120         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6121         overflow check.
6122         * dumper.c (pdump_register_struct): Ditto.
6123         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6124         to (short) warnpath overflow warnpath.
6125         * extents.c (detach_all_extents): Call extent_list_delete_all with
6126         a non-NULL parameter only.
6127         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6128         NULL width and height.
6129         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6130         xic before checking if they are NULL.
6131         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6132         allocated array.
6133         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6134         * nas.c (Err): Fix a memory leak.
6135         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6136         Don't create the buffer if there is nothing to do.
6137         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6138         * redisplay-output.c (redisplay_output_layout): Ditto.
6139         * redisplay-tty.c (tty_output_display_block): Ditto.
6140         * redisplay-x.c (x_output_display_block): Ditto.
6141         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6142         dereference instance->scrollbar_data if it is NULL.
6143         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6144         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6145         for sb->scrollbar_data.
6146         * sound.c (init_native_sound): Avoid a buffer overflow by
6147         allocating a buffer with the appropriate size.
6148
6149 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6150
6151         * EmacsShell-sub.c (RootGeometryManager):
6152         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6153         Based on a suggestion by Francois L'Archeveque.
6154
6155 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6156
6157         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6158         current values found in GNU Emacs.
6159
6160 2006-03-17  Vin Shelton  <acs@xemacs.org>
6161
6162         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6163         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6164
6165         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6166         'hex_initialized' because it conflicts with 'initialized' in
6167         lisp.h.
6168
6169 2006-01-28  Vin Shelton  <acs@xemacs.org>
6170
6171         * XEmacs 21.4.19 is released
6172
6173 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6174
6175         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6176
6177 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6178
6179         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6180         5000 to INT_MAX.
6181
6182 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6183
6184         * database.c: Suppress compiler warning under Cygwin.
6185         * database.c: Removed __FreeBSD__ check, should be handled by
6186         HAVE_U_xxx_T defines.
6187
6188 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6189
6190         * console.c (stuff_buffered_input): Compile body only if
6191         HAVE_TTY.
6192
6193 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6194
6195         * callproc.c: #include sysdir.h, so that any appropriate Mule
6196         magic happens with the chdir() call when calling a subprocess. 
6197
6198 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6199
6200         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6201         * mule-ccl.c: Check that a character set exists before using it
6202         to create a character. 
6203
6204 2005-12-06  Vin Shelton  <acs@xemacs.org>
6205
6206         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6207         to INT_MAX.
6208
6209 2005-12-03  Vin Shelton <acs@xemacs.org>
6210
6211         * XEmacs 21.4.18 is released
6212
6213 2005-11-27  Kean Johnston <kean@armory.com>
6214
6215         * redisplay-tty.c (set_tty_modes):
6216         (reset_tty_modes): disable auto-margins if the terminal supports
6217         them.
6218         (init_tty_for_redisplay): fix cursor shape.
6219
6220 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6221
6222         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6223         for control-1 characters properly, both when reading multibyte
6224         characters and writing them. 
6225
6226 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6227
6228         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6229         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6230         were seeing with incremental selection transfer failing. 
6231
6232 2005-11-26  Vin Shelton  <acs@xemacs.org>
6233
6234         * callproc.c (Fold_call_process_internal): Create the buffer if it
6235         does not already exist.  The original patch came from Ben Wing in
6236         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6237
6238 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6239
6240         * callproc.c: Process-related docstring improvements spurred by
6241         Norbert Koch.
6242
6243 2005-11-25  Vin Shelton  <acs@xemacs.org>
6244
6245         * depend: Regenerated.
6246
6247 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6248
6249         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6250         says it clashes with a global with the same name.
6251
6252 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6253
6254         * sysdll.c (dll_open): Under MacOS X return NULL under the
6255         filename is NULL.  Fixes problems finding local symbols under 10.4
6256         (Tiger)
6257
6258 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6259         
6260         * config.h.in: New HAVE_U_INT*_T defines.
6261         
6262         * database.c: Only use u_int*_t typedefs if not already
6263         defined.
6264
6265 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6266
6267         * src/process-unix.c (unix_open_network_stream): moved
6268           'portbuf' buffer out of an inner block as it is used in the
6269           entire function. With gcc4, the stack may get corrupted
6270           after leaving this block. This patches adjusts the size of
6271           the used buffer also; static '128' bytes are far too much
6272           currently and might not suffice for future architectures
6273           (e.g. for 512 bit ones ;)). Instead of, use only the really
6274           required space (max octets * ln(256)/ln(10) chars + space
6275           for '\0' and the sign)
6276
6277 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6278
6279         * callproc.c: Include sysdir.h, so any necessary Mule processing
6280         is done on the current directory name before starting a new
6281         process.
6282
6283 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6284
6285         * chartab.c (Fchar_table_p):
6286         (Fget_range_char_table):
6287         (Fput_char_table):
6288         (Fmap_char_table):
6289         Describe range representation and fix typo.
6290
6291 2005-02-12  Vin Shelton  <acs@xemacs.org>
6292
6293         * emacs.c (shut_down_emacs): Advise users to send email to the
6294         xemacs-beta list instead of crashes@xemacs.org.
6295
6296 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6297
6298         * process-unix.c (unix_send_process): Flush the last chunk, even
6299         when the pipe is blocked.
6300
6301 2005-02-06  Vin Shelton <acs@xemacs.org>
6302
6303         * XEmacs 21.4.17 is released
6304
6305 2005-01-31  Ben Wing  <ben@xemacs.org>
6306
6307         * emacs.c:
6308         Define assert_failed() always.
6309         * lisp.h:
6310         Always define ABORT().
6311
6312 2005-01-25  Ben Wing  <ben@xemacs.org>
6313
6314         * Makefile.in.in:
6315         * Makefile.in.in (%.o):
6316         Don't compile executable as Windows (-mwindows) under Cygwin.
6317         Semi-recent changes to Cygwin's executable-startup handling make
6318         it impossible to access the TTY this way.
6319
6320         Don't use special linker file under Cygwin (cygwin.sc) except
6321         when non-PDUMP (even in this case it is highly questionable); you
6322         get errors like
6323
6324       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6325    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6326
6327 2005-01-29  Ben Wing  <ben@xemacs.org>
6328
6329         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6330
6331         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6332
6333 2005-01-29  Ben Wing  <ben@xemacs.org>
6334
6335         * bytecode.c (optimize_compiled_function):
6336         * print.c (FROB):
6337         * print.c (long_to_string):
6338         Add casts to avoid warning.
6339         
6340         * glyphs-eimage.c:
6341         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6342         #### The better solution is to move the TIFF and JPEG code to
6343         different files.
6344         
6345         * glyphs-msw.c (mswindows_xbm_instantiate):
6346         Define __STDC__ to avoid problems with compface.h.
6347         
6348         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6349         * EmacsShell-sub.c:
6350         * EmacsShell-sub.c (ABORT):
6351         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6352         * EmacsShell-sub.c (RootGeometryManager):
6353         * EmacsShell.c:
6354         * EmacsShell.c (ABORT):
6355         * EmacsShell.c (EmacsShellUpdateSizeHints):
6356         * alloc.c (free_lcrecord):
6357         * alloca.c (i00afunc):
6358         * buffer.c (delete_from_buffer_alist):
6359         * buffer.c (MARKED_SLOT):
6360         * bytecode.c (execute_rare_opcode):
6361         * bytecode.c (optimize_byte_code):
6362         * bytecode.c (Ffetch_bytecode):
6363         * chartab.c (char_table_type_to_symbol):
6364         * chartab.c (Freset_char_table):
6365         * chartab.c (decode_char_table_range):
6366         * chartab.c (Fget_range_char_table):
6367         * chartab.c (check_valid_char_table_value):
6368         * chartab.c (map_char_table):
6369         * chartab.c (slow_map_char_table_fun):
6370         * chartab.c (chartab_instantiate):
6371         * cm.c (cmcheckmagic):
6372         * console-msw.c (DHEADER):
6373         * console.c (MARKED_SLOT):
6374         * data.c (finish_marking_weak_lists):
6375         * data.c (encode_weak_list_type):
6376         * debug.h (DASSERT):
6377         * device-gtk.c (gtk_init_device):
6378         * device-msw.c (mswindows_get_default_margin):
6379         * device-tty.c (tty_init_device):
6380         * device-x.c (get_device_from_display):
6381         * device-x.c (x_get_visual_depth):
6382         * doprnt.c (parse_doprnt_spec):
6383         * doprnt.c (get_doprnt_args):
6384         * dumper.c (pdump_get_indirect_count):
6385         * dumper.c (pdump_register_sub):
6386         * dumper.c (pdump_register_object):
6387         * dumper.c (pdump_register_struct):
6388         * dumper.c (pdump_dump_data):
6389         * dumper.c (pdump_reloc_one):
6390         * elhash.c (print_hash_table):
6391         * elhash.c (make_standard_lisp_hash_table):
6392         * elhash.c (hash_table_instantiate):
6393         * emacs.c:
6394         * emacs.c (Fforce_debugging_signal):
6395         * emacs.c (sort_args):
6396         * emacs.c (main):
6397         * emacs.c (assert_failed):
6398         * eval.c (throw_or_bomb_out):
6399         * eval.c (signal_1):
6400         * eval.c (Fsignal):
6401         * event-Xt.c:
6402         * event-Xt.c (emacs_Xt_mapping_action):
6403         * event-Xt.c (Xt_process_to_emacs_event):
6404         * event-msw.c:
6405         * event-stream.c (check_event_stream_ok):
6406         * event-stream.c (Fadd_timeout):
6407         * event-stream.c (Fadd_async_timeout):
6408         * event-stream.c (Fdiscard_input):
6409         * event-stream.c (execute_internal_event):
6410         * event-stream.c (Frecent_keys):
6411         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6412         * event-stream.c (lookup_command_event):
6413         * event-unixoid.c (poll_fds_for_input):
6414         * events.c:
6415         * events.c (mark_event):
6416         * events.c (event_equal):
6417         * events.c (event_hash):
6418         * events.c (Fmake_event):
6419         * events.c (Fdeallocate_event):
6420         * events.c (event_chain_find_previous):
6421         * events.c (event_to_character):
6422         * events.c (format_event_object):
6423         * events.c (Fevent_type):
6424         * events.c (event_pixel_translation):
6425         * events.c (Fevent_properties):
6426         * extents.c (extent_in_region_p):
6427         * extents.c (print_extent):
6428         * extents.c (process_extents_for_insertion_mapper):
6429         * extents.c (report_extent_modification_mapper):
6430         * extents.c (glyph_layout_to_symbol):
6431         * faces.c (face_validate):
6432         * file-coding.c (eol_type_to_symbol):
6433         * file-coding.c (subsidiary_coding_system):
6434         * file-coding.c (Fcoding_system_type):
6435         * file-coding.c (Fcoding_system_property):
6436         * file-coding.c (mule_decode):
6437         * file-coding.c (mule_encode):
6438         * file-coding.c (encode_coding_ucs4):
6439         * file-coding.c (encode_coding_utf8):
6440         * file-coding.c (parse_iso2022_esc):
6441         * file-coding.c (encode_coding_iso2022):
6442         * fileio.c:
6443         * fns.c (concat):
6444         * fns.c (Fsubseq):
6445         * fns.c (mapcar1):
6446         * fns.c (Fbase64_encode_region):
6447         * fns.c (Fbase64_encode_string):
6448         * fns.c (Fbase64_decode_region):
6449         * fns.c (Fbase64_decode_string):
6450         * font-lock.c (find_context):
6451         * font-lock.c (context_to_symbol):
6452         * frame-gtk.c (gtk_set_frame_pointer):
6453         * frame-gtk.c (gtk_update_frame_external_traits):
6454         * frame-x.c (x_wm_mark_shell_size_user_specified):
6455         * frame-x.c (x_wm_mark_shell_position_user_specified):
6456         * frame-x.c (x_wm_set_shell_iconic_p):
6457         * frame-x.c (x_wm_set_cell_size):
6458         * frame-x.c (x_wm_set_variable_size):
6459         * frame-x.c (x_wm_store_class_hints):
6460         * frame-x.c (x_wm_maybe_store_wm_command):
6461         * frame-x.c (x_initialize_frame_size):
6462         * frame-x.c (x_update_frame_external_traits):
6463         * frame.c:
6464         * frame.c (delete_frame_internal):
6465         * frame.c (mouse_pixel_position_1):
6466         * frame.c (change_frame_size_1):
6467         * free-hook.c (check_free):
6468         * free-hook.c (check_realloc):
6469         * free-hook.c (note_block_input):
6470         * free-hook.c (log_gcpro):
6471         * gccache-gtk.c (gc_cache_lookup):
6472         * glyphs-eimage.c (tiff_memory_write):
6473         * glyphs-gtk.c (gtk_finalize_image_instance):
6474         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6475         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6476         * glyphs-gtk.c (gtk_xpm_instantiate):
6477         * glyphs-gtk.c (gtk_unmap_subwindow):
6478         * glyphs-gtk.c (gtk_map_subwindow):
6479         * glyphs-gtk.c (gtk_button_redisplay):
6480         * glyphs-msw.c:
6481         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6482         * glyphs-x.c (init_image_instance_from_xbm_inline):
6483         * glyphs-x.c (extract_xpm_color_names):
6484         * glyphs-x.c (x_xpm_instantiate):
6485         * glyphs.c (get_image_instantiator_governing_domain):
6486         * glyphs.c (print_image_instance):
6487         * glyphs.c (image_instance_equal):
6488         * glyphs.c (image_instance_hash):
6489         * glyphs.c (encode_image_instance_type):
6490         * glyphs.c (make_image_instance_1):
6491         * glyphs.c (inherit_instantiate):
6492         * glyphs.c (image_instantiate):
6493         * glyphs.c (allocate_glyph):
6494         * glyphs.c (Fglyph_type):
6495         * glyphs.c (redisplay_subwindow):
6496         * glyphs.c (display_table_entry):
6497         * gtk-glue.c (xemacs_list_to_gtklist):
6498         * gtk-glue.c (xemacs_gtklist_to_list):
6499         * gtk-glue.c (xemacs_list_to_array):
6500         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6501         * gutter.c (gutter_was_visible):
6502         * gutter.c (get_gutter_coords):
6503         * input-method-xlib.c (get_XIM_input):
6504         * insdel.c (bufpos_to_bytind_func):
6505         * insdel.c (bytind_to_bufpos_func):
6506         * insdel.c (move_gap):
6507         * intl.c (x_get_composed_input):
6508         * keymap.c (keymap_lookup_directly):
6509         * keymap.c (keymap_delete_inverse_internal):
6510         * keymap.c (ensure_meta_prefix_char_keymapp):
6511         * keymap.c (accessible_keymaps_mapper_1):
6512         * keymap.c (where_is_recursive_mapper):
6513         * lisp.h:
6514         * lisp.h (ABORT):
6515         * lread.c (read_atom):
6516         * lstream.c (Lstream_delete):
6517         * lstream.c (make_lisp_buffer_stream_1):
6518         * macros.c (pop_kbd_macro_event):
6519         * malloc.c (malloc):
6520         * malloc.c (free):
6521         * marker.c (bi_marker_position):
6522         * marker.c (set_bi_marker_position):
6523         * menubar-gtk.c (menu_descriptor_to_widget_1):
6524         * menubar-msw.c (prune_menubar):
6525         * menubar-x.c (set_frame_menubar):
6526         * mule-charset.c (get_unallocated_leading_byte):
6527         * mule-charset.h (CHAR_LEADING_BYTE):
6528         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6529         * nt.c (init_environment):
6530         * nt.c (generate_inode_val):
6531         * ntproc.c (delete_child):
6532         * ntproc.c (_sys_read_ahead):
6533         * ntproc.c (create_child):
6534         * objects.c (color_instantiate):
6535         * objects.c (font_instantiate):
6536         * objects.c (face_boolean_instantiate):
6537         * print.c (printing_major_badness):
6538         * process-nt.c (nt_send_process):
6539         * process-unix.c (unix_send_process):
6540         * process.c (get_process):
6541         * ralloc.c (obtain):
6542         * ralloc.c (relinquish):
6543         * ralloc.c (relocate_blocs):
6544         * ralloc.c (resize_bloc):
6545         * ralloc.c (r_alloc_free):
6546         * ralloc.c (r_re_alloc):
6547         * ralloc.c (r_alloc_thaw):
6548         * ralloc.c (init_ralloc):
6549         * ralloc.c (Free_Addr_Block):
6550         * ralloc.c (r_alloc):
6551         * redisplay-gtk.c (gtk_output_display_block):
6552         * redisplay-msw.c (mswindows_output_display_block):
6553         * redisplay-output.c (get_next_display_block):
6554         * redisplay-output.c (get_cursor_size_and_location):
6555         * redisplay-output.c (redisplay_output_layout):
6556         * redisplay-output.c (redisplay_clear_region):
6557         * redisplay-tty.c (tty_output_display_block):
6558         * redisplay-x.c (x_output_display_block):
6559         * redisplay.c (add_propagation_runes):
6560         * redisplay.c (add_glyph_rune):
6561         * redisplay.c (create_text_block):
6562         * redisplay.c (add_margin_runes):
6563         * redisplay.c (create_left_glyph_block):
6564         * redisplay.c (create_right_glyph_block):
6565         * redisplay.c (create_string_text_block):
6566         * redisplay.c (regenerate_window):
6567         * redisplay.c (REGEN_INC_FIND_START_END):
6568         * redisplay.c (redisplay_frame):
6569         * redisplay.c (point_in_line_start_cache):
6570         * regex.c:
6571         * regex.c (ABORT):
6572         * regex.c (re_compile_fastmap):
6573         * regex.c (re_match_2_internal):
6574         * regex.c (regerror):
6575         * scrollbar-gtk.c (gtk_scrollbar_loop):
6576         * scrollbar-gtk.c (scrollbar_cb):
6577         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6578         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6579         * scrollbar-x.c (x_update_scrollbar_instance_status):
6580         * scrollbar-x.c (x_scrollbar_loop):
6581         * scrollbar-x.c (x_update_frame_scrollbars):
6582         * search.c (search_command):
6583         * search.c (Fmatch_data):
6584         * select-x.c (motif_clipboard_cb):
6585         * signal.c (interrupt_signal):
6586         * specifier.c (specifier_add_spec):
6587         * specifier.c (specifier_instance_from_inst_list):
6588         * specifier.c (specifier_instance):
6589         * specifier.h:
6590         * specifier.h (struct specifier_methods):
6591         * strftime.c (add_num_time_t):
6592         * sunplay.c (init_device):
6593         * symbols.c (Fsetplist):
6594         * symbols.c (do_symval_forwarding):
6595         * symbols.c (store_symval_forwarding):
6596         * symbols.c (Fset):
6597         * symbols.c (Fbuilt_in_variable_type):
6598         * symbols.c (decode_magic_handler_type):
6599         * symbols.c (handler_type_from_function_symbol):
6600         * syntax.c (update_syntax_cache):
6601         * sysdep.c (init_baud_rate):
6602         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6603         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6604         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6605         * toolbar.c (get_toolbar_coords):
6606         * ui-gtk.c (build_gtk_boxed):
6607         * ui-gtk.c (describe_gtk_arg):
6608         * ui-gtk.c (gtk_type_to_lisp):
6609         * ui-gtk.c (lisp_to_gtk_type):
6610         * ui-gtk.c (lisp_to_gtk_ret_type):
6611         * ui-gtk.c (lisp_to_flag):
6612         * unexnt.c (read_in_bss):
6613         * unexnt.c (map_in_heap):
6614         * window.c (real_window):
6615         * window.c (window_display_lines):
6616         * window.c (window_display_buffer):
6617         * window.c (set_window_display_buffer):
6618         * window.c (window_modeline_height):
6619         * window.c (unshow_buffer):
6620         * window.c (window_loop):
6621         * window.c (Fget_lru_window):
6622         * window.c (Fsplit_window):
6623         * window.c (Fset_window_configuration):
6624         * window.c (saved_window_index):
6625         * xgccache.c (gc_cache_lookup):
6626         abort() -> ABORT().  Eliminate preprocessor games with abort()
6627         since it creates huge problems in VC7, solvable only by including
6628         massive amounts of files in every compile (and not worth it).
6629
6630         * sysdep.c:
6631         * sysproc.h:
6632         Inclusion of process.h does not need to be before lisp.h any more.
6633         Move later and remove comment about abort().
6634
6635 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6636
6637         * regex.c (re_match_2_internal):
6638         Correctly initialize loop which clears uninitialized registers.
6639
6640 2005-01-28  Vin Shelton  <acs@xemacs.org>
6641
6642         * sheap.c (more_static_core): Applied Ben's version of the long
6643         string patch.
6644
6645 2005-01-24  Vin Shelton  <acs@xemacs.org>
6646
6647         * sheap.c (more_static_core): Reformatted printf string so
6648         gcc-3.3.3 will compile this on Cygwin.
6649
6650 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6651
6652         * console.c (function_key_map): Reference `key-binding'.
6653
6654         * keymap.c (Vkey_translation_map): Improve docstring.
6655
6656 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6657
6658         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6659         * window.c (window_loop): [fix] Take into account
6660         `allow-deletion-of-last-visible-frame' variable.
6661         * window.c (replace-buffer-in-windows): Ditto.
6662
6663 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6664
6665         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6666
6667 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6668
6669         * event-gtk.c: Recognise AltGr as a valid modifier.
6670
6671 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6672
6673         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6674
6675 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6676
6677         Fix backreference bug caught by test suite.
6678
6679         * regex.c (regex_compile):
6680         Make backref duplicate internal register.
6681
6682 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6683
6684         Documentation, code clarification, and warning suppression.
6685         
6686         * regex.c (regex_compile):
6687         Improve comments.
6688         (re_match_2_internal):
6689         Improve comments and avoid redundant braces.  [Most of the big hunk
6690         at l. 4710 is indentation; use diff -w to see the real changes.]
6691         (alt_match_null_string_p):
6692         (common_op_match_null_string_p):
6693         Avoid shadowing global on Mac OS X 10.4, at least.
6694
6695 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6696
6697         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6698         introduced with shy groups fix).  [Already applied, probably
6699         with the second "fix shy groups" patch of 2004-10-07.] 
6700
6701 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6702
6703         From Andrey Slusar <anrays@gmail.com>:
6704
6705         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6706
6707 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6708
6709         * Makefile (RECURSIVE_MAKE): Removed.
6710         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6711         handling parallel builds.
6712
6713 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6714
6715         * Makefile.in.in: Enable support for parallel builds.
6716
6717 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6718
6719         From Andrey Slusar <anrays@gmail.com>:
6720
6721         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6722         FreeBSD version is >= 199701 _and_ < 600006.
6723
6724 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6725
6726         * scrollbar.c (compute_scrollbar_instance_usage):
6727         Only call device method compute_scrollbar_instance_usage() if it
6728         is defined.
6729
6730 2004-12-05  Vin Shelton <acs@xemacs.org>
6731
6732         * XEmacs 21.4.16 is released
6733
6734 2004-12-04  Vin Shelton  <acs@xemacs.org>
6735
6736         * depend: Regenerated.
6737
6738 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6739
6740         * regex.c (re_match_2_internal): Map internal to external
6741         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6742         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6743
6744 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6745
6746         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6747         to fix a crash.  Also, check the buffer is live and it
6748         really exists in buffer_list.  If the buffer is not in the list,
6749         prepend it.
6750
6751 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6752
6753         Fix shy groups by implementing recording of all groups for
6754         repetition and backtracking.  Backport from 21.5.
6755         
6756         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6757         external_to_internal_register, external_to_internal_register_size,
6758         and update comments for re_nsub.
6759
6760         * regex.c (re_opcode_t): Update comments.
6761         (print_compiled_pattern): Ouput external_to_internal_register,
6762         external_to_internal_register_size, and re_ngroups for debugging.
6763         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6764         (regex_compile): Update header comment.
6765         Ensure that all groups are recorded so that repeat matches and
6766         backtracking work correctly.  Comment related warning for groups >
6767         255.
6768         (re_search_2): Construct map of API indexes (which count only
6769         nonshy groups) to internal register numbers, and keep it updated.
6770
6771 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6772
6773         * frame-gtk.c (gtk_make_frame_visible):
6774         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6775         show/hide.  This is what X uses and is prevents previously hidden
6776         widgets from suddenly reappearing.
6777         * gtk-xemacs.c (gtk_xemacs_paint):
6778         * gtk-xemacs.c (gtk_xemacs_draw):
6779         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6780         drawable.
6781         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6782         size and location changes so that they can be seen before the next
6783         idle event.  Without this rapid changes to scrollbar properties
6784         are not seen.
6785
6786 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6787
6788         * console-gtk.h:
6789         * console-gtk.h (struct gtk_frame):
6790         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6791           Add hash tables track tab_control callback data.
6792           Added #defines for GTK object data names.
6793           Declaration of gtk_widget_to_frame().
6794         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6795         * frame-gtk.c (gtk_widget_to_frame): New.
6796         * frame-gtk.c (gtk_create_widgets):
6797         * frame-gtk.c (allocate_gtk_frame_struct):
6798         * frame-gtk.c (gtk_mark_frame):
6799         Manage frame callbakc hash tables.
6800         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6801         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6802         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6803         of widget size.
6804         * glyphs-gtk.c (gtk_widget_query_geometry): New
6805         * glyphs-gtk.c (gtk_register_gui_item): New
6806         * glyphs-gtk.c (gtk_add_tab_item): New
6807         * glyphs-gtk.c (gtk_tab_control_callback): New
6808         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6809         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6810         Use correct list when loading item.
6811         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6812         Register new methods.
6813         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6814         default size, for widgets.
6815         * gui-x.c:  Improved comment.
6816         * menubar-gtk.c (__generic_button_callback): Use
6817         gtk_widget_to_frame instead of __get_channel.
6818         * scrollbar-gtk.c:
6819         * ui-gtk.c: Use symbolic names for GTK object data.
6820
6821 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6822
6823         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6824
6825 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6826
6827         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6828
6829 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6830
6831         * malloc.c (morecore): siz is a long because in some architectures
6832         (eg ia-64) an int cannot hold the address range.  Additional patch
6833         from the SuSe distribution.
6834
6835 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6836
6837         * emacs.c:
6838         * malloc.c: lim_data is a long because in some architectures
6839         (eg ia-64) an int cannot hold the address range.
6840         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6841         instead of ulimit() because ulimit() always returns -1.
6842
6843 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6844
6845         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6846
6847 2004-06-11  David Kastrup  <dak@gnu.org>
6848
6849         * search.c (match_limit): Don't flag an error if match-data
6850         exceeding the allocated search_regs.num_regs gets requested, just
6851         return Qnil.
6852
6853 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6854
6855         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6856         replace symbolic color entries with the real colors specified in
6857         xpm-color-symbols, before passing the XPM to gtk.
6858         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6859         instead of a GTK specific field, so that it is used in by generic
6860         code.
6861
6862 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6863
6864        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6865         coredump from deref of NULL ptr (ExtData)
6866
6867 2004-04-19  Jerry James  <james@xemacs.org>
6868
6869         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6870         VALBITS to compute the location of the sign bit.
6871         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6872         of VALBITS with EMACS_INT_MAX.
6873         * events.c (Fevent_timestamp): Ditto.
6874         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6875         compute the halfway point to timestamp wraparound.
6876         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6877         EMACS_INT_MIN instead of using VALBITS.
6878         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6879         incorrect number with VALBITS.
6880         * fns.c (Frandom): Correct number of integer bits in docstring.
6881         Use INT_VALBITS instead of VALBITS to compute the denominator.
6882         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6883         build random numbers.
6884
6885 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6886         * event-gtk.c:
6887         * event-gtk.c (gtk_event_to_emacs_event):
6888         * menubar-gtk.c:
6889         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6890         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6891         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6892         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6893         * menubar-gtk.c (__activate_menu):
6894         * menubar-gtk.c (convert_underscores):
6895         * menubar-gtk.c (remove_underscores):
6896         * menubar-gtk.c (menu_convert):
6897         * menubar-gtk.c (menu_descriptor_to_widget_1):
6898         * menubar-gtk.c (menu_descriptor_to_widget):
6899         * menubar-gtk.c (menu_can_reuse_widget):
6900         * menubar-gtk.c (menu_create_menubar):
6901         * menubar-gtk.c (gtk_popup_menu):
6902         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6903         Added support for Gtk menu bar and menu item mnemonics.
6904
6905 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6906
6907         * sysdll.c: (dll_function): Added support for finding symbols in
6908         Darwin shared libraries as well in Darwin bundles.
6909         * sysdll.c (image_for_address): New
6910         * sysdll.c (my_find_image): New
6911         * sysdll.c (search_linked_libs): New
6912
6913 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6914
6915         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6916         return to GTK requires a different API to marshalling data to use
6917         as GTK parameters.
6918         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6919
6920 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6921
6922         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6923
6924 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6925
6926         * glyphs.c (process_image_string_instantiator):
6927         (Fset_console_type_image_conversion_list):
6928         Stop GCC from warning about shadowing of `exp'.
6929
6930         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6931
6932 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6933
6934         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6935
6936 2004-02-03  Vin Shelton  <acs@xemacs.org>
6937
6938         * glyphs.c (image_instance_layout): Remove pointless assertion.
6939         * regex.c (regex_grow_registers): Return type is void.
6940
6941 2004-02-02  Vin Shelton <acs@xemacs.org>
6942
6943         * XEmacs 21.4.15 is released
6944
6945 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6946
6947         * device-x.c (x_error_handler): Don't call stderr_out
6948
6949 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6950
6951         * buffer.c (other-buffer): Clarify documentation of order of
6952         arguments for FSF Emacs.
6953
6954 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6955
6956         * window.c (Fdelete_window): Dirty the mirror structure _before_
6957         marking the window deleted.
6958
6959 2003-09-15  Jerry James  <james@xemacs.org>
6960
6961         * event-msw.c (debug_mswin_messages): Conditionally compile
6962         messages missing from the Cygwin headers.
6963
6964 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6965
6966         * data.c (eq_with_ebola_notice): Fix typo in comment.
6967         (Ftrue_list_p): Improve docstring.
6968
6969 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6970
6971         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6972
6973 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6974
6975         * search.c (trivial_regexp_p): Regexps containing "\{" are
6976         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6977         Stefan Monnier for suggesting a diagnosis.
6978
6979 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6980
6981         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6982
6983 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6984
6985         * search.c (Fsearch_forward):
6986         (Fsearch_backward):
6987         Document negative count.
6988
6989 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6990
6991         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6992
6993 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6994
6995         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6996
6997 2003-09-15  Vin Shelton  <acs@xemacs.org>
6998
6999         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
7000         21.5.
7001
7002 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
7003
7004         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
7005         (re_search_2): Match the first byte of Bufbyte, not Emchar.
7006         (re_match_2_internal): Use TRANSLATE instead of
7007         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
7008         non-ASCII char case conversion.
7009
7010 2003-09-08  Mike Sperber  <mike@xemacs.org>
7011
7012         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
7013         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
7014
7015 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
7016
7017        * .gdbinit (pobj): fix printing of symbol name.
7018
7019 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
7020
7021         * frame-x.c (x_layout_widgets): When resizing is about to cause
7022         frame size slip, mark it for redisplay.
7023
7024 2003-08-18  Jerry James  <james@xemacs.org>
7025
7026         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7027
7028 2003-09-03  Vin Shelton <acs@xemacs.org>
7029
7030         * XEmacs 21.4.14 is released
7031
7032 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7033
7034         * config.h.in (REGEX_MALLOC): Make it configure'able.
7035
7036 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7037
7038         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7039         linking.
7040         * sysdll.c (dll_init):
7041         * sysdll.c (dll_open):
7042         * sysdll.c (dll_close):
7043         * sysdll.c (dll_function):
7044         * sysdll.c (dll_variable):
7045         * sysdll.c (dll_error):
7046         Add support for loading bundles using Darwin/MacOSX
7047         native API.
7048
7049 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7050
7051         * process.c (start-process-internal): Document coding systems.
7052
7053 2003-07-30  Jerry James  <james@xemacs.org>
7054
7055         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7056
7057 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7058
7059         * event-msw.c (mswindows_enqueue_mouse_button_event):
7060         * event-msw.c (mswindows_wnd_proc):
7061           enqueue button event when scrollwheel event isn't handled by 
7062           mswindows_handle_mousewheel_event, such as when the scrollbars
7063           are not showing.
7064
7065 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7066
7067         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7068
7069 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7070
7071         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7072
7073 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7074
7075         * regex.c (re_match_2_internal): Fix matching degenerate word
7076         boundaries.
7077
7078 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7079
7080         * XEmacs 21.4.13 is released
7081
7082 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7083
7084         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7085         * lisp.h (<inttypes.h>):
7086         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7087         the definition.
7088
7089 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7090
7091         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7092         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7093         Result: "temacs can only be run in -batch mode."
7094         Fix: Check xemacs executable candidate for directory-ness.
7095
7096 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7097
7098         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7099           they conflict with <sys/types.h>.
7100
7101 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7102
7103         * database.c: Berkeley DB wants __STDC__ to be defined.
7104
7105 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7106
7107         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7108
7109 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7110
7111         * process-unix.c (unix_send_process): Fix C++ compile error.
7112
7113 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7114
7115         * Added .dylib as an acceptable shared library file extension
7116         * to support MacOSX.
7117
7118 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7119
7120         * EmacsFrameP.h (EmacsFramePart):
7121         Kludge to allow compiling with Motif1, but linking with Motif2.
7122
7123 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7124
7125         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7126
7127
7128 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7129
7130         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7131
7132 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7133
7134         * sysdll.c: Included lisp.h to define needed alloca_array.
7135
7136 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7137
7138         Make XEmacs redisplay 10 times faster.
7139         If, that is, you're using a slow X connection and MoveOpaque.
7140         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7141         Use compress_motion = TRUE.
7142         * EmacsFrame.c (emacsFrameClassRec): 
7143         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7144         * EmacsManager.c (emacsManagerClassRec):
7145         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7146
7147 2003-01-30  Vin Shelton  <acs@xemacs.org>
7148
7149         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7150
7151 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7152
7153         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7154         Patch by Martin Buchholz.
7155
7156 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7157
7158         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7159         Thanks to icc for warning and Martin Buchholz for reporting.
7160
7161 2003-01-29  Vin Shelton <acs@xemacs.org>
7162
7163         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7164
7165         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7166         remember to multiply by the element size.
7167
7168 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7169
7170         * XEmacs 21.4.12 "Portable Code" is released.
7171
7172 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7173
7174         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7175         * s/cygwin.sc: new linker file.
7176
7177 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7178
7179         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7180
7181         * redisplay-x.c (x_output_string): Use X11-specified types.
7182         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7183         * emacs.c (__free_hook): Use typeof with Intel compiler.
7184         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7185
7186 2003-01-08  Andy Piper  <andy@xemacs.org>
7187
7188         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7189         reserve size during unexec().
7190
7191 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7192
7193         * process-unix.c (unix_create_process): Don't let outchannel block.
7194
7195 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7196
7197         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7198         Needed for IsBadReadPtr().
7199
7200 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7201
7202         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7203
7204 2002-12-14  Ben Wing  <ben@xemacs.org>
7205
7206         * callint.c: Declaration error.
7207         * dumper.c (pdump):
7208         * dumper.c (pdump_load): Warning fix.
7209         * process.c: GCPRO error.
7210         * glyphs.c (unmap_subwindow):
7211         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7212         * event-stream.c (maybe_kbd_translate): Wrong argument to
7213         character_to_event().
7214
7215         * alloc.c (garbage_collect_1):
7216         * emacs.c:
7217         * emacs.c (debug_can_access_memory):
7218         * emacs.c (fatal_error_signal):
7219         * emacs.c (mswindows_handle_hardware_exceptions):
7220         * emacs.c (main_1):
7221         * emacs.c (main):
7222         * emacs.c (assert_failed):
7223         * emacs.c (syms_of_emacs):
7224         * lisp.h:
7225         * print.c:
7226         * print.c (std_handle_out_va):
7227         * print.c (write_string_to_stdio_stream):
7228         * print.c (write_fmt_string):
7229         * print.c (printing_badness):
7230         * print.c (printing_major_badness):
7231         * print.c (print_internal):
7232         * print.c (debug_print_no_newline):
7233         * print.c (debug_backtrace):
7234         Be more defensive in handling bad values when printing.  Add code
7235         from trunk involving inhibit_non_essential_printing_operations.
7236         When going down or in debug_print(), don't do external conversion
7237         and such and try really, really hard when printing to avoid core
7238         dumping.  Add force-debugging-signal, debug_break().
7239
7240 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7241
7242         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7243         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7244
7245 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7246
7247         * database.c: Fix open_database. Berkeley DB API has changed in
7248         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7249
7250 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7251
7252         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7253
7254 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7255
7256         * event-Xt.c (Xt_timeout):
7257         (Xt_timeout_callback):
7258         (emacs_Xt_add_timeout):
7259         (emacs_Xt_remove_timeout):
7260         (Xt_timeout_to_emacs_event):
7261         Turn completed_timeouts from a stack into a queue.  Fixes
7262         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7263
7264 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7265
7266         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7267         * emacs.c (main): Assert that mmap'd allocation is disabled.
7268
7269 2002-10-14  Andy Piper  <andy@xemacs.org>
7270
7271         * glyphs-widget.c (layout_query_geometry): add in fiddle
7272         factor. Include border text in width layout calculation.
7273         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7274
7275 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7276
7277         * XEmacs 21.4.10 "Military Intelligence" is released.
7278
7279 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7280
7281         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7282         using the NAS private array SoundFileInfo that no longer exists in
7283         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7284         and earlier.  This is broken for some versions between 1.5a and
7285         1.5f.
7286
7287 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7288
7289         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7290
7291         * emacs.c (shut_down_emacs): Improve crash message.
7292
7293 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7294
7295         * file-coding.c (determine_real_coding_system): Check for coding
7296         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7297         shebangs and Python PEP 263.
7298
7299 2002-10-08  Andy Piper  <andy@xemacs.org>
7300
7301         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7302         if static sizes haven't been set.
7303
7304 2002-08-30  Mike Alexander  <mta@arbortext.com>
7305
7306         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7307         to close a socket.
7308
7309 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7310
7311         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7312
7313 2002-09-20  Mike Sperber <mike@xemacs.org>
7314
7315         (This partially gets back my patch from 2002-07-20 without the
7316         bug.)
7317         * callproc.c (child_setup): Remove Ben's comment noting confusion
7318         over the file descriptors >= 3: close_process_descs() doesn't
7319         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7320         * process-unix.c (unix_create_process): Call
7321         begin_dont_check_for_quit to inhibit unwanted interaction (and
7322         thus breaking of X event synchronicity) in the child.
7323
7324 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7325
7326         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7327         widget.
7328
7329 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7330
7331         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7332         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7333         the xemacs process did not exit, but looped infinitely here.  This
7334         fixes that problem.
7335
7336 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7337
7338         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7339         (find_context): Improve comments.
7340
7341         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7342         (re_match_2): An XCHAR_TABLE operation was missing.
7343
7344         Many of the following changes were inspired by Andy Piper's (now
7345         obsolete) patch to make syntax-table text property lookup optional.
7346
7347         [Documentation]
7348
7349         * syntax.h (top level): Document semantics of syntax flags.
7350         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7351         * syntax.c, syntax.h (top level): Document syntax cache better in
7352         comments.
7353
7354         [Instrument syntax caching (temporary change)]
7355
7356         * syntax.h (enum syntax_cache_statistics_functions, struct
7357         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7358         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7359         * syntax.c (scan_words, Fforward_comment, scan_lists,
7360         Fbackward_prefix_characters):
7361         * font-lock.c (find_context):
7362         Use them to instrument syntax caching. 
7363         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7364         syntax_cache_statistics_function_names): New type and variables.
7365         * syntax.c (update_syntax_cache): Update and report statistics.
7366
7367         [Major syntax cache optimizations]
7368
7369         syntax.c (lookup_syntax_properties): Default off.
7370
7371         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7372         * syntax.c (update_syntax_cache):
7373         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7374
7375         [Minor syntax cache optimizations and code clarifications]
7376
7377         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7378         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7379         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7380         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7381         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7382         (Code clarification.)
7383
7384         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7385         scan_lists): Compute code from syncode, use Boolean macros instead
7386         of redundant masking operations.  (Code clarification; any decent
7387         compiler can do this optimization.)
7388
7389         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7390         for clarity.
7391
7392         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7393         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7394         use F*_single_property_change instead of F*_extent_change.
7395         Currently F*_single_property_change is _much_ less efficient.
7396
7397         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7398         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7399         syntax_cache.object properly, don't leave Qt or Qnil.
7400         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7401         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7402         tests for Qt or Qnil.
7403
7404 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7405
7406         * redisplay.c (point_in_line_start_cache): 
7407         * extents.c (print_extent_1):
7408         Fix warnings.
7409
7410         * extents.c (Fset_extent_property): Document `syntax-table' property.
7411
7412         * extents.h (Fnext_single_property_change): EXFUN it.
7413
7414 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7415
7416         * search.c (clear_unused_search_regs): New static function.
7417         (search_buffer): 
7418         (simple_search): 
7419         (boyer_moore):
7420         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7421         Minor clarifications in comments.
7422
7423         * regex.c (re_match_2_internal): Ensure no stale submatches.
7424
7425 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7426
7427         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7428
7429 2002-08-29  Jerry James  <james@xemacs.org>
7430
7431         * lisp.h: structrures -> structures.
7432
7433 2002-06-03  Andy Piper  <andy@xemacs.org>
7434
7435         * frame.c (frame_conversion_internal): add conversion appropriate
7436         for setting frame dimensions in pixels.
7437
7438         * console.h (struct console_methods): add device-specific widget
7439         layout functions.
7440
7441         * emacs.c (main_1): initialize glyph vars.
7442
7443         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7444         (handle_focus_event_2): new function. Allow focus to
7445         be set to a particular window and widget.
7446         (enqueue_focus_event): new function. Create a
7447         synthetic focus event.
7448         (emacs_Xt_handle_magic_event): call
7449         handle_focus_event_2.
7450
7451         * frame.c (Fset_frame_pixel_height): new function. Allow
7452         pixel-based sizing. Does the right thing on character-oriented
7453         displays.
7454         (Fset_frame_pixel_width): ditto.
7455         (Fset_frame_pixel_size): ditto.
7456         (syms_of_frame): declare.
7457
7458         * general-slots.h: add :vertically-justify and
7459         :horizontally-justify.
7460
7461         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7462         (mswindows_widget_border_width): new function.
7463         (mswindows_combo_box_instantiate): set border widths.
7464         (console_type_create_glyphs_mswindows): declare.
7465
7466         * glyphs-widget.c:
7467         (check_valid_justification): allow vertical and horizontal
7468         justification.
7469         (widget_border_width): new function. Call device methods.
7470         (widget_instance_border_width): ditto.
7471         (logical_unit_height): new function. Determine the height of a
7472         logical-unit. Logical units are intended to provide grid-like
7473         layout for subcontrols in a layout. If the layout is
7474         :vertically-justify top then subcontrols will be positioned on
7475         logical-unit boundaries, thus allowing adjacent subcontrols to
7476         line up.
7477         (widget_logical_unit_height): ditto for widgets.
7478         (redisplay_widget): misc cleanup.
7479         (widget_spacing): new function. Call device specific
7480         methods. Intended to be the default gap between adjacent widgets.
7481         (widget_query_geometry): use new spacing functions to determine
7482         appropriate geometry.
7483         (initialize_widget_image_instance): initialize horizontal and
7484         vertical justification.
7485         (widget_instantiate): use logica-units where appropriate for
7486         sizing large widgets.
7487         (button_query_geometry): use widget_instance_border_width.
7488         (tree_view_query_geometry): ditto.
7489         (tab_control_query_geometry): ditto.
7490         (edit_field_query_geometry): new function.
7491         (layout_update): pick up :justify, :horizontally-justify and
7492         :vertically-justify none of which worked previously. :justify is
7493         used as a fallback for both horizontal and vertical justification.
7494         (layout_query_geometry): use logical units to size appropriately.
7495         (layout_layout): ditto.
7496         (Fwidget_logical_to_character_width): new function. Allow users to
7497         convert from logical units to characters so that frame sizes can
7498         be set appropriately.
7499         (Fwidget_logical_to_character_height): ditto.
7500         (syms_of_glyphs_widget): declare.
7501         (image_instantiator_edit_fields): add edit_field_query_geometry.
7502         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7503         :horizontally-justify.
7504         (specifier_vars_of_glyphs_widget): new function. Declare
7505         Vwidget_border_width which is not yet used.
7506
7507         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7508         (x_widget_border_width): new function.
7509         (x_widget_instantiate): create a sensible name for widgets.
7510         (console_type_create_glyphs_x): declare x_widget_border_width.
7511
7512         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7513         (struct Lisp_Image_Instance): add :vertically-justify and
7514         :horizontally-justify.
7515         (LAYOUT_JUSTIFY_TOP): new.
7516         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7517         (ROUND_UP): new macro. Round argument up to next integral
7518         interval.
7519
7520         * redisplay-output.c (redisplay_output_layout): misc formatting.
7521
7522         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7523
7524 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7525
7526         * XEmacs 21.4.9 "Informed Management" is released.
7527
7528 2002-08-19  Andy Piper  <andy@xemacs.org>
7529
7530         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7531         win32 format.
7532
7533         * realpath.c (xrealpath): normalize drive spec also so that dir
7534         sep chars are not mixed on cygwin.
7535
7536 2002-08-06  Jerry James  <james@xemacs.org>
7537
7538         * window.c (Fsplit_window): Count only half of the divider width
7539         against the left window when splitting horizontally. 
7540
7541 2002-06-24  Andy Piper  <andy@xemacs.org>
7542
7543         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7544         toolbar was cleared.
7545
7546         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7547         function. Split out from mswindows_output_frame_toolbars.
7548         (mswindows_output_frame_toolbars): move clear pieces to
7549         mswindows_output_frame_toolbars.
7550
7551         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7552         out from gtk_output_frame_toolbars.
7553         (gtk_output_frame_toolbars): move clear pieces to
7554         gtk_clear_frame_toolbars.
7555
7556         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7557         the frame is cleared. How this ever worked before is a mystery.
7558         (x_output_frame_toolbars): Only output toolbars.
7559         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7560
7561         * gutter.c (update_gutter_geometry):
7562         Mark frame layout changed.
7563         (update_frame_gutter_geometry, update_frame_gutters):
7564         Respect frame_layout_changed.
7565
7566         * console.h (struct console_methods): add
7567         clear_frame_toolbars_method.
7568
7569         * redisplay.c (redisplay_frame): call
7570         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7571
7572         * toolbar.h: declare update_frame_toolbars_geometry.
7573
7574         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7575         out from update_frame_toolbars.  Call clear_frame_toolbars.
7576         (update_frame_toolbars): only output, do not change geometry.
7577
7578         * redisplay.c: add frame_layout_changed.
7579
7580         * redisplay.h: add frame_layout_changed.
7581         (CLASS_RESET_CHANGED_FLAGS): set it.
7582         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7583         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7584         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7585
7586         * device.h (struct device): add frame_layout_changed.
7587         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7588
7589         * frame.h (struct frame): add frame_layout_changed.
7590         (MARK_FRAME_LAYOUT_CHANGED): new.
7591
7592 2002-06-30  Mike Alexander  <mta@arbortext.com>
7593
7594         * event-msw.c (mswindows_need_event): Don't wait for a new message
7595         if the queue is not empty.  Suggested by Paul Moore.
7596
7597 2002-06-12  Andy Piper  <andy@xemacs.org>
7598
7599         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7600         for printing on accurately.
7601
7602 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7603
7604         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7605         WM_ACTIVATE message. Make sure that the frame is visible if the
7606         window is visible. This seemss to fix the problem where XEmacs
7607         appears to freeze after switching desktops with certain virtual
7608         window managers.
7609         (debug_output_mswin_message): Added code to output message
7610         parameters for WM_WINDOWPOSCHANGED, 
7611         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7612
7613 2002-05-25  Andy Piper  <andy@xemacs.org>
7614
7615         * select-x.c (vars_of_select_x): Fix docstring of
7616         x-selection-strict-motif-ownership
7617
7618 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7619
7620         * keymap.c (get_keymap):
7621         Add comment about do_autoload GCPROs own args.
7622
7623 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7624
7625         * bytecode.c (execute_optimized_program): check_opcode ifdef
7626         ERROR_CHECK_BYTE_CODE.
7627
7628 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7629
7630         Thanks to Ben Wing and Michael Sperber.
7631
7632         * eval.c (Fcommand_execute):
7633         (Feval):
7634         (Ffuncall):
7635         (Fmacroexpand_internal):
7636         (function_argcount):
7637         callint.c (Fcall_interactively):
7638         Add comment about do_autoload GCPROs own args.
7639
7640         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7641
7642         * eval.c (Ffuncall): Extra braces to placate GCC.
7643
7644 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7645
7646         * backtrace.h (grow_specpdl):
7647         (SPECPDL_RESERVE):
7648         * EmacsFrame.c (EmacsFrameSetValues):
7649         * eval.c (grow_specpdl):
7650         * ExternalShell.c (hack_event_masks_1):
7651         * glyphs-x.c (convert_EImage_to_XImage): 
7652         (x_finalize_image_instance):
7653         * ralloc.c (page_size):
7654         (r_alloc_sbrk):
7655         * xgccache.c (gc_cache_hash):
7656         Fix unsigned comparison warnings.
7657
7658 2002-07-29  Jerry James  <james@xemacs.org>
7659
7660         * lread.c (locate_file): Any nonnegative return value indicates
7661         success if MODE is nonnegative.
7662
7663 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7664
7665         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7666         argument. 
7667
7668 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7669
7670         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7671
7672         * dumper.c (pdump_get_indirect_count):
7673         (pdump_scan_by_alignment):
7674         (pdump_dump_root_struct_ptrs):
7675         (pdump_dump_rtables):
7676         (pdump_dump_root_objects):
7677         (pdump):
7678         * nas.c (WaveOpenDataForReading):
7679         * fns.c (print_bit_vector):
7680         * font-lock.c (SINGLE_SYNTAX_STYLE):
7681         * glyphs.c (check_for_ignored_expose):
7682         (find_matching_subwindow):
7683         * glyphs-eimage.c:
7684         * imgproc.c (get_histogram):
7685         * redisplay.c (point_in_line_start_cache):
7686         * redisplay-output.c (redisplay_unmap_subwindows):
7687         * symbols.c (defsymbol_massage_name_1):
7688         (defkeyword_massage_name):
7689         (deferror_massage_name_and_message):
7690         * redisplay-x.c (x_output_string): 
7691         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7692         * frame.h (struct frame):
7693         * filelock.c (current_lock_owner):
7694         * doprnt.c (emacs_doprnt_1):
7695         * lisp.h (struct Lisp_Bit_Vector):
7696         (DO_REALLOC):
7697         Fix warnings.
7698
7699 2002-02-13  Ben Wing  <ben@xemacs.org>
7700
7701         * event-stream.c (reset_key_echo):
7702         * event-stream.c (reset_this_command_keys):
7703         * event-stream.c (execute_command_event):
7704         If console is dead as a result of C-x 5 0, then post-command stuff
7705         needs to be careful and do only non-console-specific stuff.
7706
7707 2002-07-01  Mike Sperber <mike@xemacs.org>
7708
7709         * process-unix.c (unix_send_process): Mark coding_outstream as
7710         non-open upon SIGPIPE.
7711
7712         * event-stream.c (Fnext_event): Reorder switch cases to something
7713         that makes sense.
7714
7715 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7716
7717         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7718         Don't bogusly reinitialize ascii_character property.
7719
7720 2002-07-08  Mike Sperber <mike@xemacs.org>
7721
7722         * process.c (Fstart_process_internal): Do error checking before we
7723         fork off the child, so the child can't muck with the state of the
7724         parent.
7725
7726 2002-07-08  Mike Sperber <mike@xemacs.org>
7727
7728         * ralloc.c (init_ralloc): Allocate properly for pdump.
7729
7730 2002-06-12  Andy Piper  <andy@xemacs.org>
7731
7732         * glyphs.c (query_string_geometry): check the string.
7733
7734         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7735         widget names.
7736
7737 2002-06-17  Jerry James  <james@xemacs.org>
7738
7739         * sysdll.c: Remove RTLD_GLOBAL initialization.
7740         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7741
7742 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7743
7744         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7745
7746 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7747
7748         * sysdep.c (sys_rename): Make sys_rename work for the case where
7749         Windows rename sets errno to EACCES if target file exists.
7750
7751 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7752
7753         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7754         Fix detection of metric units to work on Win95
7755
7756 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7757
7758         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7759
7760 2002-04-25  Andy Piper  <andy@xemacs.org>
7761
7762         * redisplay.c (create_text_block): Remove extra comment trailer.
7763
7764 2002-04-24  Andy Piper  <andy@xemacs.org>
7765
7766         * redisplay.c (create_text_block): Don't actually add propagation
7767         data if the line ends after we have added a glyph.
7768
7769 2002-04-22  Andy Piper  <andy@xemacs.org>
7770
7771         * extents.c (extent_fragment_update): check for glyphs we have
7772         previously displayed.
7773         * extents.c (print_extent_1): warning removal.
7774         * extents.h: change prototype.
7775         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7776         widths correctly for wide glyphs.
7777         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7778         * redisplay.c (prop_type): add PROP_GLYPH.
7779         * redisplay.c (struct prop_block): add glyph type
7780         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7781         to the propagation data.
7782         * redisplay.c (create_text_block): if there is a glyph in the
7783         propagation data use it to salt extent_fragment_update.
7784         * redisplay.c (create_string_text_block): ditto.
7785
7786 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7787
7788         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7789         * redisplay-output.c (compare_runes): Compare them.
7790         * redisplay.c: Update copyright date.
7791         * redisplay.c (pos_data): Add need_baseline_computation field.
7792         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7793         need_baseline_computation; zero yoffset. Set max_pixmap_height
7794         for all pixmaps, not just automatically positioned ones.
7795         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7796         * redisplay.c (calculate_baseline): New, compute textual baseline.
7797         * redisplay.c (add_glyph_rune): Call them.
7798         * redisplay.c (create_text_block): Likewise.
7799         * redisplay.c (create_overlay_glyph_block): Likewise.
7800         * redisplay.c (add_margin_runes): Likewise.
7801         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7802
7803         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7804         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7805         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7806         * redisplay-msw.c (mswindows_output_string): Likewise.
7807         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7808         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7809         * redisplay-x.c (x_output_display_block): Likewise.
7810
7811 2002-03-28  Ben Wing  <ben@xemacs.org>
7812
7813         * redisplay.c: Fixed bug in redisplay
7814         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7815         and down of the lines, since they're bigger than the line
7816         size. (It was seen most obviously when there's a horizontal scroll
7817         bar, e.g. do C-h a glyph or something like that.) The problem was
7818         that the glyph-contrib-p setting on glyphs was ignored even if it
7819         was set properly, which it wasn't until now.
7820
7821 2002-04-24  Andy Piper  <andy@xemacs.org>
7822
7823         * lisp.h (Dynarr_end): Fix definition.
7824
7825 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7826
7827         * redisplay.c (mark_redisplay): Remove call to
7828         update_frame_window_mirror.
7829
7830 2001-11-15  Andy Piper  <andy@xemacs.org>
7831
7832         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7833         cygwin (again).
7834
7835 2002-02-13  Andy Piper  <andy@xemacs.org>
7836
7837         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7838         we did in fact enqueue the XM_MAPFRAME event.
7839
7840 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7841
7842         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7843         to fix problem switching between virtual desktops under virtuawin
7844         virtual window manager.
7845
7846 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7847
7848         * event-msw.c: Typo fix.
7849         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7850         magic XM_MAPFRAME event has been sent.
7851
7852 2001-11-23  Andy Piper  <andy@xemacs.org>
7853
7854         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7855
7856 2001-11-21  Andy Piper  <andy@xemacs.org>
7857
7858         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7859         mouse events outside the frame.
7860
7861 2002-03-20  Andy Piper  <andy@xemacs.org>
7862
7863         * menubar-msw.c (mswindows_popup_menu): warning removal.
7864         * dialog-msw.c (dialog_popped_down): ditto.
7865
7866 2001-12-11  Andy Piper  <andy@xemacs.org>
7867
7868         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7869         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7870         popup_up_p.
7871         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7872         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7873         * menubar-msw.c (mswindows_popup_menu): ditto.
7874
7875 2001-10-29  Andy Piper  <andy@xemacs.org>
7876
7877         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7878         cancels.
7879
7880 2002-01-03  Andy Piper  <andy@xemacs.org>
7881
7882         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7883         letters.
7884         (xrealpath): ditto.
7885
7886 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7887
7888         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7889         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7890         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7891         Detect and handle case where machine is set up for metric units
7892
7893 2002-04-02  Andy Piper  <andy@xemacs.org>
7894
7895         * dired-msw.c (mswindows_get_files): 
7896         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7897         completely handled by XEmacs. Suggested by Thomas Vogler
7898         <mail@thomas-vogler.de>.
7899
7900 2001-11-14  Andy Piper  <andy@xemacs.org>
7901
7902         * nt.c (REG_ROOT): change registry key to XEmacs.
7903
7904 2002-04-27  Andy Piper  <andy@xemacs.org>
7905
7906         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7907
7908 2002-04-26  Andy Piper  <andy@xemacs.org>
7909
7910         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7911         behavior.
7912
7913 2002-03-14  Mike Alexander  <mta@arbortext.com>
7914
7915         * event-msw.c (mswindows_unwait_process): New, remove process from
7916         wait list
7917         * process-nt.c (nt_finalize_process_data): Call
7918         mswindows_unwait_process
7919         * console-msw.h: Declare mswindows_unwait_process
7920
7921 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7922
7923         * editfns.c (Fdecode_time):
7924         (Fformat_time_string):
7925         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7926         (make_time): Warning elimination (change arg name).
7927
7928 2001-11-24  Andy Piper  <andy@xemacs.org>
7929
7930         * window.c (Fsplit_window): Doc return type.
7931
7932 2002-04-01  Andy Piper  <andy@xemacs.org>
7933
7934         * emacs.c (Fkill_emacs): Only output message box in interactive
7935         mode.
7936
7937 2002-04-26  Andy Piper  <andy@xemacs.org>
7938  
7939         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7940         cygwin.
7941
7942 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7943
7944         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7945         bit platform.
7946
7947 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7948
7949         * XEmacs 21.4.8 "Honest Recruiter" is released.
7950
7951 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7952
7953         Supersedes 2002-04-17 patch.
7954
7955         * process.h (PROCESS_LIVE_P): Use the process status as
7956         evidence of health, not the state of the input stream.
7957         (PROCESS_READABLE_P): Say if the process is readable
7958         from. (It may be dead nonetheless.)
7959         (CHECK_READABLE_PROCESS): Test for that condition.
7960
7961         * process.c (create_process): Use PROCESS_READABLE_P.
7962         (read_process_output, set_process_filter): Likewise.
7963
7964         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7965         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7966
7967         This code is #if 0'd, this is not the time to add new functions:
7968
7969         * process.c (Fprocess_readable_p): Report readability status.
7970         * process.c (Qprocess_readable_p): New, associated symbol...
7971         * process.c (syms_of_process): ... initialize it.
7972
7973 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7974
7975         * XEmacs 21.4.7 "Economic Science" is released.
7976
7977 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7978
7979         * process.h (PROCESS_LIVE_P): Use the process status as
7980         evidence of health, not the state of the input stream.
7981
7982 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7983
7984         * sysdep.c (sys_siglist): change "signum" to "signal"
7985
7986 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7987
7988         * s/darwin.h: New file.
7989         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7990         
7991 2002-04-23  Andreas Jaeger  <aj@suse.de>
7992
7993         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7994         which use lib64 for 64-bit libs.
7995         (START_FILES): Likewise.
7996
7997 2002-02-11  Mike Sperber  <mike@xemacs.org>
7998
7999         * device-x.c: 
8000         (x_IO_error_handler):
8001         (x_init_device): Temporarily keep device in static variable
8002         `device_being_initialized' so we can recover gracefully from
8003         internal XOpenDevice failure.  (XOpenDevice is documented to
8004         return NULL on failure, but sometimes calls the IO error handler
8005         instead.)
8006
8007 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
8008
8009         * dired.c (Ffile_name_all_completions): Change documentation --
8010         remove reference to completion-ignored-extensions.
8011         * dired.c (vars_of_dired): Change documentation for
8012         completion-ignored-extensions -- remove reference to
8013         file-name-all-completions.
8014
8015 2002-03-06  Jerry James  <james@xemacs.org>
8016
8017         * emodules.c (emodules_load): Fix multiple loading of same module.
8018
8019 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
8020         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
8021         RTLD_LAZY to avoid incorrect symbol binding when using nested
8022         shared libraries on Solaris.
8023
8024 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
8025
8026         * fileio.c (Ffind_file_name_handler): Improve docstring.
8027
8028 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8029
8030         * fns.c (Fmapconcat): Improve docstring.
8031
8032 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8033
8034         * device-gtk.c: Add prototype for
8035         emacs_gtk_selection_clear_event_handle.
8036         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8037         selection.  Setup signal handler for "selection_clear_event"
8038         (emacs_gtk_selection_clear_event_handle).
8039
8040         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8041         other applications owning the clipboard (based on
8042         x_handle_selection_clear).
8043
8044 2001-12-23  William M. Perry  <wmperry@gnu.org>
8045
8046         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8047         
8048 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8049
8050         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8051
8052 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8053
8054         * XEmacs 21.4.6 "Common Lisp" is released.
8055
8056 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8057
8058         * search.c (Freplace_match): Add missing sub-expression functionality.
8059
8060         * buffer.c (decode_buffer): Add a check for pointer type to
8061         decode_buffer, before gcc's CSE optimization reorders a
8062         dereference in front of the allow_string test.
8063
8064 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8065
8066         * window.c (window_loop): Fix bug that sometimes prevented
8067         window_loop() from iterating across multiple devices.  Also, at
8068         Ben's request, changed infloop-detecting code to abort() instead
8069         of silently terminating window_loop().
8070
8071 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8072
8073         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8074         * editfns.c (make_time): New function.
8075         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8076         * lisp.h (make_time): Prototype and comment it.
8077         * dired.c (wasteful_word_to_lisp): Deprecate.
8078         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8079
8080 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8081
8082         * fileio.c (auto_save_1): Use current coding system, not
8083         escape-quoted.
8084
8085 2001-11-13  Ben Wing  <ben@xemacs.org>
8086
8087         * window.c:
8088         * window.c (window_truncation_on):
8089         * window.c (syms_of_window):
8090         truncate-partial-width-windows should respect the buffer being
8091         displayed, like other redisplay vars.
8092
8093 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8094
8095         * event-stream.c (Fread_key_sequence): save current buffer.
8096
8097 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8098
8099         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8100
8101 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8102
8103         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8104
8105 2001-10-26  Mike Alexander  <mta@arbortext.com>
8106
8107         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8108
8109 2001-10-25  Andy Piper  <andy@xemacs.org>
8110
8111         * ChangeLog:
8112         * dialog-msw.c (handle_directory_proc): new function.
8113          (handle_directory_dialog_box): new fucntion.
8114          (handle_file_dialog_box): use new directory dialog support.
8115          (mswindows_make_dialog_box_internal): ditto.
8116         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8117         handling.
8118         (mswindows_find_frame): make global.
8119         * fileio.c (Fexpand_file_name): build fix.
8120         * general-slots.h: add Qdirectory.
8121         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8122         handling.
8123         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8124         cygwin not leaving win32 paths unchanged.
8125         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8126         cygwin runtime to do path conversion.
8127         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8128         (syms_of_win32): add new function.
8129         * window.c (window_loop): build fix.
8130
8131 2001-10-15  Andy Piper  <andy@xemacs.org>
8132
8133         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8134
8135 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8136
8137         * XEmacs 21.4.5 "Civil Service" is released.
8138
8139 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8140
8141         * glyphs-x.c: Force buffer-tab highlight update when moving the
8142         buffer, avoiding an ugly black border, used for keyboard focus
8143         indication, on a widget that can never have keyboard focus, the
8144         buffer tab.
8145
8146 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8147
8148         * process-unix.c (unix_open_multicast_group): Remove too much
8149         conversion between host and network byte order.
8150
8151 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8152
8153         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8154         before replacing them.
8155
8156         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8157         operation.
8158
8159         * src/window.c (undedicate_windows): Use it.
8160         * src/window.h: Add prototype.
8161
8162 2001-09-17  Ben Wing  <ben@xemacs.org>
8163
8164         * fileio.c (normalize_filename):
8165         * fileio.c (Fexpand_file_name):
8166         Fix various C++ compile errors in Andy's recent code.
8167         
8168         * callint.c (Fcall_interactively):
8169         * editfns.c (Ftemp_directory):
8170         * editfns.c (Fuser_full_name):
8171         * emacs.c (argmatch):
8172         * lread.c (locate_file_map_suffixes):
8173         * redisplay-x.c (x_ring_bell):
8174         Fix sign-compare warnings.
8175         
8176 2001-09-08  Andy Piper  <andy@xemacs.org>
8177
8178         * fileio.c (normalize_filename): copied from nt.c
8179         * (Ffile_name_directory): enable win32 paths under cygwin.
8180         * (Ffile_name_nondirectory): ditto.
8181         * (directory_file_name): ditto.
8182         * (Fexpand_file_name): ditto.
8183         * (Ffile_truename): ditto.
8184         * (Fsubstitute_in_file_name): ditto.
8185         * (Ffile_name_absolute_p): ditto.
8186         * (Ffile_readable_p): ditto.
8187
8188 2001-09-08  Andy Piper  <andy@xemacs.org>
8189
8190         * device-msw.c (mswindows_finish_init_device): remove dde
8191         initialization.
8192         * device-msw.c (mswindows_init_dde): factor out from
8193         mswindows_finish_init_device()
8194         * device-msw.c (init_mswindows_very_early): new function
8195         initialize but don't enable dde.
8196         * emacs.c (main_1): call init_mswindows_very_early.
8197         * event-msw.c:
8198         * event-msw.c (mswindows_dde_callback): only execute when we are
8199         ready.
8200         * symsinit.h: declare init_mswindows_very_early.
8201
8202 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8203
8204         [sjt: This has been in 21.5 for months with no complaints.]
8205
8206         * console.h (struct console_methods): Added flags member.
8207         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8208         (CONMETH_IMPL_FLAG):
8209         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8210         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8211
8212         * device.c (window_system_pixelated_geometry): Use the above macros.
8213
8214         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8215         implememntation flag.
8216         * device.h (DEVICE_DISPLAY_P): Use it.
8217
8218         * frame.c (delete_frame_internal): Use the above macro.
8219
8220         * redisplay.c (redisplay_device): Use it.
8221         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8222         (redisplay_frame): Ditto.
8223
8224         * device-msw.c (mswindows_device_implementation_flags): Removed.
8225         (msprinter_device_implementation_flags): Removed.
8226         (console_type_create_device_mswindows): Removed references to
8227         implementation_flags methods, set implementation flags here.
8228         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8229
8230         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8231         (console_type_create_device_gtk): Removed method declaration.
8232         Added commented out statement which semantically matches the
8233         commented out statement in the above removed method.
8234
8235 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8236
8237         The attached patch fixes a few warnings. 
8238
8239         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8240         * src/frame-gtk.c: guard against GNOME calls in GTK only
8241         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8242         * src/select-gtk.c: prototype lisp_to_time
8243
8244 2001-06-08  Ben Wing  <ben@xemacs.org>
8245
8246         ------ gc-in-window-procedure fixes ------
8247         
8248         * alloc.c:
8249         * alloc.c (struct post_gc_action):
8250         * alloc.c (register_post_gc_action):
8251         * alloc.c (run_post_gc_actions):
8252         * alloc.c (garbage_collect_1):
8253         Create "post-gc actions", to avoid those dreaded "GC during window
8254         procedure" problems.
8255
8256         * event-msw.c:
8257         Abort, clean and simple, when GC in window procedure.  We want
8258         to flush these puppies out.
8259
8260         * glyphs-msw.c:
8261         * glyphs-msw.c (finalize_destroy_window):
8262         * glyphs-msw.c (mswindows_finalize_image_instance):
8263         Use a post-gc action when destroying subwindows.
8264
8265         * lisp.h:
8266         Declare register_post_gc_action().
8267
8268         * scrollbar-msw.c:
8269         * scrollbar-msw.c (unshow_that_mofo):
8270         Use a post-gc action when unshowing scrollbar windows, if in gc.
8271
8272         * redisplay.c (mark_redisplay):
8273         Add comment about the utter evilness of what's going down here.
8274
8275         ------ cygwin setitimer fixes ------
8276         
8277         * Makefile.in.in (sheap_objs):
8278         * Makefile.in.in (profile_objs):
8279         * Makefile.in.in (objs):
8280         Compile profile.c only when HAVE_SETITIMER.
8281         
8282         * nt.c (mswindows_sigset):
8283         * nt.c (mswindows_sighold):
8284         * nt.c (mswindows_sigrelse):
8285         * nt.c (mswindows_sigpause):
8286         * nt.c (mswindows_raise):
8287         * nt.c (close_file_data):
8288         Style fixes.
8289         
8290         * nt.c:
8291         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8292         
8293         * profile.c:
8294         * profile.c (Fstart_profiling):
8295         * profile.c (Fstop_profiling):
8296         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8297         instead of just plain setitimer().
8298         
8299         * signal.c:
8300         * signal.c (set_one_shot_timer):
8301         * signal.c (alarm):
8302         Define qxe_setitimer() as an encapsulation around setitimer() --
8303         call setitimer() directly unless Cygwin or MS Win, in which case
8304         we use our simulated version in win32.c.
8305         
8306         * systime.h:
8307         * systime.h (struct itimerval):
8308         * systime.h (ITIMER_REAL):
8309         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8310         comment about "qxe" and the policy regarding encapsulation.
8311
8312         * win32.c:
8313         * win32.c (setitimer_helper_proc):
8314         * win32.c (setitimer_helper_period):
8315         * win32.c (setitimer_helper):
8316         * win32.c (mswindows_setitimer):
8317         Move setitimer() emulation here, so Cygwin can use it.
8318         Rename a couple of functions and variables to be longer and more
8319         descriptive.  In setitimer_helper_proc(), send the signal
8320         using either mswindows_raise() or (on Cygwin) kill().  If for
8321         some reason we are still getting lockups, we'll change the kill()
8322         to directly invoke the signal handlers.
8323
8324         ------ windows shell fixes ------
8325         
8326         * callproc.c:
8327         * ntproc.c:
8328         Comments about how these two files must die.
8329
8330         * callproc.c (init_callproc):
8331         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8332         not just COMSPEC. (more correct and closer to FSF.) Don't
8333         force a value for SHELL into the environment. (Comments added
8334         to explain why not.)
8335         
8336         * nt.c (init_user_info):
8337         Don't shove a fabricated SHELL into the environment.  See above.
8338
8339 2001-06-01  Ben Wing  <ben@xemacs.org>
8340
8341         * Makefile.in.in (ldflags):
8342         eliminate that pesky "defaulting to 00401000" warning.
8343         * nt.h:
8344         eliminate warnings.
8345
8346 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8347
8348         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8349         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8350
8351 2001-04-24  Jerry James <james@xemacs.org>
8352
8353         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8354         correct order.
8355
8356 2001-06-01  Ben Wing  <ben@xemacs.org>
8357
8358         * event-msw.c (debug_mswin_messages):
8359         conditionalize the messages that were causing compile errors.
8360         (if only macros could generate #ifdef statements ...)
8361
8362 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8363
8364         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8365
8366 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8367
8368         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8369
8370 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8371
8372         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8373         * process-unix.c (unix_canonicalize_host_name):
8374         sysdep.c (init_system_name):
8375         Use it to conditionally support IPv6 canonicalization.
8376
8377 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8378
8379         * event-msw.c:
8380         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8381
8382 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8383
8384         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8385         attempt is made to scroll when no scroll bar is available.
8386
8387 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8388
8389         * input-method-motif.c (XIM_delete_frame): New callback.
8390         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8391         got deleted from 21.4.3.)
8392
8393 2001-06-01  Ben Wing  <ben@xemacs.org>
8394
8395         * nt.c (mswindows_utime):
8396         * nt.c (close_file_data):
8397         fix off-by-one-indirection error.
8398
8399 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8400
8401         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8402         because set_file_times() now takes Lisp_Object path, instead of
8403         char*.
8404         * nt.c: Include buffer.h.
8405         * nt.c (convert_from_time_t): New.
8406         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8407         not set mtime correctly.
8408         * nt.h: Declare mswindows_utime().
8409         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8410         path, instead of char*.
8411         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8412
8413 2001-05-30  Ben Wing  <ben@xemacs.org>
8414
8415         For 21.4:
8416
8417         (Stephen, just take all event-msw.c patches.  This includes
8418         the "iconify" fix below.)
8419
8420         * event-msw.c:
8421         * event-msw.c (mswindows_dequeue_dispatch_event):
8422         * event-msw.c (assert):
8423         * event-msw.c (emacs_mswindows_quit_p):
8424         * event-msw.c (debug_mswin_messages):
8425         * event-msw.c (debug_output_mswin_message):
8426         * event-msw.c (vars_of_event_mswindows):
8427         Fix yet more problems with C-g handling.
8428         Implement debug-mswindows-events.
8429         
8430 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8431
8432         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8433         
8434 2001-05-23  Ben Wing  <ben@xemacs.org>
8435
8436         * event-msw.c (winsock_writer):
8437         * event-msw.c (winsock_closer):
8438         prior kludgy code was clobbering the buffer, thinking it was
8439         "unused" space to store an unneeded return value; instead, use
8440         the variable we've already got staring us in the face.
8441
8442 2001-05-17  Andy Piper  <andy@xemacs.org>
8443
8444         * sysfile.h: don't assume that file attributes are boolean
8445
8446 2001-05-23  Ben Wing  <ben@xemacs.org>
8447
8448         * device-msw.c (msprinter_init_device):
8449         signal an error rather than crash with an unavailable network
8450         printer (from Mike Alexander).
8451         
8452         * event-msw.c:
8453         * event-msw.c (struct winsock_stream):
8454         * event-msw.c (winsock_writer):
8455         * event-msw.c (winsock_closer):
8456         * event-msw.c (make_winsock_stream_1):
8457         cleanup headers.  fix (hopefully) an error with data corruption
8458         when sending to a network connection.
8459
8460         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8461         to handle the ~user prefix by (a) always assuming we're referencing
8462         ourselves and not even verifying the user -- hence any file with
8463         a tilde as its first char is invalid! (b) if there wasn't a slash
8464         following the filename, the pointer was set *past* the end of
8465         file and we started reading from uninitialized memory.  Now we
8466         simply treat these as files, always.
8467
8468         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8469         
8470 2001-05-19  Ben Wing  <ben@xemacs.org>
8471
8472         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8473
8474         * process-nt.c:
8475         * process-nt.c (vars_of_process_nt):
8476         remove unused mswindows-quote-process-args.  rec for 21.4.
8477         
8478 2001-05-12  Ben Wing  <ben@xemacs.org>
8479
8480         * event-msw.c (mswindows_dde_callback):
8481         * event-msw.c (mswindows_wnd_proc):
8482         eliminate cygwin warnings.
8483
8484 2001-05-06  Ben Wing  <ben@xemacs.org>
8485
8486         * console-msw.h:
8487         * device-msw.c:
8488         * device-msw.c (print_dialog_worker):
8489         * device-msw.c (mswindows_handle_print_dialog_box):
8490         * device-msw.c (syms_of_device_mswindows):
8491         * dialog-msw.c (mswindows_make_dialog_box_internal):
8492         * general-slots.h:
8493         implement printing the selection when it's selected.
8494
8495 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8496
8497         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8498
8499 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8500
8501         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8502         EMACS_INT is signed.
8503
8504 2001-04-15  Michael Lausch  <mla@1012surf.net>
8505
8506         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8507         gtk_widget_request_size() to give scrollbar >0 width for
8508         GTK >1.2.8.
8509
8510 2001-05-30  William M. Perry  <wmperry@gnu.org>
8511
8512         * event-gtk.c: Check for buttons as modifier keys.
8513
8514 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8515
8516         * s\mingw32.h:
8517         Properly find MinGW's <process.h> inside Cygwin's restructured
8518         include directories.  Don't try to include <cygwin/version.h>
8519         since we are dropping support for MinGW in versions of Cygwin
8520         earlier than b21.
8521         * nt.c:
8522         Drop support for MinGW in versions of Cygwin before b21.
8523         * sysdep.c:
8524         Properly find MinGW's <process.h> inside Cygwin's restructured
8525         include directories.
8526         * syswindows.h:
8527         Drop support for MinGW in versions of Cygwin before b21.
8528         * unexcw.c:
8529         Even though a.out.h is no longer detected by configure, allow
8530         MinGW to use it until we figure out how to do the job with Win32.
8531
8532 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8533
8534         * syntax.c (find_start_of_comment):
8535         Fix `unbalanced parentheses' bug when dealing with mixed comment
8536         styles in c++/java/etc. mode
8537
8538 2001-05-29  Mike Alexander  <mta@arbortext.com>
8539
8540         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8541         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8542
8543 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8544
8545         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8546
8547 2001-03-31  Mike Sperber <mike@xemacs.org>
8548
8549         * search.c (Freplace_match): Support FSF-style specification of
8550         match subexpression when applied to a buffer.
8551
8552 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8553
8554         * event-stream.c (is_scrollbar_event): add missing semicolon
8555
8556 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8557
8558         * Makefile.in.in: Use TAR macro instead of hardcoding
8559           tar.  Allows use of GNU tar instead of system tar
8560
8561 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8562
8563         * event-stream.c (is_scrollbar_event): add missing semicolon
8564
8565 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8566
8567         * XEmacs 21.4.3 "Academic Rigor" is released.
8568
8569 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8570
8571         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8572
8573 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8574
8575         * buffer.c (Vcase_fold_search): Remove obsolete
8576           comment about non ASCII case-fold-search.  This
8577           bug has been fixed by case-table changes.
8578
8579 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8580
8581         * event-msw.c: Restore include of events-mod.h.
8582
8583 2001-04-22   zhaoway  <zw@debian.org>
8584
8585         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8586         !HAVE_SCROLLBARS.
8587
8588 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8589
8590         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8591
8592 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8593
8594         * mule-charset.c (Fmake_charset): Add missing else.
8595
8596 2001-04-23  Ben Wing  <ben@xemacs.org>
8597
8598         * event-msw.c (FAKE_MOD_QUIT):
8599         * event-msw.c (mswindows_dequeue_dispatch_event):
8600         * event-msw.c (mswindows_wnd_proc):
8601         * event-msw.c (emacs_mswindows_quit_p):
8602         Get critical quit working.
8603
8604 2001-05-05  Ben Wing  <ben@xemacs.org>
8605
8606         * console-msw.h:
8607         * device-msw.c:
8608         * device-msw.c (mswindows_get_default_margin):
8609         * frame-msw.c (mswindows_size_frame_internal):
8610         * frame-msw.c (msprinter_init_frame_1):
8611         * frame-msw.c (vars_of_frame_mswindows):
8612         Change top/bottom margin defaults to 0.5 inches.
8613
8614 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8615
8616         Fix link error with gcc 3.0 on Linux.
8617         * terminfo.c (UP): Remove.
8618         * terminfo.c (BC): Remove.
8619         * terminfo.c (PC): Remove.
8620         They weren't used, and in any case, these symbols should be
8621         defined in the *library*.
8622
8623 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8624
8625         * s/aix4.h: Fix crash with xlc -O3.
8626         Improve comment explaining how -O3 works.
8627
8628 2001-04-15  Ben Wing  <ben@xemacs.org>
8629
8630         * event-stream.c:
8631         * event-stream.c (Fnext_event):
8632         * event-stream.c (is_scrollbar_event):
8633         * event-stream.c (execute_command_event):
8634         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8635         crash' problem.  His fix introduces other problems.  We filter
8636         out scrollbar events specifically, making them somewhat invisible
8637         to command-building, and not appearing in `this-command-keys'.
8638         More work is still needed (see comments in event-stream.c), but
8639         this fixes all the major problems.
8640
8641 2001-04-20  Ben Wing  <ben@xemacs.org>
8642
8643         * .cvsignore: Added stuff for Windows.
8644
8645 2001-04-28  Ben Wing  <ben@xemacs.org>
8646
8647         * buffer.c (Ferase_buffer):
8648         * editfns.c (buffer_insert1):
8649         * editfns.c (Finsert_before_markers):
8650         * editfns.c (Finsert_string):
8651         * editfns.c (Finsert_char):
8652         * editfns.c (Fdelete_region):
8653         * editfns.c (Fwiden):
8654         * editfns.c (Fnarrow_to_region):
8655         remove bogus lines setting zmacs_region_stays to 0.
8656         
8657 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8658
8659         * process-unix.c (unix_open_network_stream): If connect() fails
8660         invalidate file descriptor after closing it.
8661
8662 2001-03-08  Mike Alexander  <mta@arbortext.com>
8663
8664         * event-msw.c (mswindows_need_event_in_modal_loop):
8665         Don't dispatch a message if we didn't get one.
8666         (mswindows_need_event):
8667         Terminate the correct process when one exits instead of the first
8668         one on Vprocess_list and look for process termination when in
8669         mswindows_protect_modal_loop.
8670
8671 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8672
8673         * XEmacs 21.4.1 "Copyleft" is released.
8674
8675 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8676
8677         * input-method-motif.c (XIM_delete_frame): New callback.
8678         (XIM_init_frame): Register it.
8679
8680 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8681
8682         * XEmacs 21.4.0 "Solid Vapor" is released.
8683
8684 2001-04-15  Ben Wing  <ben@xemacs.org>
8685
8686         * cmdloop.c (call_command_loop):
8687         Fix braino in bit-rotting code.
8688         
8689 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8690
8691         * extents.c (Fset_extent_endpoints): Force creation of extent info
8692         in buffer_or_string.
8693
8694         * extents.c (process_extents_for_insertion_mapper): Correctly
8695         check for open-open zero-length extents.
8696
8697 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8698
8699         * lisp.h: New typedefs Memory_count, Element_count.
8700         * regex.c:
8701         * regex.h:
8702         Sign-compare warning elimination: several unsigned -> signed.
8703         Based on work by Ben Wing <ben@xemacs.org>.
8704
8705 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8706
8707         * XEmacs 21.2.47 "Zephir" is released.
8708
8709 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8710
8711         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8712
8713 2001-04-03  Mike Sperber <mike@xemacs.org>
8714
8715         * search.c: Revert previous patch due because of release.
8716
8717 2001-03-30  Ben Wing  <ben@xemacs.org>
8718
8719         * s\cygwin32.h:
8720         Add missing killpg prototype.
8721
8722         * elhash.c:
8723         Add a comment about fixing problems when a new entry is added
8724         while mapping.
8725
8726         * frame-msw.c (mswindows_init_frame_1):
8727         Fix compile warnings.
8728
8729         * menubar.c (vars_of_menubar):
8730         Provide `menu-accelerator-support' to indicate that we properly
8731         support %_ in menu specifications, so that package code can
8732         conditionalize on this (and remove %_ from menu specifications
8733         on older versions).
8734
8735         * event-msw.c:
8736         * scrollbar-msw.c:
8737         * scrollbar-msw.c (can_scroll):
8738         * scrollbar-msw.h:
8739         Fix handling of mouse wheel under Windows to follow standards --
8740         now scrolls window under pointer, not selected window.
8741
8742 2001-03-31  Mike Sperber <mike@xemacs.org>
8743
8744         * search.c (Freplace_match): Support FSF-style specification of
8745         match subexpression when applied to a buffer.
8746
8747 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8748
8749         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8750         function to modify KEYMAP, so map over a copy of the hash table.
8751
8752 2001-03-21  Martin Buchholz <martin@xemacs.org>
8753
8754         * XEmacs 21.2.46 "Urania" is released.
8755
8756 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8757
8758         * realpath.c (xrealpath): Make file-truename work with symlinks to
8759         /cygdrive paths on cygwin. Always lowercase drive-letters on
8760         native windows.
8761         (cygwin_readlink): Don't try to find canonical filename unless
8762         file exists.
8763
8764 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8765
8766         * ChangeLog: Log GTK merge.
8767
8768         * dumper.c:
8769         * select-x.c:
8770         * specifier.c:
8771         * symeval.h:
8772         Revert gratuitous whitespace changes from GTK merge.
8773
8774         * emacs.c: Document end of complex #ifdef @ l. 1495.
8775
8776
8777 2001-03-12  Andy Piper  <andy@xemacs.org>
8778
8779         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8780         have to do likewise.
8781
8782 2001-03-12  Andy Piper  <andy@xemacs.org>
8783
8784         * sysdep.c: we only support mingw now.
8785
8786 2001-03-09  Andy Piper  <andy@xemacs.org>
8787
8788         * unexcw.c (copy_executable_and_dump_data_section): making approx
8789         overrun a warning only.
8790
8791 2001-03-10  William M. Perry  <wmperry@aventail.com>
8792
8793         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8794         satisfy Stephen's identical-after-cpp plea.
8795
8796 2001-03-02  Ben Wing  <ben@xemacs.org>
8797
8798         * cmds.c:
8799         * cmds.c (Fforward_char):
8800         * syntax.c:
8801         * window.c:
8802
8803         Augment documentation of the most common motion commands to make
8804         note of the shifted-motion support.
8805         
8806 2001-03-02  Ben Wing  <ben@xemacs.org>
8807
8808         * nt.c (mswindows_fstat):
8809         * nt.c (mswindows_stat):
8810         * search.c (boyer_moore):
8811         Fix compile warnings under Windows.
8812         
8813         * sysdep.c (sys_readdir):
8814         Fix buggy filename-conversion code under Mule.
8815
8816 2001-03-09  William M. Perry  <wmperry@aventail.com>
8817
8818         * Makefile.in.in:
8819         * config.h.in:
8820         * console.c:
8821         * console.h:
8822         * device.c:
8823         * device.h:
8824         * dragdrop.c:
8825         * emacs.c:
8826         * event-stream.c:
8827         * events.c:
8828         * events.h:
8829         * faces.c:
8830         * frame.h:
8831         * general-slots.h:
8832         * glyphs.c:
8833         * gutter.c:
8834         * inline.c:
8835         * lisp.h:
8836         * lrecord.h:
8837         * make-src-depend:
8838         * redisplay-output.c:
8839         * redisplay.c:
8840         * symsinit.h:
8841         * sysfile.h:
8842         * toolbar.c:
8843         * window.c:
8844         The Great GTK Merge.
8845
8846         * ChangeLog.GTK:
8847         * console-gtk.c:
8848         * console-gtk.h:
8849         * device-gtk.c:
8850         * emacs-marshals.c:
8851         * emacs-widget-accessors.c:
8852         * event-gtk.c:
8853         * frame-gtk.c:
8854         * gccache-gtk.c:
8855         * gccache-gtk.h:
8856         * glade.c:
8857         * glyphs-gtk.c:
8858         * glyphs-gtk.h:
8859         * gtk-glue.c:
8860         * gtk-xemacs.c:
8861         * gtk-xemacs.h:
8862         * gui-gtk.c:
8863         * gui-gtk.h:
8864         * menubar-gtk.c:
8865         * native-gtk-toolbar.c:
8866         * objects-gtk.c:
8867         * objects-gtk.h:
8868         * redisplay-gtk.c:
8869         * scrollbar-gtk.c:
8870         * scrollbar-gtk.h:
8871         * select-gtk.c:
8872         * toolbar-gtk.c:
8873         * ui-byhand.c:
8874         * ui-gtk.c:
8875         * ui-gtk.h:
8876         The Great GTK Merge: new files.
8877
8878 2001-02-26  Ben Wing  <ben@xemacs.org>
8879
8880         Reapplied Lstream change.
8881
8882 2001-02-26  Ben Wing  <ben@xemacs.org>
8883
8884         Undid the last change, since it is more controversial than I
8885         thought.  It should be back in at some point soon.
8886         
8887 2001-02-25  Ben Wing  <ben@xemacs.org>
8888
8889         * buffer.c:
8890         * callproc.c (Fold_call_process_internal):
8891         * event-msw.c (ntpipe_slurp_reader):
8892         * event-msw.c (ntpipe_shove_writer):
8893         * event-msw.c (winsock_reader):
8894         * event-msw.c (winsock_writer):
8895         * file-coding.c:
8896         * file-coding.c (detect_eol_type):
8897         * file-coding.c (detect_coding_type):
8898         * file-coding.c (determine_real_coding_system):
8899         * file-coding.c (Fdetect_coding_region):
8900         * file-coding.c (decoding_reader):
8901         * file-coding.c (decoding_writer):
8902         * file-coding.c (mule_decode):
8903         * file-coding.c (Fdecode_coding_region):
8904         * file-coding.c (encoding_reader):
8905         * file-coding.c (encoding_writer):
8906         * file-coding.c (mule_encode):
8907         * file-coding.c (Fencode_coding_region):
8908         * file-coding.c (detect_coding_sjis):
8909         * file-coding.c (decode_coding_sjis):
8910         * file-coding.c (encode_coding_sjis):
8911         * file-coding.c (detect_coding_big5):
8912         * file-coding.c (decode_coding_big5):
8913         * file-coding.c (encode_coding_big5):
8914         * file-coding.c (detect_coding_ucs4):
8915         * file-coding.c (decode_coding_ucs4):
8916         * file-coding.c (encode_coding_ucs4):
8917         * file-coding.c (detect_coding_utf8):
8918         * file-coding.c (decode_coding_utf8):
8919         * file-coding.c (encode_coding_utf8):
8920         * file-coding.c (detect_coding_iso2022):
8921         * file-coding.c (decode_coding_iso2022):
8922         * file-coding.c (encode_coding_iso2022):
8923         * file-coding.c (decode_coding_no_conversion):
8924         * file-coding.c (encode_coding_no_conversion):
8925         * glyphs-x.c (write_lisp_string_to_temp_file):
8926         * gpmevent.c (tty_get_foreign_selection):
8927         * lisp.h:
8928         * lstream.c:
8929         * lstream.c (Lstream_flush_out):
8930         * lstream.c (Lstream_adding):
8931         * lstream.c (Lstream_write_1):
8932         * lstream.c (Lstream_write):
8933         * lstream.c (Lstream_raw_read):
8934         * lstream.c (Lstream_read_more):
8935         * lstream.c (Lstream_read):
8936         * lstream.c (Lstream_unread):
8937         * lstream.c (Lstream_fputc):
8938         * lstream.c (stdio_reader):
8939         * lstream.c (stdio_writer):
8940         * lstream.c (filedesc_reader):
8941         * lstream.c (filedesc_writer):
8942         * lstream.c (lisp_string_reader):
8943         * lstream.c (struct fixed_buffer_stream):
8944         * lstream.c (make_fixed_buffer_input_stream):
8945         * lstream.c (make_fixed_buffer_output_stream):
8946         * lstream.c (fixed_buffer_reader):
8947         * lstream.c (fixed_buffer_writer):
8948         * lstream.c (struct resizing_buffer_stream):
8949         * lstream.c (resizing_buffer_writer):
8950         * lstream.c (dynarr_writer):
8951         * lstream.c (lisp_buffer_reader):
8952         * lstream.c (lisp_buffer_writer):
8953         * lstream.h:
8954         * lstream.h (lstream_implementation):
8955         * lstream.h (struct lstream):
8956         * md5.c (Fmd5):
8957         * process-nt.c (nt_send_process):
8958         * process-unix.c (unix_send_process):
8959         
8960         Correct Lstream lossage due to mixing of signed and unsigned
8961         quantities.  All Lstream uses of size_t and ssize_t are now a
8962         single signed data type Lstream_data_count.  This fixes problems
8963         under Windows with sending large quantities of data to a process,
8964         and may well fix other subtle bugs.
8965
8966 2001-02-23  Martin Buchholz <martin@xemacs.org>
8967
8968         * XEmacs 21.2.45 "Thelxepeia" is released.
8969
8970 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8971
8972         * lisp-union.h (XSETINT): 
8973         (XSETCHAR):
8974         (XSETOBJ): 
8975         Reverse previous change of 2001-02-06.
8976
8977 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8978
8979         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8980         buffers.
8981         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8982         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8983         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8984         * regex.c (POS_AS_IN_BUFFER): removed
8985         * regex.c (re_search_2):
8986         * regex.c (re_match_2):
8987         Don't use an offset of 1 when calculating buffer positions, since
8988         `BI_BUF_BEGV' does it already.
8989
8990 2001-02-18  Wim Dumon  <wim@easics.be>
8991
8992         * insdel.c (prepare_to_modify_buffer): Also check for
8993         supersession when clash-detection is enabled. 
8994
8995 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8996
8997         * regex.c (re_match_2_internal):
8998         Convert temp characters from 'const unsigned char' to 're_char'.
8999         Fix crashing bug with extended characters under mule.
9000         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
9001         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
9002         font-lock, pdump, and new syntax-table code.
9003         * syntax.c (find_start_of_comment):
9004         (find_end_of_comment):
9005         (forward-comment):
9006         Fix crashing bugs involving moving beyond end of buffer.
9007         * syntax.c (find_start_of_comment):
9008         Fixed logic to allow proper detection of cases where the same
9009         character is used to end both a two-char comment start and a
9010         two-char comment end sequence. Fixes `(forward-comment -1)'.
9011         * syntax.c (find_start_of_comment):
9012         Return position just past last comment-end character for all cases
9013         (previously was only done for two-char comment-end sequences).
9014         * syntax.c (forward-comment):
9015         Take value returned from `find_end_of_comment', rather than
9016         incrementing it.
9017         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
9018         Properly deal with BUFFERP (syntax_cache.object)
9019
9020 2001-02-17  Martin Buchholz  <martin@xemacs.org>
9021
9022         * alloc.c (Fgarbage_collect): 
9023         * alloc.c (make_bit_vector_from_byte_vector):
9024         -Wsign-compare-correctness.
9025
9026 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9027
9028         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9029         (XSETCHAR): Likewise.
9030         (XSETOBJ): Likewise.
9031
9032 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9033
9034         * mule-canna.c (canna-func-delete_previous): 
9035         Rename to canna-func-delete-previous.
9036
9037 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9038
9039         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9040
9041 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9042
9043         * font-lock.c (find_context): Fix C++ compile errors introduced by
9044         recent patch
9045
9046 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9047
9048         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9049         pragma, but earlier ones barf on the same pragma.
9050
9051 2001-02-06  Mike Sperber <mike@xemacs.org>
9052
9053         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9054         `configure-mule-lisp-directory'.
9055
9056 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9057
9058         Make sure dump-id.c is compiled in the same way as other .c's.
9059         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9060         * dump-id.h: Remove.
9061         * emacs.c: Move dump-id.h into dumper.h.
9062         * dumper.h: Move dump-id.h into dumper.h.
9063         * Makefile.in.in:
9064         Use standard .c.o rule for building dump-id.o.
9065         Remove preprocessor flags from link command.
9066         Add dump-id.o to ${otherobjs} if PDUMP.
9067
9068 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9069
9070         Port FSF 20.7 syntax table improvements.
9071         * syntax.c.
9072         * syntax.h.
9073
9074         Fixups for new syntax table stuff.
9075         * dired.c: Include syntax.c.
9076         (Fdirectory_files): Initialize regex_match_object and
9077         regex_emacs_buffer.
9078         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9079         and Fget_char_property.
9080
9081         Use ported FSF 20.7 syntax table improvements.
9082         * font-lock.c.
9083         * regex.c.
9084         * search.c.
9085         
9086 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9087
9088         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9089         Unixware's enum boolean from sys/types.h.
9090
9091 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9092
9093         Fix support for building with latest Purify.
9094         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9095         (PURIFY_FLAGS): Likewise.
9096
9097 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9098
9099         * fileio.c (lisp_string_set_file_times): New.
9100         * fileio.c (Fcopy_file): Use it.
9101         Fixes bug:
9102         (copy-file filename non-ascii-filename t t)
9103         ==> No such file or directory, non-ascii-filename
9104
9105 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9106
9107         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9108         USHRT_MAX seems clearer than ~0 anyways.
9109
9110 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9111
9112         dumper improvements.  Inspired by Olivier.
9113         * dumper.c (pdump_max_align): New.
9114         * dumper.c (pdump_add_entry): Use pdump_max_align.
9115         * dumper.c (pdump_get_entry_list): Likewise.
9116         * dumper.c (pdump_scan_by_alignment): Likewise.
9117         Don't iterate through unnecessary alignments.
9118         * dumper.c (pdump_file_get): No need to align result of malloc().
9119         * dumper.c (pdump_mallocadr): Remove.  
9120         The result of malloc() is guaranteed to be maximally aligned.
9121         * dumper.c: s/elmt/elt/g;
9122         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9123         * dumper.c (pdump_alert_undump_object): Likewise.
9124         * dumper.c (pdump_align_table): 
9125         Don't support alignments > 64.
9126         Store ALIGNOF's, not shift counts, in table.
9127
9128 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9129
9130         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9131         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9132         * systime.h: Use HAVE_UTIME.
9133         * sysdep.c (struct utimbuf): Remove.
9134         * sysdep.c (set_file_times): Prefer utime() to utimes().
9135         * config.h.in (HAVE_UTIME): New.
9136         * config.h.in (HAVE_UTIME_H): Remove.
9137         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9138
9139 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9140
9141         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9142
9143 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9144
9145         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9146
9147 2001-02-08  Martin Buchholz <martin@xemacs.org>
9148
9149         * XEmacs 21.2.44 "Thalia" is released.
9150
9151 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9152
9153         Fixes crashes in kill-emacs on some systems.
9154         * process-unix.c (unix_kill_child_process):
9155         It's OK for kill() to fail with ESRCH.
9156
9157 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9158
9159         Contortions to make .gdbinit tricks work on most systems.
9160         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9161         * alloc.c (dbg_valmask): Make non-const.
9162         * alloc.c (dbg_typemask): Make non-const.
9163         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9164         * alloc.c (dbg_valbits): Make non-const.
9165         * alloc.c (dbg_gctypebits): Make non-const.
9166         * .gdbinit (decode_object): Make it work with AIX cc.
9167
9168 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9169
9170         * elhash.c (make_general_lisp_hash_table):
9171         Use simpler and more efficient calloc to clear entries.
9172
9173 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9174
9175         * window.c (window_scroll): Work around an AIX C compiler bug.
9176         Fixes 'scroll-up' does nothing problem with xlC.
9177
9178 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9179
9180         * .gdbinit: Remove obsolete comment.
9181
9182 2001-01-31  Mike Alexander  <mta@arbortext.com>
9183
9184         * select.c (Fown_selection_internal): Set owned_p for device
9185         method correctly.
9186
9187 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9188
9189         Port to g++ 2.97.
9190         "not" cannot be used as a macro name as it is an operator in C++
9191         * config.h.in: Stop #defining `not'.
9192         * chartab.c (check_category_char): not ==> not_p
9193         * chartab.h: Likewise.
9194         * regex.c (re_match_2_internal): Likewise.
9195
9196 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9197
9198         * lisp-disunion.h: Fix up comments.
9199
9200 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9201
9202         * keymap.c (define_key_check_and_coerce_keysym):
9203         (syms_of_keymap):
9204         Support mouse-6 and mouse-7 bindings in the obvious way.
9205
9206 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9207
9208         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9209
9210 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9211
9212         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9213         Previous patch missed DEFVAR_INT_MAGIC.
9214         Make sure future DEFVAR_foo use correct types.
9215         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9216         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9217         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9218         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9219         * (DEFVAR_INT): Likewise.
9220         * redisplay.c (vertical_clip): Should be of type Fixnum.
9221         * redisplay.c (horizontal_clip): Likewise.
9222         * lisp.h (dump_add_opaque_int): New.
9223         (dump_add_opaque_fixnum): New.
9224
9225 2001-01-29  Andy Piper  <andy@xemacs.org>
9226
9227         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9228         since they can be eval'ed
9229
9230 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9231
9232         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9233         Oops, XEmacs redefines `class'.  Use `typename' instead.
9234
9235 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9236
9237         * dumper.c: Fix C++ compile errors.
9238
9239 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9240
9241         * tparam.c: Use correct prototypes.
9242
9243 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9244
9245         * sysproc.h: #include util.h for NetBSD's openpty.
9246
9247 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9248
9249         More 64-bit correctness.
9250         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9251         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9252         Fix up comments.
9253         This finally finishes the 64-bit SGI port.
9254         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9255         * symbols.c: Fix up comments and type casts.
9256         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9257         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9258         * symeval.h (Fixnum): New type.
9259         * symeval.h (symbol_value_type): Fix up comment.
9260
9261         * commands.h:
9262         * nt.c:
9263         * emacs.c:
9264         * data.c:
9265         * redisplay.c:
9266         * abbrev.c:
9267         * dired-msw.c:
9268         * event-Xt.c:
9269         * eldap.c:
9270         * window.c:
9271         * sound.c:
9272         * event-stream.c:
9273         * eval.c:
9274         * buffer.c:
9275         * mule-canna.c: A million DEFVAR_INTs here...
9276         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9277         * extents.c:
9278         * cmdloop.c:
9279         * lisp.h:
9280         * select-x.c:
9281         * console-x.h:
9282         * event-msw.c:
9283         * mule-wnnfns.c:
9284         * hpplay.c:
9285         * ralloc.c:
9286         * alloc.c:
9287         * keymap.c:
9288         * profile.c:
9289         s/int/Fixnum/g in DEFVAR_INT declarations.
9290
9291 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9292
9293         Port pdump to SGI alignment-sensitive environment.
9294         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9295         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9296         properly aligned.
9297         Define and use aligned reading and writing macros.
9298         Use buffered stdio instead of posix i/o for faster dumping.
9299         Eliminate kludgy 256 byte space for header.
9300         Read and write from dump file using structs for alignment safety.
9301         * dumper.c (pdump_align_stream): New.
9302         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9303         * dumper.c (PDUMP_READ_ALIGNED): New.
9304         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9305         * dumper.c (pdump_static_Lisp_Object): New struct.
9306         * dumper.c (pdump_static_pointer): New struct.
9307         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9308         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9309         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9310         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9311
9312         * dumper.c (pdump_backtrace):
9313         * dumper.c (pdump_get_indirect_count):
9314         * dumper.c (pdump_register_object):
9315         * dumper.c (pdump_register_struct):
9316         * dumper.c (pdump_reloc_one):
9317         * dumper.c (pdump_scan_by_alignment):
9318         * dumper.c (pdump_dump_from_root_struct_ptrs):
9319         * dumper.c (pdump_dump_opaques):
9320         * dumper.c (pdump_dump_rtables):
9321         * dumper.c (pdump_dump_from_root_objects):
9322         * dumper.c (pdump):
9323         * dumper.c (pdump_load_finish):
9324         Use aligned reading and writing.
9325
9326         * dumper.c (pdump_free): Make static.
9327         * dumper.c (pdump_hFile): Likewise.
9328         * dumper.c (pdump_hMap): Likewise.
9329
9330 2001-01-26  Martin Buchholz <martin@xemacs.org>
9331
9332         * XEmacs 21.2.43 "Terspichore" is released.
9333
9334 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9335
9336         Type fiddling for window_config.saved_windows_count
9337         * window.c (struct window_config): 
9338         Make saved_windows_count member unsigned.
9339         * window.c (sizeof_window_config_for_n_windows): 
9340         Make parameter unsigned.
9341         * window.c (mark_window_config):
9342         * window.c (window_config_equal):
9343         * window.c (free_window_configuration):
9344         * window.c (Fset_window_configuration):
9345         * window.c (count_windows):
9346         * window.c (Fcurrent_window_configuration):
9347         * window.c (reinit_vars_of_window):
9348         Update all callers and users.
9349
9350 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9351
9352         Alignment correctness for flexible arrays.
9353         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9354         Make alignment-correct. Add interesting comments.
9355         * alloc.c (size_vector):
9356         * alloc.c (make_vector_internal):
9357         * alloc.c (make_bit_vector_internal):
9358         * alloc.c (sweep_bit_vectors_1):
9359         * fns.c (size_bit_vector):
9360         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9361         * window.c (sizeof_window_config_for_n_windows): 
9362         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9363
9364 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9365
9366         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9367
9368 2001-01-23  Andy Piper  <andy@xemacs.org>
9369
9370         * select.c (Fown_selection_internal): pass owned_p
9371
9372         * select-msw.c (mswindows_own_selection): New Signature.
9373
9374         * console.h (struct console_methods): add owned_p to
9375         _own_selection.
9376
9377         * select-x.c (x_own_selection): pass owned_p
9378         (hack_motif_clipboard_selection): use owned_p
9379         (vars_of_select_x): new variable -
9380         x_selection_strict_motif_ownership.
9381
9382 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9383
9384         * specifier.h (specifier_data_offset): Remove pointless parens.
9385         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9386
9387 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9388
9389         Make Lisp_Object sizeof methods be alignment-correct.
9390         pdump must restore objects to the same alignment as the C compiler
9391         assumes.  It really matters on SGIs.
9392         * lstream.c (aligned_sizeof_lstream): New.
9393         (sizeof_lstream): Use aligned_sizeof_lstream.
9394         (Lstream_new): Likewise.
9395         * opaque.c (aligned_sizeof_opaque): New.
9396         (sizeof_opaque): Use aligned_sizeof_opaque.
9397         (make_opaque): Likewise.
9398         * specifier.c (aligned_sizeof_specifier): New.
9399         (sizeof_specifier): Use aligned_sizeof_specifier.
9400         (make_specifier_internal): Likewise.
9401
9402 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9403
9404         * lstream.h (struct lstream): Use max_align_t for trailing data.
9405         * specifier.h (struct Lisp_Specifier): Likewise.
9406
9407 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9408
9409         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9410         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9411         (CCL_SUSPEND): Likewise.
9412         (CCL_INVALID_CMD): Likewise.
9413         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9414         (ccl_driver): Likewise.
9415         (CCL_WRITE_CHAR): Macro hygiene.
9416         (CCL_WRITE_STRING): Macro hygiene.
9417
9418 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9419
9420         Port "portable" dumper to SunOS 4 and HP-UX.
9421         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9422         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9423         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9424
9425 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9426
9427         * lisp.h (ALIGNOF): A better definition for C++.
9428
9429 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9430
9431         Macro hygiene.
9432         Fix printf warnings: int format, long int arg.
9433         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9434         (PUSH_FAILURE_POINT): Use correct printf formats.
9435         (POP_FAILURE_POINT): Use correct printf formats.  
9436         Use do {...} while (0)
9437
9438 2001-01-20  Martin Buchholz <martin@xemacs.org>
9439
9440         * XEmacs 21.2.42 "Poseidon" is released.
9441
9442 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9443
9444         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9445
9446 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9447
9448         De-kludgify FIXED_TYPE free list frobbing.
9449         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9450         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9451         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9452         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9453         * alloc.c (LRECORD_FREE_P): New.
9454         * alloc.c (MARK_LRECORD_AS_FREE): New.
9455         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9456         * alloc.c (STRUCT_FREE_P): Deleted.
9457         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9458         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9459         * alloc.c (STRING_CHARS_FREE_P): New.
9460         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9461         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9462         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9463         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9464         * alloc.c (resize_string): Use new definitions.
9465         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9466         * alloc.c (verify_string_chars_integrity): Use new definitions.
9467         * alloc.c (compact_string_chars): Use new definitions.
9468         * alloc.c: Update monster comments.
9469         * lrecord.h (lrecord_type): Add some new lrecord types for
9470         alloc.c's use.
9471
9472 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9473
9474         Improve alignment hackery.
9475         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9476         (max_align_t): Moved from opaque.h - general purpose.
9477         (ALIGN_PTR): Use size_t, not long.
9478         * opaque.h (max_align_t): Move to lisp.h.
9479
9480 2001-01-18  Norbert Koch  <nk@LF.net>
9481
9482         * gui.h: Fix and add prototypes to fix build problems.
9483
9484 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9485
9486         temacs is going away, so `dump-temacs' is now a bad name.
9487         * .dbxrc (dump-temacs): Rename to `dmp'.
9488         * .gdbinit (dump-temacs): Rename to `dmp'.
9489
9490 2001-01-17  Andy Piper  <andy@xemacs.org>
9491
9492         * glyphs.c (print_image_instance): comment to make martin happy.
9493
9494         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9495         change.
9496
9497         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9498         activation.
9499         (mswindows_tab_control_redisplay): warning suppression.
9500
9501         * glyphs-widget.c (widget_update): re-write to cope with updated
9502         items.
9503         (widget_instantiate): use new gui_item functions.
9504         (tab_control_update): deleted.
9505         (progress_gauge_update): deleted.
9506         (image_instantiator_progress_guage): take out update reference.
9507         (image_instantiator_tree_view): ditto.
9508         (image_instantiator_tab_control): ditto.
9509
9510         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9511         Right the new way.
9512         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9513         return whether anything was changed.
9514         (update_gui_item_keywords): as it sounds.
9515
9516         * gui.h: declare widget_gui_parse_item_keywords.
9517
9518         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9519         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9520
9521 2001-01-17  Martin Buchholz <martin@xemacs.org>
9522
9523         * XEmacs 21.2.41 "Polyhymnia" is released.
9524
9525 2001-01-16  Didier Verna  <didier@xemacs.org>
9526
9527         * glyphs.c (image_instantiate): don't use fallbacks when
9528         instantiating a face's background pixmap by inheritance.
9529
9530 2001-01-14  Mike Sperber <mike@xemacs.org>
9531
9532         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9533         Conditionalize accordingly.
9534
9535 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9536
9537         * dumper.c (pdump_file_get): Fix a compiler warning.
9538
9539 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9540
9541         Make Purify happy when pdumping.
9542         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9543         iniitalizing all bits of new lisp object memory.
9544         * symbols.c (Fmake_local_variable): Likewise.
9545         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9546         * symbols.c (Fdefvaralias): Likewise.
9547         * mule-charset.c (vars_of_mule_charset): Likewise.
9548
9549 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9550         Add the `-nd' flag when running pre-dump operations under the debugger.
9551         * .dbxrc (run-temacs): Add `-nd'.
9552         * .dbxrc (update-elc): Likewise.
9553         * .dbxrc (dump-temacs): Likewise.
9554         * .gdbinit (run-temacs): Likewise.
9555         * .gdbinit (check-temacs): Likewise.
9556         * .gdbinit (update-elc): Likewise.
9557         * .gdbinit (dump-temacs): Likewise.
9558
9559 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9560
9561         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9562         export OBJECT_MODE=64
9563         configure --pdump --use-union-type=no
9564         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9565         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9566
9567         * miscplay.c (sndcnv8U_2mono):
9568         Avoid two uses of `++' in the same expression.
9569         Suppresses a GCC warning.
9570
9571 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9572
9573         Make sure future compilers don't miscompile alloc.c.
9574         * alloc.c:
9575         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9576         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9577
9578 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9579
9580         * dumper.c: A little post-pdump-rename comment fixup.
9581
9582 2001-01-09  Jerry James  <james@eecs.ku.edu>
9583
9584         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9585
9586 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9587
9588         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9589         script:
9590         #!/bin/sh
9591         replace_symbol () {
9592           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9593         }
9594
9595         replace_symbol pdump_wire_lists pdump_weak_object_chains
9596         replace_symbol pdump_wire_list dump_add_weak_object_chain
9597
9598         replace_symbol pdump_wires pdump_root_objects
9599         replace_symbol pdump_wire dump_add_root_object
9600
9601         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9602         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9603
9604         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9605         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9606         replace_symbol dumpstructinfo pdump_root_struct_ptr
9607         replace_symbol dumpstruct dump_add_root_struct_ptr
9608
9609         replace_symbol dumpopaque dump_add_opaque
9610         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9611         replace_symbol dumpopaqueinfos pdump_opaques
9612         replace_symbol dumpopaqueinfo pdump_opaque
9613
9614         replace_symbol nb_structdump nb_root_struct_ptrs
9615         replace_symbol nb_opaquedump nb_opaques
9616
9617         replace_symbol align_table pdump_align_table
9618         replace_symbol dump_header pdump_header
9619
9620         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9621         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9622
9623
9624 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9625
9626         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9627         optimizing bytecount_to_charcount().
9628
9629 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9630
9631         * config.h.in:
9632         (HAVE_DLFCN_H): Removed.
9633         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9634
9635 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9636
9637         Portable dumper maintainability improvements.
9638         * alloc.c (staticpro):
9639         * alloc.c (staticpro_nodump):
9640         * alloc.c (garbage_collect_1):
9641         * alloc.c (reinit_alloc_once_early):
9642         * alloc.c (init_alloc_once_early):
9643         * alloc.c: Move dumper functions to alloc.c.
9644         * dumper.c (pdump_backtrace):
9645         * dumper.c (pdump_dump_structs):
9646         * dumper.c (pdump_dump_opaques):
9647         * dumper.c (pdump_dump_rtables):
9648         * dumper.c (pdump_dump_wired):
9649         * dumper.c (pdump):
9650         * dumper.c (pdump_load_check):
9651         * dumper.c (pdump_load_finish):
9652         * dumper.c (pdump_file_unmap):
9653         * dumper.c (pdump_file_get):
9654         * dumper.c (pdump_resource_free):
9655         * dumper.c (pdump_resource_get):
9656         * dumper.c (pdump_file_free):
9657         * dumper.c (pdump_file_try):
9658         * dumper.c (pdump_load):
9659         Remove fixed size limits on staticpro(), staticpro_nodump(),
9660         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9661         Remove custom code for dumping lrecord_implementations_table - use
9662         dumpopaque instead.
9663         Remove (most of the) custom code for dumping staticpros - dump it
9664         like any other dynarr.
9665
9666         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9667         * dumper.c: Moved functions from alloc.c.
9668         * alloc.c (dumpstruct): Moved to dumper.c.
9669         * alloc.c (dumpopaque): Likewise.
9670         * alloc.c (pdump_wire): Likewise.
9671         * alloc.c (pdump_wire_list): Likewise.
9672
9673         * lisp.h (Dynarr_sizeof): New.
9674         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9675         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9676         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9677
9678         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9679         * lisp.h (dumpopaque): ditto.
9680         * lisp.h (pdump_wire): ditto.
9681         * lisp.h (pdump_wire_list): ditto.
9682
9683 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9684
9685         * make-src-depend (PrintPatternDeps):
9686         Use `sort' to make output independent of perl version.
9687
9688 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9689
9690         Port to Netbsd 1.5.
9691         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9692         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9693
9694 2001-01-03  Didier Verna  <didier@xemacs.org>
9695
9696         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9697         that `focus_frame' is alive before thinking of calling
9698         `redisplay_redraw_cursor' on it.
9699
9700 2001-01-08  Martin Buchholz <martin@xemacs.org>
9701
9702         * XEmacs 21.2.40 is released.
9703
9704 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9705
9706         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9707
9708 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9709
9710         * alloc.c (dbg_valmask): Make const.
9711         * alloc.c (dbg_typemask): Make const.
9712         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9713         * alloc.c (dbg_valbits): Make const.
9714         * alloc.c (dbg_gctypebits): Make const.
9715
9716 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9717
9718         * redisplay-x.c (x_bevel_area):
9719         redisplay.h (struct rune):
9720         Typo fixes in comments.
9721
9722 2001-01-05  Andy Piper  <andy@xemacs.org>
9723
9724         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9725         adjustment.
9726
9727         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9728
9729 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9730
9731         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9732
9733         * mule-ccl.c (stack_idx_of_map_multiple):
9734         Non const global data must not be initialized!
9735         Found by MIYASHITA Hisashi.
9736
9737 2001-01-02  Andy Piper  <andy@xemacs.org>
9738
9739         * frame.c (change_frame_size): make sure frame size is always
9740         marked as changed.
9741
9742         * glyphs.c (image_instance_layout): minor code reuse.
9743
9744         * window.c (Fcurrent_window_configuration): revert previous
9745         change.
9746
9747 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9748
9749         * glyphs.h:
9750         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9751
9752 2000-12-31  Andy Piper  <andy@xemacs.org>
9753
9754         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9755         when widget gets unmapped.
9756
9757         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9758         function. Make sure widgets losing focus don't just drop it.
9759         (handle_focus_event_1): record the widget with focus.
9760
9761 2000-12-31  Andy Piper  <andy@xemacs.org>
9762
9763         * window.c (allocate_window): use
9764         make_image_instance_cache_hash_table.
9765         (make_dummy_parent): ditto.
9766         (Fset_window_configuration): ditto.
9767
9768         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9769
9770         * glyphs.c (process_image_string_instantiator): use
9771         INSTANTIATOR_TYPE.
9772         (get_image_instantiator_governing_domain): ditto.
9773         (normalize_image_instantiator): ditto.
9774         (instantiate_image_instantiator): ditto.
9775         (make_image_instance_1): ditto.
9776         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9777         (instantiator_eq_equal): new function for use with instance hash
9778         tables.
9779         (instantiator_eq_hash): ditto.
9780         (make_image_instance_cache_hash_table): create a suitable hash
9781         table for storing image instances.
9782
9783         * elhash.h (hash_table_weakness): new internal weakness type
9784         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9785         declare new functions.
9786
9787         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9788         another weakness type for glyphs.
9789         (make_standard_lisp_hash_table): new function split out from
9790         make_general_lisp_hash_table.
9791         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9792         (hash_table_instantiate): ditto.
9793         (Fmake_hash_table): ditto.
9794
9795 2000-12-31  Martin Buchholz <martin@xemacs.org>
9796
9797         * XEmacs 21.2.39 is released.
9798
9799 2000-12-29  Andy Piper  <andy@xemacs.org>
9800
9801         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9802
9803         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9804         the frame has changed so that we pick up geometry changes such as
9805         menubar visibility.
9806
9807 2000-12-28  Andy Piper  <andy@xemacs.org>
9808
9809         * lastfile.c (my_ebss): make a char array so we can pad the
9810         bss. Fixes cygwin unexec.
9811
9812         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9813
9814 2000-12-26  Andy Piper  <andy@xemacs.org>
9815
9816         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9817         comments and try and be more precise about a non-/SIGIO world.
9818         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9819         SIGIO.
9820
9821         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9822         we don't normalize to zero width or height.
9823
9824 2000-12-24  Andy Piper  <andy@xemacs.org>
9825
9826         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9827
9828 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9829
9830         * s/sco5.h: SCO 5 has pty support.
9831
9832 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9833
9834         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9835         input-method-xlib.c contains whole contents of input-method-xfs.c,
9836         so we can use input-method-xlib.c's code for USE_XFONTSET
9837         using #ifdefs.
9838         * input-method-xfs.c: removed.
9839
9840 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9841
9842         * file-coding.h (enum coding_category_type): reorder enumerators to
9843         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9844         (now one greater than largest real coding_category_type enumerator).
9845         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9846         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9847         Fcoding_category_list, Fset_coding_priority_list,
9848         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9849         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9850
9851 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9852
9853         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9854         * redisplay-output.c (redisplay_output_window): Clear top of window
9855         when face is changed.
9856         * redisplay-x.c (x_redraw_exposed_window): Call
9857         redisplay_clear_top_of_window.
9858         * redisplay.h: Publish redisplay_clear_top_of_window.
9859
9860 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9861
9862         * buffer.c (Fkill_buffer): Map over all devices.
9863         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9864         (list_windows): New function.
9865         (list_all_windows): Ditto.
9866         (Freplace_buffer_in_windows): Use them.
9867
9868 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9869
9870         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9871         (Fopen_database): Use `db_create' instead of `db_open'.
9872         (syms_of_database): Initialize Qqueue.
9873
9874 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9875
9876         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9877         buffer_local_face_property.
9878         * buffer.h (struct buffer): New member buffer_local_face_property.
9879         * window.c (Fset_window_buffer):  Mark window's face as changed
9880         when buffer has buffer local face.
9881         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9882         * objects.c (color_after_change): Set buffer_local_face_property
9883         when locale of face specifier is buffer.
9884         * objects.c (font_after_change): Ditto.
9885         * objects.c (face_boolean_after_change): Ditto.
9886         * glyphs.c (image_after_change): Ditto.
9887
9888 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9889
9890         * nt.c (mswindows_fstat): Report file permissions, volume serial
9891         number, etc. Code adapted from FSF Emacs 20.7.
9892
9893 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9894
9895         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9896         of stat when we don't have symbolic links, to make sure
9897         mswindows_stat is called on mswindows.
9898
9899 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9900
9901         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9902
9903 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9904
9905         * doprnt.c (emacs_doprnt_1): More printing fixes.
9906         Make printing of numbers compatible with libc and FSF Emacs.
9907         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9908         Use the system printf to do most of the hard work of formatting,
9909         instead of doprnt_1().
9910         Calculate memory to allocate for format string.
9911         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9912         (doprnt_1): Cleaner code and documentation.
9913
9914 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9915
9916         * Makefile.in.in: Use the loop variable to install headers.
9917
9918 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9919
9920         * window.c (Fsplit_window): Don't invalidate face cache.
9921
9922 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9923
9924         * minibuf.c (Fall_completions): Undo the previous change
9925         which removed checking elements start with space.
9926
9927 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9928
9929         * mule-canna.c: Didier suppression.
9930
9931 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9932
9933         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9934         (warning suppression).  Add English comment translations.
9935
9936 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9937
9938         * unexelfsgi.c (unexec): Better test for mmap failure.
9939
9940 2000-12-05  Martin Buchholz <martin@xemacs.org>
9941
9942         * XEmacs 21.2.38 is released.
9943
9944 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9945
9946         * redisplay.c (bar-cursor): Make a user variable.
9947
9948         * symsinit.h: Add init_postgresql_from_environment.
9949
9950 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9951
9952         * regex.c: Convert to clean C.
9953
9954 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9955
9956         * realpath.c:
9957         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9958         initialization.
9959         (sys_readlink): renamed to system_readlink to avoid conflict with
9960         the other sys_readlink.
9961
9962 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9963
9964         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9965
9966 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9967
9968         * postgresql.c (init_postgresql_from_environment): new function.
9969         (vars_of_postgresql): Move code initializing Lisp variables out and
9970         into init_postgresql_from_environment.
9971         emacs.c (main_1): Call init_postgresql_from_environment if and only
9972         if running a dumped XEmacs.
9973
9974 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9975
9976         * buffer.c: Make find-file-compare-truenames default to true on
9977         windows.
9978
9979         * realpath.c (win32_abs_start):
9980         (cygwin_readlink):
9981         (win32_readlink): New functions.
9982         (xrealpath): Return really real filenames on windows.
9983
9984         * fileio.c (Ffile_truename): Make file-truename work on windows.
9985
9986 2000-11-29  Didier Verna  <didier@xemacs.org>
9987
9988         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9989         * faces.c (update_face_cachel_data): use it.
9990         * faces.c (add_face_cachel): use it. Complete background pixmap
9991         frobbing in face cache if `update_face_cachel_data' has not done so.
9992
9993 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9994
9995         * search.c (string_match_1): Don't set last_thing_searched
9996         when search failed.
9997
9998 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9999
10000         * buffer.c: Include casetab.h
10001         (common_init_complex_vars_of_buffer): Use new case-table object.
10002         * buffer.h: Include casetab.h
10003         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
10004         (DOWNCASE_TABLE_OF): Ditto.
10005         * bufslots.h: Remove char-tables and add case-table.
10006         * casetab.c: Include casetab.h
10007         (CASE_TABLE_P): Removed.
10008         (mark_case_table): New function.
10009         (allocate_case_table): New function.
10010         (Fcase_table_p): Use new case-table.
10011         (case_table_char): New function.
10012         (Fget_case_table): Ditto.
10013         (Fput_case_table): Ditto.
10014         (Fput_case_table_pair): Ditto.
10015         (Fcopy_case_table): Ditto.
10016         (Fcurrent_case_table): Return case-table.
10017         (Fstandard_case_table): Return case-table.
10018         (Fset_case_table): Fix doc-string.
10019         (set_case_table): Use case-table
10020         (syms_of_casetab): DEFSUBR new functions.
10021         (complex_vars_of_casetab): Set up standard case-table.
10022         * casetab.h: New file.
10023         * editfns.c: Include casetab.h
10024         (Fcompare_buffer_substrings): Use case-table.
10025         * inline.c: Include casetab.h
10026         * lisp.h: Remove bogus extern.
10027         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10028         * search.c: Include casetab.h
10029         (TRANSLATE_ASCII): Removed.
10030         (TRANSLATE): Unconditionally translate character.
10031         (looking_at_1): Use case-table.
10032         (string_match_1): Ditto.
10033         (fast_string_match): Ditto.
10034         (search_command): Ditto.
10035         (search_buffer): Separate boyer_moore.  Check whether
10036         boyer_moore is possible.
10037         (simple_search): New function.
10038         (boyer_moore): Separated from search_buffer. Translate char.
10039
10040 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10041
10042         * regex.c (RE_TR_ASCII): Removed.
10043         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10044         (PATFETCH): Call PATFETCH_RAW.
10045         (PATFETCH_RAW): Fetch Emchar.
10046         (PATUNFETCH): Decrement charptr.
10047         (GET_BUFFER_SPACE): Rename b to buf_end.
10048         (BUF_PUSH): Ditto.
10049         (BUF_PUSH_2): Ditto.
10050         (BUF_PUSH_3): Ditto.
10051         (EXTEND_BUFFER): Ditto.
10052         (SET_LIST_BIT): Ditto.
10053         (regex_compile): Ditto.  Translate non ASCII char.
10054         (compile_range): Ditto.
10055         (re_search_2): Ditto.
10056         (re_match_2_internal): Compare Emchar.
10057         (bcmp_translate): Ditto.
10058
10059 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10060
10061         * lisp.h (basic char/int typedefs):  comment improvement.
10062
10063 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10064
10065         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10066         unstomp inhibit_site_lisp.  Improve comments.
10067
10068 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10069
10070         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10071
10072 2000-11-28  Andy Piper  <andy@xemacs.org>
10073
10074         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10075         clipped display for windows in the gutter also.
10076         (redisplay_display_boxes_in_window_p): change semantics of return
10077         codes to be more intuitive.
10078
10079         * gutter.h: declare display_boxes_in_gutter_p.
10080
10081         * gutter.c (display_boxes_in_gutter_p): new function for
10082         redisplay.
10083
10084 2000-11-22  Andy Piper  <andy@xemacs.org>
10085
10086         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10087         autodetect domain.
10088
10089 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10090
10091         * callproc.c (Fold_call_process_internal):
10092         * gpm.c (Freceive_gpm_event):
10093         (tty_get_foreign_selection): Might be just warning supression.
10094         * fileio.c (Fwrite_region_internal):
10095         (Fset_visited_file_modtime):
10096         * keymap.c (event_matches_key_specifier_p):
10097         Initialize GCPROed variable.
10098
10099         * menubar-x.c (command_builder_find_menu_accelerator):
10100         Initialize before use.
10101
10102 2000-11-23  Andy Piper  <andy@xemacs.org>
10103
10104         * unexcw.c (unexec): make the resulting executable executable.
10105
10106 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10107
10108         * doc.c (get_doc_string):
10109         Use size_t, not int, for result of XSTRING_LENGTH.
10110
10111         * cmds.c (Fdelete_char):
10112         * cmds.c (Fpoint_at_eol):
10113         * cmds.c (Fself_insert_command):
10114         Use EMACS_INT, not int, for result of XINT.
10115         Someday, someone will want to insert more than 2**31 identical characters.
10116
10117         * cmds.c (Fdelete_char):
10118         * cmds.c (Fdelete_backward_char):
10119         * syntax.c (Fforward_word):
10120         * syntax.c (Fforward_comment):
10121         Make COUNT argument optional, for consistency with forward-char et al.
10122
10123 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10124
10125         * lisp.h:
10126         * print.c (long_to_string):
10127         Return a useful value: the pointer at end of data written.
10128
10129         * doprnt.c:
10130         Use `static const char * const' for constant strings.
10131         (union printf_arg): Delete `i', `ui' members.
10132         (get_doprnt_args):
10133         (emacs_doprnt_1):
10134         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10135         Do all printf-ing via the `l' specifier.
10136         Use EMACS_INT instead of int.
10137         Optimize.
10138
10139 2000-11-20  Didier Verna  <didier@xemacs.org>
10140
10141         * faces.c (update_face_cachel_data): don't frob the background
10142         pixmap when the window is being created. The face is needed but
10143         does not exist yet.
10144
10145 2000-11-20  Andy Piper  <andy@xemacs.org>
10146
10147         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10148         messing with a debug environment.
10149
10150 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10151
10152         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10153
10154 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10155
10156         * casetab.c (Fcase_table_p): Fix compile error and crash.
10157
10158 2000-11-18  Philip Aston  <philipa@mail.com>
10159
10160         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10161
10162 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10163
10164         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10165         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10166
10167 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10168
10169         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10170         * unexelf.c: Use HAVE_ELF_H.
10171         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10172         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10173         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10174         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10175         for testing.
10176         So this is an unexelfsgi.c from a different line of development.
10177
10178 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10179
10180         * regex.c (RE_TR_ASCII): New function.
10181         (RE_TRANSLATE): Call it.
10182
10183 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10184
10185         * buffer.h (TRT_TABLE_OF): Remove assert.
10186         (IN_TRT_TABLE_DOMAIN): Removed.
10187
10188 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10189
10190         * free-hook.c (log_gcpro):
10191         (show_gcprohist): Add support for GCPRO5.
10192
10193 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10194
10195         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10196
10197 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10198
10199         * symeval.h: Declare flush_all_buffer_local_cache.
10200
10201         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10202         (flush_buffer_local_cache): Added.
10203         (flush_all_buffer_local_cache): Added.
10204
10205         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10206
10207         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10208         (pdump_dump_data): Ditto.
10209         (pdump_reloc_one): Ditto.
10210         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10211         before dumping.
10212
10213
10214 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10215
10216         * buffer.c: Remove if 0'ed entry.
10217         * buffer.h: Rewrite TRT to use char-table.
10218         * bufslots.h: Remove mirror tables.
10219         * casetab.c: Remove mirror tables.
10220         (CASE_TABLE_P): New macro.
10221         (Fcase_table_p): Element of a case table is string or char-table.
10222         (make_mirror_trt_table): Removed.
10223         (set_case_table): Setup char-table from strings for backward
10224         compatibility.
10225         * dired.c (Fdirectory_files):
10226         * dired-msw.c: (mswindows_get_files):
10227         * lisp.h: Change prototype of re_pattern_buffer.
10228         * regex.c: (RE_TRANSLATE): New macro.
10229         (TRANSLATE_P): Ditto.
10230         Change translate to type RE_TRANSLATE_TYPE.
10231         * regex.h: Define RE_TRANSLATE_TYPE
10232         * search.c (TRANSLATE): New macro.
10233         (TRANSLATE_ASCII): New macro.
10234         Translate table is changed to Lisp_Object.
10235         (signal_failure): Inhibit return.
10236
10237 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10238
10239         * device-msw.c:
10240         * eldap.c:
10241         * event-Xt.c:
10242         * event-stream.c:
10243         * print.c:
10244         Do UNGCPRO before return.
10245
10246 2000-11-14  Martin Buchholz <martin@xemacs.org>
10247
10248         * XEmacs 21.2.37 is released.
10249
10250 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10251
10252         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10253         Add comments about discarded return value.
10254
10255 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10256
10257         * callint.c:
10258         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10259
10260 2000-10-27  Andy Piper  <andy@xemacs.org>
10261
10262         * gutter.c (Fset_default_gutter_position): default left and right
10263         gutters to visible.
10264         (calculate_gutter_size): calculate resonable heuristic for left
10265         and right gutter sizes.
10266         (specifier_vars_of_gutter): change left and right gutter sizes to
10267         autodetect.
10268         (calculate_gutter_size_from_display_lines): new function.
10269         (output_gutter): check for resizing on left and right gutters.
10270         (clear_gutter): don't special case top and left gutters.
10271         (specifier_vars_of_gutter): use new signature for
10272         set_specifier_caching.
10273
10274         * glyphs-x.c (x_redisplay_widget): spelling fix.
10275         * glyphs.c (specifier_vars_of_glyphs):
10276         * menubar.c (specifier_vars_of_menubar):
10277         * redisplay.c (specifier_vars_of_redisplay):
10278         * toolbar.c (specifier_vars_of_toolbar):
10279         * window.c (specifier_vars_of_window):
10280         * scrollbar.c (specifier_vars_of_scrollbar):
10281         (complex_vars_of_scrollbar): use new signature for
10282         set_specifier_caching.
10283
10284         * specifier.c (set_specifier_caching): include recompute flag.
10285         (recompute_one_cached_specifier_in_window): always recompute if
10286         flag set.
10287         (recompute_one_cached_specifier_in_frame): ditto.
10288
10289         * specifier.h (struct specifier_caching): add recompute flag.
10290
10291 2000-10-24  Andy Piper  <andy@xemacs.org>
10292
10293         * unexcw.c (copy_executable_and_dump_data_section): add new
10294         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10295         5.0 happy.
10296
10297 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10298
10299         * console-x.h (x_device): New member modifier_release_time.
10300         * event-Xt.c (x_handle_sticky_modifiers):
10301         Bound interval modifier keys are sticky.
10302         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10303         * events.h: extern it.
10304
10305 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10306
10307         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10308
10309 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10310
10311         * event-stream.c (execute_command_event): Preserve current_events
10312         and the like when event is misc-user-event.
10313         Inhibit quit during the call to maybe_echo_keys.
10314
10315 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10316
10317         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10318         symlink when buffer is killed.
10319         (inhibit_clash_detection): New variable.
10320
10321 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10322
10323         * console.c (Fset_input_method): Trigger redisplay on tty.
10324
10325 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10326
10327         * process.c (Fprocess_status): Revert to previous behavior:
10328         (process-status "nosuchprocess") ==> nil
10329
10330 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10331
10332         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10333         Work around another GCC 2.95.2 optimizer bug.
10334
10335 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10336
10337         * process.c (Fget_process): Use LIST_LOOP_2.
10338         (kill_buffer_processes): Use LIST_LOOP_2.
10339
10340         * minibuf.c (Fall_completions):
10341         Delete old non-functional code for FSF fourth argument.
10342
10343         * frame.c (frame_matches_frame_spec):
10344         Renamed from `frame_matches_frametype'.  Update all callers.
10345         (device_matches_device_spec):
10346         Renamed from 'device_matches_console_spec'.  Update all callers.
10347
10348         * doc.c (Fsubstitute_command_keys):
10349         Remove buffer overflow crash.  Small code cleanups.
10350
10351         * casetab.c (check_case_table): Simpler code.
10352
10353         * window.c (Freplace_buffer_in_windows):
10354         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10355         (and similar implementation) as Fdelete_windows_on.
10356         Update all callers.
10357
10358         * alloc.c (Fmake_list):
10359         * alloc.c (make_vector):
10360         * alloc.c (Fmake_vector):
10361         * alloc.c (make_bit_vector):
10362         * alloc.c (Fmake_bit_vector):
10363         * alloc.c (Fbit_vector):
10364         * alloc.c (Fmake_string):
10365         * alloc.c (Fpurecopy):
10366         * alloc.c (Fmemory_limit):
10367         * buffer.c:
10368         * buffer.c (Fget_buffer):
10369         * buffer.c (Fkill_buffer):
10370         * buffer.c (complex_vars_of_buffer):
10371         * bytecode.c (Fcompiled_function_stack_depth):
10372         * callint.c (Fprefix_numeric_value):
10373         * event-stream.c:
10374         * event-stream.c (Fread_key_sequence):
10375         * casetab.c:
10376         * casetab.c (Fcase_table_p):
10377         * casetab.c (check_case_table):
10378         * casetab.c (Fset_case_table):
10379         * casetab.c (Fset_standard_case_table):
10380         * chartab.c:
10381         * chartab.c (Fchar_table_type):
10382         * chartab.c (Freset_char_table):
10383         * chartab.c (Fget_char_table):
10384         * chartab.c (Fget_range_char_table):
10385         * chartab.c (Fput_char_table):
10386         * chartab.c (Fmap_char_table):
10387         * chartab.c (Fcategory_table_p):
10388         * chartab.c (Fcheck_category_at):
10389         * chartab.c (Fchar_in_category_p):
10390         * chartab.c (Fcategory_table):
10391         * chartab.c (Fcopy_category_table):
10392         * chartab.c (Fset_category_table):
10393         * chartab.c (Fcategory_designator_p):
10394         * chartab.c (Fcategory_table_value_p):
10395         * cmds.c (Fdelete_char):
10396         * cmds.c (Fdelete_backward_char):
10397         * cmds.c (Fself_insert_command):
10398         * cmds.c (Fself_insert_internal):
10399         * console.c (Fvalid_console_type_p):
10400         * console.c (Fcdfw_console):
10401         * console.c (Fconsole_type):
10402         * console.c (Fconsole_name):
10403         * console.c (Fconsole_device_list):
10404         * console.c (Fconsole_on_window_system_p):
10405         * data.c:
10406         * data.c (Feq):
10407         * data.c (Fold_eq):
10408         * data.c (Fsubr_interactive):
10409         * data.c (Fchar_to_int):
10410         * data.c (Fint_to_char):
10411         * data.c (Fsetcar):
10412         * data.c (Fsetcdr):
10413         * data.c (Fnumber_to_string):
10414         * data.c (Fstring_to_number):
10415         * data.c (Frem):
10416         * database.c (mark_database):
10417         * database.c (finalize_database):
10418         * database.c (Fdatabase_live_p):
10419         * database.c (Fdatabasep):
10420         * device-x.c (Fx_get_resource):
10421         * device.c (Fdfw_device):
10422         * dired.c:
10423         * dired.c (Ffile_name_completion):
10424         * dired.c (Ffile_name_all_completions):
10425         * dired.c (Fuser_name_completion):
10426         * dired.c (Fuser_name_completion_1):
10427         * dired.c (Fuser_name_all_completions):
10428         * doc.c (Fdocumentation):
10429         * doc.c (Fdocumentation_property):
10430         * doc.c (Fsubstitute_command_keys):
10431         * editfns.c:
10432         * editfns.c (Fchar_to_string):
10433         * editfns.c (Fstring_to_char):
10434         * editfns.c (Ftemp_directory):
10435         * editfns.c (Finsert_char):
10436         * editfns.c (Fbuffer_substring_no_properties):
10437         * editfns.c (Fnarrow_to_region):
10438         * editfns.c (Fchar_equal):
10439         * editfns.c (Fchar_Equal):
10440         * editfns.c (Ftranspose_regions):
10441         * emacs.c (Fdump_emacs):
10442         * eval.c (Fthrow):
10443         * eval.c (Fcommand_execute):
10444         * eval.c (Fautoload):
10445         * eval.c (Fbacktrace):
10446         * eval.c (Fbacktrace_frame):
10447         * events.c:
10448         * events.c (Fcopy_event):
10449         * events.c (Fcharacter_to_event):
10450         * events.c (Fevent_button):
10451         * events.c (Fevent_process):
10452         * extents.c:
10453         * extents.c (Fnext_extent_change):
10454         * extents.c (Fextent_property):
10455         * faces.c (Ffacep):
10456         * faces.c (Fmake_face):
10457         * file-coding.c:
10458         * file-coding.c (Fencode_shift_jis_char):
10459         * file-coding.c (Fencode_big5_char):
10460         * fileio.c (Ffile_name_directory):
10461         * fileio.c (Ffile_name_nondirectory):
10462         * fileio.c (Ffile_name_as_directory):
10463         * fileio.c (Fdirectory_file_name):
10464         * fileio.c (Ffile_truename):
10465         * fileio.c (Fsubstitute_in_file_name):
10466         * fileio.c (Ffile_modes):
10467         * fileio.c (Fset_file_modes):
10468         * fileio.c (Fset_default_file_modes):
10469         * fileio.c (Fverify_visited_file_modtime):
10470         * floatfns.c (Facos):
10471         * floatfns.c (Fasin):
10472         * floatfns.c (Fatan):
10473         * floatfns.c (Fcos):
10474         * floatfns.c (Fsin):
10475         * floatfns.c (Ftan):
10476         * floatfns.c (Fbessel_j0):
10477         * floatfns.c (Fbessel_j1):
10478         * floatfns.c (Fbessel_jn):
10479         * floatfns.c (Fbessel_y0):
10480         * floatfns.c (Fbessel_y1):
10481         * floatfns.c (Fbessel_yn):
10482         * floatfns.c (Ferf):
10483         * floatfns.c (Ferfc):
10484         * floatfns.c (Flog_gamma):
10485         * floatfns.c (Fexp):
10486         * floatfns.c (Fexpt):
10487         * floatfns.c (Flog):
10488         * floatfns.c (Flog10):
10489         * floatfns.c (Fsqrt):
10490         * floatfns.c (Fcube_root):
10491         * floatfns.c (Facosh):
10492         * floatfns.c (Fasinh):
10493         * floatfns.c (Fatanh):
10494         * floatfns.c (Fcosh):
10495         * floatfns.c (Fsinh):
10496         * floatfns.c (Ftanh):
10497         * floatfns.c (Fabs):
10498         * floatfns.c (Ffloat):
10499         * floatfns.c (Flogb):
10500         * floatfns.c (Fceiling):
10501         * floatfns.c (Ffloor):
10502         * floatfns.c (Fround):
10503         * floatfns.c (Ftruncate):
10504         * floatfns.c (Ffceiling):
10505         * floatfns.c (Fffloor):
10506         * floatfns.c (Ffround):
10507         * floatfns.c (Fftruncate):
10508         * fns.c (Fstring_equal):
10509         * fns.c (Fstring_lessp):
10510         * fns.c (concat2):
10511         * fns.c (concat3):
10512         * fns.c (vconcat2):
10513         * fns.c (vconcat3):
10514         * fns.c (Fsubstring):
10515         * fns.c (Fassoc):
10516         * fns.c (Fold_assoc):
10517         * fns.c (assoc_no_quit):
10518         * fns.c (Fassq):
10519         * fns.c (Fold_assq):
10520         * fns.c (assq_no_quit):
10521         * fns.c (Frassoc):
10522         * fns.c (Fold_rassoc):
10523         * fns.c (Frassq):
10524         * fns.c (Fold_rassq):
10525         * fns.c (rassq_no_quit):
10526         * fns.c (Fremassoc):
10527         * fns.c (remassoc_no_quit):
10528         * fns.c (Fremassq):
10529         * fns.c (remassq_no_quit):
10530         * fns.c (Fremrassoc):
10531         * fns.c (Fremrassq):
10532         * fns.c (remrassq_no_quit):
10533         * fns.c (Fsort):
10534         * fns.c (Fplist_get):
10535         * fns.c (Fplist_put):
10536         * fns.c (Fplist_remprop):
10537         * fns.c (Fplist_member):
10538         * fns.c (Flax_plist_get):
10539         * fns.c (Flax_plist_put):
10540         * fns.c (Flax_plist_remprop):
10541         * fns.c (Flax_plist_member):
10542         * fns.c (Fequal):
10543         * fns.c (Fold_equal):
10544         * fns.c (Frequire):
10545         * fns.c (Fbase64_encode_region):
10546         * fns.c (Fbase64_encode_string):
10547         * fns.c (Fbase64_decode_region):
10548         * frame.c:
10549         * frame.c (frame_matches_frame_spec):
10550         * frame.c (device_matches_device_spec):
10551         * frame.c (next_frame):
10552         * frame.c (previous_frame):
10553         * frame.c (Fnext_frame):
10554         * frame.c (Fprevious_frame):
10555         * frame.c (Fframe_property):
10556         * frame.c (Fset_frame_height):
10557         * frame.c (Fset_frame_size):
10558         * frame.h:
10559         * glyphs.c:
10560         * glyphs.c (if):
10561         * glyphs.c (decode_error_behavior_flag):
10562         * glyphs.c (Fmake_image_instance):
10563         * indent.c (Findent_to):
10564         * intl.c (Fignore_defer_gettext):
10565         * keymap.c (Fkeymapp):
10566         * keymap.c (Flookup_key):
10567         * lread.c:
10568         * lread.c (Fload_internal):
10569         * lread.c (Feval_buffer):
10570         * lread.c (Feval_region):
10571         * macros.c (Fexecute_kbd_macro):
10572         * marker.c (set_marker_internal):
10573         * marker.c (Fset_marker):
10574         * marker.c (set_marker_restricted):
10575         * marker.c (Fcopy_marker):
10576         * marker.c (noseeum_copy_marker):
10577         * menubar.c:
10578         * menubar.c (Fpopup_menu):
10579         * minibuf.c:
10580         * mule-charset.c (Fcharset_name):
10581         * mule-charset.c (Fchar_charset):
10582         * mule-charset.c (Fchar_octet):
10583         * mule-charset.c (Fsplit_char):
10584         * mule-wnnfns.c (Fwnn_open):
10585         * mule-wnnfns.c (Fwnn_dict_comment):
10586         * mule-wnnfns.c (Fwnn_quit_henkan):
10587         * mule-wnnfns.c (Fwnn_word_toroku):
10588         * mule-wnnfns.c (Fwnn_word_sakujo):
10589         * mule-wnnfns.c (Fwnn_word_use):
10590         * mule-wnnfns.c (Fwnn_hindo_set):
10591         * objects.c:
10592         * objects.c (Fmake_color_instance):
10593         * objects.c (Fmake_font_instance):
10594         * print.c (Fwrite_char):
10595         * process.c:
10596         * process.c (mark_process):
10597         * process.c (print_process):
10598         * process.c (get_process_from_usid):
10599         * process.c (Fprocessp):
10600         * process.c (Fprocess_live_p):
10601         * process.c (Fget_process):
10602         * process.c (Fget_buffer_process):
10603         * process.c (get_process):
10604         * process.c (Fprocess_id):
10605         * process.c (Fprocess_name):
10606         * process.c (Fprocess_command):
10607         * process.c (init_process_io_handles):
10608         * process.c (start_process_unwind):
10609         * process.c (Fstart_process_internal):
10610         * process.c (Fopen_multicast_group_internal):
10611         * process.c (Fset_process_window_size):
10612         * process.c (read_process_output):
10613         * process.c (send_process):
10614         * process.c (Fprocess_tty_name):
10615         * process.c (Fset_process_buffer):
10616         * process.c (Fprocess_buffer):
10617         * process.c (Fprocess_mark):
10618         * process.c (set_process_filter):
10619         * process.c (Fset_process_filter):
10620         * process.c (Fprocess_filter):
10621         * process.c (Fprocess_send_region):
10622         * process.c (Fprocess_send_string):
10623         * process.c (exec_sentinel):
10624         * process.c (Fset_process_sentinel):
10625         * process.c (Fprocess_sentinel):
10626         * process.c (status_notify):
10627         * process.c (Fprocess_status):
10628         * process.c (Fprocess_exit_status):
10629         * process.c (process_send_signal):
10630         * process.c (Fprocess_send_eof):
10631         * process.c (deactivate_process):
10632         * process.c (remove_process):
10633         * process.c (Fdelete_process):
10634         * process.c (kill_buffer_processes):
10635         * process.c (Fprocess_kill_without_query):
10636         * process.c (Fprocess_kill_without_query_p):
10637         * rangetab.c:
10638         * rangetab.c (Fget_range_table):
10639         * rangetab.c (Fput_range_table):
10640         * rangetab.c (Fremove_range_table):
10641         * rangetab.c (Fclear_range_table):
10642         * search.c:
10643         * search.c (Fskip_chars_forward):
10644         * search.c (Fskip_chars_backward):
10645         * search.c (Fskip_syntax_forward):
10646         * search.c (Fskip_syntax_backward):
10647         * search.c (search_command):
10648         * search.c (Freplace_match):
10649         * search.c (Fregexp_quote):
10650         * select.c (Fown_selection_internal):
10651         * select.c (Fselection_owner_p):
10652         * select.c (Fselection_exists_p):
10653         * select.c (Fget_selection_internal):
10654         * specifier.c:
10655         * symbols.c:
10656         * symbols.c (Fintern):
10657         * symbols.c (Fintern_soft):
10658         * symbols.c (Funintern):
10659         * symbols.c (Fapropos_internal):
10660         * symbols.c (Fset_default):
10661         * syntax.c:
10662         * syntax.c (Fsyntax_table_p):
10663         * syntax.c (Fcopy_syntax_table):
10664         * syntax.c (Fset_syntax_table):
10665         * syntax.c (Fchar_syntax):
10666         * syntax.c (syntax_match):
10667         * syntax.c (Fmatching_paren):
10668         * syntax.c (Fforward_word):
10669         * syntax.c (scan_lists):
10670         * syntax.c (Fscan_lists):
10671         * syntax.c (Fscan_sexps):
10672         * syntax.c (Fparse_partial_sexp):
10673         * toolbar.c (Fcheck_toolbar_button_syntax):
10674         * tooltalk.doc:
10675         * window.c:
10676         * window.c (Fwindowp):
10677         * window.c (Fwindow_live_p):
10678         * window.c (Fwindow_point):
10679         * window.c (Fdelete_window):
10680         * window.c (Fnext_window):
10681         * window.c (Fprevious_window):
10682         * window.c (Fother_window):
10683         * window.c (window_loop):
10684         * window.c (Fget_lru_window):
10685         * window.c (Fsplit_window):
10686         * window.c (Fenlarge_window):
10687         * window.c (Fenlarge_window_pixels):
10688         * window.c (Fshrink_window):
10689         * window.c (Fshrink_window_pixels):
10690         * window.c (change_window_height):
10691         * window.c (Fwindow_configuration_p):
10692         * window.c (Fcurrent_window_configuration):
10693         * window.h:
10694         * casefiddle.c (casify_object):
10695         * casefiddle.c (Fupcase):
10696         * casefiddle.c (Fdowncase):
10697         * casefiddle.c (Fcapitalize):
10698         * casefiddle.c (Fupcase_initials):
10699         * casefiddle.c (casify_region_internal):
10700         * casefiddle.c (casify_region):
10701         * casefiddle.c (Fupcase_region):
10702         * casefiddle.c (Fdowncase_region):
10703         * casefiddle.c (Fcapitalize_region):
10704         * casefiddle.c (Fupcase_initials_region):
10705         * casefiddle.c (Fupcase_word):
10706         * casefiddle.c (Fdowncase_word):
10707         * casefiddle.c (Fcapitalize_word):
10708         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10709         Replace 0 with '\0' when working with bytes.
10710         Replace initial "(" with "\(" in docstrings.
10711
10712 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10713
10714         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10715
10716         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10717
10718 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10719
10720         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10721
10722 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10723
10724         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10725         correctly.
10726
10727 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10728
10729         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10730         (inhibit_auto_save_session): New variable.
10731         (vars_of_fileio): Declare and initialize them.
10732         * fileio.c (Fdo_auto_save): Don't create session file if
10733         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10734
10735 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10736
10737         * sgiplay.c (play_internal): C++ compilability.
10738         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10739         * callproc.c (Fold_call_process_internal):
10740         Remove unused vars `env', `first'.
10741         * scrollbar.c (update_scrollbar_instance):
10742         #### unused var `current_window'.
10743         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10744         etc. within #ifdef NOT_YET.
10745         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10746         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10747         * specifier.c (specifier_instance):
10748         #### unused var `tag'.
10749         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10750
10751 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10752
10753         * fns.c (Fbutlast):
10754         * fns.c (list_sort):
10755         * fns.c (Ffillarray):
10756         * fns.c (bytecode_nconc2):
10757         * fns.c (Fnconc):
10758         * fns.c (mapcar1):
10759         * fns.c (Fmapconcat):
10760         Be pedantically 64-bit correct.  For the time when someone will
10761         want to have a list with length > 2**32.
10762
10763         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10764         Work around MIPSpro compiler bug.
10765
10766         * process-unix.c (unix_kill_child_process): Add snarky comment.
10767         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10768
10769         * config.h.in: Oops, _getpt ==> _getpty
10770
10771 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10772
10773         * config.h.in:
10774         * regex.c:
10775         Use void*, not char*, as return type of alloca().
10776
10777         * alloc.c (free_marker): Side effect inside assert expression!
10778
10779 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10780
10781         * mule-charset.c (Fset_charset_ccl_program): To check
10782         if the given ccl program is valid, use setup_ccl_program()
10783         instead of CHECK_VECTOR().
10784         (Fmake_charset): Likewise.
10785
10786 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10787
10788         * faces.c (get_extent_fragment_face_cache_index):
10789         Fix cachel.merged_faces memory leak.
10790
10791 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10792
10793         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10794         Reset MSB of octets obtained by DECODE_SJIS
10795         because of the incompatibility with Emacs.
10796         (ccl_driver)<CCL_ENCODE_SJIS>:
10797         Set MSB of octets before passing them to
10798         ENCODE_SJIS because of the incompatibility
10799         with Emacs.
10800
10801 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10802
10803         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10804         (DECLARE_LRECORD): Undo the last change.
10805         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10806
10807 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10808
10809         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10810         the implementation to lrecord_implementations_table.
10811
10812 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10813
10814         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10815         initial value of `lrecord_type_##c_name' and
10816         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10817         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10818         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10819         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10820         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10821
10822 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10823
10824         * miscplay.c (sndcnv8S_2mono):
10825         (sndcnv2monounsigned):
10826         (sndcnvULaw_2linear):
10827         (sndcnv16swap):
10828         Remove implementation-defined behavior.
10829
10830 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10831
10832         * input-method-xlib.c: Warning suppression.
10833
10834 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10835
10836         * mule-ccl.c: Sync up with Emacs 21.0.90.
10837         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10838         Do nothing.
10839         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10840         Likewise.
10841         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10842         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10843         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10844         leading char belongs to official 2-dimensional charset.
10845         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10846         write the given character as is.  Otherwise,
10847         if it is a multibyte char, convert it by
10848         non_ascii_set_charptr_emchar, then write it.
10849         (CCL_WRITE_STRING): Likewise.
10850         (ccl_get_compiled_code): New function.
10851         (setup_ccl_program): When ccl_prog is invalid,
10852         return -1.
10853         (Fregister_code_conversion_map): New function.
10854         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10855
10856         * mule-ccl.h: Sync up with Emacs 21.0.90.
10857         (Fregister_ccl_program): export it.
10858
10859         * redisplay-msw.c (separate_textual_runs):
10860         If ccl program is not valid, don't do ccl conversion.
10861
10862         * redisplay-x.c (separate_textual_runs): Ditto.
10863
10864         * file-coding.c (Fmake_coding_system):
10865         When type is ccl and value is vector, register it
10866         with a proper symbol.  And checks whether the
10867         given ccl program is valid.
10868         (mule_decode): When calling ccl_driver, if src indicates
10869         NULL pointer, set an empty string instead.
10870         (mule_encode): Likewise.
10871
10872 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10873
10874         The following large batch of changes gets us back to a state of
10875         C++ compilability.  Extbyte is now a char, which means that
10876         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10877
10878         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10879
10880         * sound.c (Fplay_sound): Type correctness.
10881
10882         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10883         (x_get_window_property): Type correctness.
10884         (receive_incremental_selection): unsigned char ==> Extbyte
10885         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10886         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10887         (Fx_store_cutbuffer_internal): Type correctness.
10888
10889         * process-unix.c (try_to_initialize_subtty): Type correctness.
10890
10891         * objects-x.c (x_print_color_instance): Type correctness.
10892         (x_print_font_instance): Type correctness.
10893         (x_list_fonts): SExtbyte ==> Extbyte.
10894         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10895         (x_find_charset_font): SExtbyte ==> Extbyte.
10896         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10897         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10898         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10899         Use bufbyte_strcmp.
10900
10901         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10902         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10903         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10904         (BYTE_C0_P): Use bit ops for char-signedness safety.
10905         (BYTE_C1_P): Use bit ops for char-signedness safety.
10906         (CHARSET_BY_LEADING_BYTE):
10907         (CHARSET_BY_ATTRIBUTES):
10908         Always use inline function.
10909         Use type_checking_assert.
10910         Hide chlook.
10911
10912         * mule-charset.c (non_ascii_charptr_copy_char):
10913         Modify to work with both ASCII and non-ASCII characters.
10914         Improve docs and variable names.
10915         Replace over-clever fall-through switch with a simple loop.
10916         (Lstream_get_emchar_1):
10917         Replace over-clever fall-through switch with a simple loop.
10918
10919         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10920         Warning suppression.
10921
10922         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10923         the return value of Lstream_getc, which could be EOF as well.
10924
10925         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10926
10927         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10928         APIs can be used on Extbytes without casts.  Risky!
10929         (SExtbyte): Remove.
10930         (UExtbyte): Remove.
10931
10932         * input-method-xlib.c (XIM_init_device):
10933         Use Xlib.h instead of IntrinsicP.h.
10934         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10935         which will break in X11R7.
10936         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10937         to call XRegisterIMInstantiateCallback with correct types.
10938
10939         * gui-x.c (button_item_to_widget_value): Type correctness.
10940
10941         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10942
10943         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10944         (xbm_instantiate_1): Type correctness.
10945         (BUILD_GLYPH_INST):  Type correctness.
10946
10947         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10948
10949         * file-coding.c:
10950         (decode_coding_sjis):
10951         (decode_coding_big5):
10952         (decode_coding_ucs4):
10953         (decode_coding_utf8):
10954         (decode_coding_iso2022):
10955         (decode_coding_no_conversion):
10956         Make all decoding functions take an Extbyte * arg.
10957         (encode_coding_sjis):
10958         (encode_coding_big5):
10959         (encode_coding_ucs4):
10960         (encode_coding_utf8):
10961         (encode_coding_iso2022):
10962         (encode_coding_no_conversion):
10963         Make all encoding functions take a Bufbyte * arg.
10964         Use size_t instead of unsigned int for memory sizes.
10965         Only cast to unsigned char whenever dereferencing Extbyte *.
10966
10967         * doc.c (unparesseuxify_doc_string): Type correctness.
10968
10969         * console-x.c (split_up_display_spec):
10970         Rewrite without using details of internal string representation.
10971         (x_semi_canonicalize_device_connection): Type correctness.
10972
10973         * config.h.in:
10974         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10975         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10976         (HAVE_XFREE386): Removed.
10977
10978         * buffer.h (DEC_CHARPTR): `const' correctness.
10979         (bufbyte_strcmp): New.
10980         (bufbyte_memcmp): New.
10981
10982         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10983
10984         * buffer.h (XCHAR_OR_CHAR_INT):
10985         Always use inline function.
10986         Remove redundant type checking assert() - XINT will abort quite nicely.
10987
10988 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10989
10990         * search.c (Freplace_match): Set newtext to an empty string.
10991
10992 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10993
10994         * s/decosf1-3.h: Remove #include of stropts.h
10995         * s/ptx.h: Remove #include of stropts.h
10996         * s/usg5-4.h: Remove #include of stropts.h
10997         * sysproc.h:
10998         * config.h.in:
10999         Use stropts.h, not sys/stropts.h.
11000         Use strtio.h, not sys/strtio.h.
11001
11002 2000-10-04  Martin Buchholz <martin@xemacs.org>
11003
11004         * XEmacs 21.2.36 is released.
11005
11006 2000-09-21  Andy Piper  <andy@xemacs.org>
11007
11008         * glyphs-x.c (x_redisplay_widget): make sure non-structural
11009         changes still involve copying the widget tree.
11010         (update_widget_face): make sure a change is register in the widget
11011         tree. Call update_tab_widget_face appropriately.
11012         (update_tab_widget_face): ditto.
11013         (x_tab_control_redisplay): make sure non-structural changes still
11014         involve copying the widget tree.
11015
11016 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
11017
11018         * lread.c (locate_file): Check the path element is non-nil.
11019
11020 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11021
11022         * lisp.h: Warning suppression for SCO compilers.
11023
11024         * redisplay-tty.c (reset_tty_modes): Fix crash.
11025         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11026
11027 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11028
11029         Big signal/process handling overhaul.  Bugs fixed:
11030         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11031         M-x comint-kill-subjob should work for both values nil and t of
11032         process-connection-type. It was broken on most platforms.
11033         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11034         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11035         * process-unix.c: Signal/Process handling overhaul.
11036         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11037         (allocate_pty): Use all available modern methods of allocating
11038         ptys, falling back to old style BSD allocation as a last resort.
11039         Use allegedly more secure Unix98 pty allocation by default.
11040         (allocate_pty_the_old_fashioned_way): New. the last resort.
11041         (unix_create_process): Push ptem, ldterm, ttcompat where
11042         available.  Autoconfiscate.
11043         (try_to_initialize_subtty): New.
11044         (unix_kill_child_process): Proper signal handling for ptys on most
11045         platforms, using special knowledge of AIX, BSD, etc...
11046         (unix_create_process): Always disconnect_controlling_terminal() for
11047         subprocesses, whether using ptys or not.
11048         * process.h: Remove old getpt-dependent PTY code.
11049         * process.c (Fprocess_send_signal): New, obvious generic function.
11050         (decode_signal): New.
11051         (Finterrupt_process):
11052         (Fkill_process):
11053         (Fquit_process):
11054         (Fstop_process):
11055         (Fcontinue_process):
11056         (Fsignal_process): Use decode_signal.
11057         (process_send_signal):
11058         Many docstring corrections.
11059         Allow any signal to be sent to a process object.
11060         * config.h.in: Add symbols for big signal/process overhaul.
11061         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11062         * sysproc.h: Include process-related headers, where available:
11063         sys/stropts.h sys/strtio.h pty.h libutil.h
11064         * s/irix4-0.h:
11065         * s/irix5-0.h:
11066         * s/cygwin32.h:
11067         * s/gnu.h:
11068         * s/linux.h:
11069         * s/hpux.h:
11070         * s/aix3-1.h:
11071         Remove old S&M pty stuff.
11072         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11073         * systty.h: Simplify cpp hackery, improve comments.
11074         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11075
11076         * editfns.c (Fformat_time_string):
11077         Be a little more paranoid with the return value of ctime.
11078
11079         * fileio.c (check_executable):
11080         (check_writable):
11081         Use symbolic constants X_OK, W_OK.
11082
11083         * console-x.c (split_up_display_spec): Fix a warning.
11084
11085 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11086
11087         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11088         * ntproc.c (sys_spawnve): make_string ==> build_string
11089         Small clarity improvements.
11090
11091 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11092
11093         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11094
11095         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11096
11097         * config.h.in (HAVE_STRCASECMP): Remove.
11098
11099 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11100
11101         * redisplay-output.c (redisplay_output_pixmap):
11102         Cleaner and possibly more 64-bit correct code.
11103
11104 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11105
11106         * dumper.c (pdump_load_finish): move restoration of
11107         `noninteractive1' to emacs.c (main_1).
11108         * emacs.c (main_1): protect LISP-visible command-line flags
11109         from pdump_load().
11110
11111 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11112
11113         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11114         DUMP_TARGET instead of literal program names.
11115
11116 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11117
11118         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11119
11120 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11121
11122         * *: Spelling mega-patch
11123
11124 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11125
11126         * fns.c (bad_bad_turtle):
11127         Delete "Eek!" comment, since we fixed the bug to which it refers.
11128
11129 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11130
11131         * alloca.c: Replace REGISTER with register.
11132
11133 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11134
11135         * file-coding.c (ucs_to_char): Use countof.
11136
11137 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11138
11139         * file-coding.c: (ucs_to_char):
11140         (complex_vars_of_file_coding):
11141         Use countof instead of sizeof.
11142         Use CHECK_NATNUM instead of CHECK_INT.
11143
11144         * sysdep.c (strcasecmp): Remove.
11145         * device-x.c (ascii_strcasecmp): New.
11146         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11147         Avoid using non-standard non-portable strcasecmp.
11148
11149 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11150
11151         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11152         * font-lock.c: remove reference to emacsfns.h.
11153         * search.c: small doc improvement.
11154         * event-Xt.c: correct file names in comments.
11155         * console-x.h Correct file names in comments.
11156         * frame.c: Correct file names in comments.
11157         * event-stream.c: remove Energize from comments.
11158
11159 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11160
11161         * symeval.h (DEFERROR_STANDARD):
11162         (DEFERROR):
11163         (DEFSYMBOL):
11164         (DEFSYMBOL_NO_DUMP):
11165         (DEFSYMBOL_MULTIWORD_PREDICATE):
11166         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11167         (DEFKEYWORD):
11168         The construct &##name is not sensible C.
11169         Fixes compilation errors with Unixware native compiler.
11170
11171 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11172
11173         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11174         (next_frame_internal): Removed.  We now just have next_frame.
11175         (next_frame):
11176         Write a simpler and cleaner one-pass algorithm.
11177         Remove called_from_delete_device arg and #ifdefed-out code.
11178         (previous_frame):
11179         Renamed from prev_frame.  Update callers.
11180         Cleaned up to have an analogous implementation to next_frame.
11181         (other_visible_frames_internal): Remove the
11182         called_from_delete_device bogus arg, and hence, remove this
11183         function.  Just use other_visible_frames().
11184
11185         * window.c (Fnext_window):
11186         Prettify docstring.
11187         Since next_frame() is guaranteed to return a frame, remove check
11188         for nil inserted in previous patch.
11189         (Fprevious_window):
11190         Prettify docstring.
11191         Make code look more like Fnext_window.
11192         (window_loop):
11193         Respect the `console' arg when iterating through windows.
11194         Fixes bug: (get-buffer-window buffer t device) not respecting
11195         the `device' arg.
11196         This function needs more work, as others have pointed out.
11197
11198         * frame.h: Rename prev_frame to previous_frame.
11199         device_matches_console_spec no longer takes a `frame' arg.
11200
11201         * s/gnu.h:
11202         * s/linux.h:
11203         * s/hpux.h:
11204         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11205         From "Golubev I. N." <gin@mo.msk.ru>.
11206
11207         * make-src-depend: Fix typo.
11208
11209 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11210
11211         * window.c (Fnext_window):
11212         next_frame() might return nil, not a frame.
11213         Fixes this crash:
11214         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11215
11216         * frame.c (next_frame_internal):
11217         We've passed a frame if we've passed its device.
11218         Fixes this crash:
11219         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11220 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11221
11222 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11223
11224         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11225         Allow option to suppress accelerators in menu/dialog items.
11226         (populate_or_checksum_helper): Pass dialog title through above.
11227
11228 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11229
11230         * event-msw.c (mswindows_key_to_emacs_keysym):
11231         Add "pause" key, fix "menu" key.
11232
11233 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11234
11235         * eval.c (reinit_vars_of_eval):
11236         Increase max_lisp_eval_depth to 1000,
11237         required for thai-xtis.el to byte-compile under some circumstances.
11238
11239 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11240
11241         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11242         From Kenichi Handa.
11243
11244 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11245
11246         * make-src-depend: Make the generated Makefiles smaller.
11247
11248         * s/hpux.h (SETUP_SLAVE_PTY):
11249         Provide a %d in the format string for the errno argument.
11250
11251         * editfns.c (Ftemp_directory):
11252         Warning fix.
11253         Avoid buffer overrun on very long file name.
11254
11255         * input-method-xlib.c (XIM_init_device):
11256         6th parameter of XRegisterIMInstantiateCallback has different
11257         pointer types on different OSes, so simply cast to (void *).
11258
11259         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11260
11261         * sysdll.c (dll_open):
11262         shl_load will hang hard if passed a NULL filename.
11263         Simply return NULL for compatibility with dlopen.
11264         * sysdll.c: Conform to XEmacs coding standards.
11265
11266         * sysdep.c (get_pty_max_bytes):
11267         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11268
11269 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11270
11271         * tooltalk.c: Add #include <syssignal.h>
11272
11273 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11274
11275         * s/hpux.h: Don't use undefined function sigunblock().
11276
11277 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11278
11279         * config.h.in: Add HAVE_BALLOON_HELP.
11280         * emacs.c: Use HAVE_BALLOON_HELP.
11281         * Makefile.in.in (x_objs):
11282         Make Balloon Help conditional on finding shape.h.
11283
11284 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11285
11286         * syntax.c (regex_emacs_buffer_p): New variable.
11287         * syntax.h (regex_emacs_buffer_p): extern.
11288         * search.c (looking_at_1):
11289         (string_match_1):
11290         (fast_string_match):
11291         (search_buffer): Set regex_emacs_buffer_p.
11292         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11293         when before_dot, at_dot, after_dot.
11294
11295 2000-08-23  Andy Piper  <andy@xemacs.org>
11296
11297         * gui-x.c (popup_selection_callback): Only set action_occurred
11298         when we really have an image instance.
11299         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11300
11301 2000-08-23  Andy Piper  <andy@xemacs.org>
11302
11303         * gui-msw.c (mswindows_handle_gui_wm_command): set
11304         action_occurred.
11305         * gui-x.c (popup_selection_callback): ditto.
11306
11307         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11308         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11309         (struct Lisp_Image_Instance): add action_occurred flag.
11310
11311         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11312         (image_instance_changed): ditto.
11313         (reset_frame_subwindow_instance_cache): only unmap windows - do
11314         not remove them from the cache also.
11315
11316         * glyphs-widget.c (tab_control_update): better debug.
11317         (progress_gauge_update): ditto.
11318         (layout_update): ditto.
11319         (layout_instantiate): ditto.
11320         (tab_control_order_only_changed): cope with null pending items.
11321
11322         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11323         debug. Force selection of an item when an action occurred. Cope
11324         with null pending_items.
11325         (mswindows_progress_gauge_redisplay): better debug.
11326         * glyphs-x.c (x_tab_control_redisplay): ditto.
11327
11328         * redisplay.c (redisplay_frame): reset the frame cache if the
11329         frame is garbaged.
11330
11331         * window.c (Fset_window_configuration): potentially re-enable
11332         frame cache reset.
11333         (window_unmap_subwindows): need to finalize instances here since
11334         it is only used in mark_window_as_deleted.
11335
11336 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11337
11338         * nas.c (SndOpenDataForReading):
11339         nas.c (WaveOpenDataForReading):
11340         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11341         Somehow escaped from the 2000-08-14 patch.
11342
11343 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11344
11345         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11346         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11347
11348 2000-08-21  Andy Piper  <andy@xemacs.org>
11349
11350         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11351         window if it is not already displayed.
11352
11353         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11354         it is not already displayed.
11355
11356         * window.c (Fset_window_configuration): don't reset the frame
11357         cache.
11358
11359         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11360         instances from the frame cache if we are actually finalizing them.
11361         (reset_frame_subwindow_instance_cache): reset frame cache only
11362         after unmapping everything.
11363         (map_subwindow): set displayed flag after mapping.
11364
11365 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11366
11367         * data.c (indirect_function):
11368         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11369
11370         * eval.c (function_argcount):
11371         Use original function when signaling errors.
11372
11373 2000-08-18  Andy Piper  <andy@xemacs.org>
11374
11375         * frame.c (delete_frame_internal): use new
11376         free_frame_subwindow_instances name.
11377
11378         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11379         (add_tab_item): make return type correct.
11380         (mswindows_tab_control_instantiate): assert index of tab.
11381         (mswindows_tab_control_redisplay): Re-code to use
11382         gui_item_equal_sans_selected and gui_item_list_find_selected.
11383
11384         * glyphs-widget.c (tab_control_update): Correct comment.
11385
11386         * window.c (window_unmap_subwindows): use new
11387         unmap_subwindow_instance_cache_mapper.
11388         (window_unmap_subwindows_cache_mapper): deleted.
11389         (Fset_window_configuration): comparisons should now be with
11390         EQ. Preserve the subwindow instance cache across configuration
11391         changes.
11392         (allocate_window): ditto.
11393         (make_dummy_parent): ditto.
11394
11395         * glyphs.c (free_frame_subwindow_instances): rename from
11396         free_frame_subwindow_instance_cache. finalize all instances rather
11397         than just those in the display cache.
11398         (finalize_all_subwindow_instances): walk windows unmapping and
11399         finalizing subwindows.
11400         (unmap_subwindow_instance_cache_mapper): moved from
11401         window.c. Allow finalization as well as unmapping.
11402
11403         * gui.c (gui_item_list_find_selected): new function.
11404
11405         * gui.h (gui_item_list_find_selected): declare.
11406
11407         * glyphs-x.c (x_tab_control_redisplay): pick tab
11408         explicitly. Re-code to use gui_item_equal_sans_selected and
11409         gui_item_list_find_selected.
11410
11411         * glyphs-x.h: add lwlib-utils.h
11412
11413         * buffer.c (Frecord_buffer): undo previous change.
11414
11415 2000-08-09  Vin Shelton  <acs@xemacs.org>
11416
11417         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11418         possible.  Create temporary files more securely.  The patch was
11419         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11420         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11421         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11422         for details.
11423
11424 2000-08-07  Ben Wing  <ben@xemacs.org>
11425
11426         * getloadavg.c: remove duplicate (and windows-breaking)
11427         includes of fcntl.h and sys/file.h.
11428
11429         * nt.c: remove duplicate getloadavg() definition.
11430
11431         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11432         encodings.
11433
11434 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11435
11436         * eval.c (function_argcount): If function needs to be autoloaded
11437         actually use the loaded definition.
11438         GCPRO function.
11439
11440 2000-08-05  Ben Wing  <ben@xemacs.org>
11441
11442         * getloadavg.c: add prototype for getloadavg().  remove
11443         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11444         of the code).  remove duplicate header includes.
11445
11446         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11447
11448         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11449         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11450         useful load average.
11451
11452         * alloc.c (reinit_alloc_once_early): removed references to
11453         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11454         the lisp vars are the only things referencing the malloc_sbrk_*
11455         vars, and they were already if 0'd out.  these vars only exist
11456         in the older malloc.c, which is basically unused, and they're
11457         only for informational purposes.
11458
11459         * m\*.h: removed useless VIRT_ADDR_VARIES.
11460
11461         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11462
11463 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11464
11465         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11466         color if the image is a mono pixmap.
11467
11468 2000-07-30  Ben Wing  <ben@xemacs.org>
11469
11470         * Makefile.in.in (release):
11471         Remove stray @.
11472
11473         * buffer.c (directory_is_current_directory):
11474         * dired-msw.c (mswindows_get_files):
11475         * dired.c:
11476         * dired.c (Fdirectory_files):
11477         * dired.c (file_name_completion_stat):
11478         * dired.c (Ffile_attributes):
11479         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11480         preprocessor tricks, to avoid problems on some machines
11481         (e.g. SCO).
11482
11483         * callproc.c (egetenv): GC docs.
11484
11485         * console-msw.h:
11486         * console-msw.h (struct mswindows_dialog_id):
11487         * lrecord.h (lrecord_type):
11488         New object for use with MSW dialogs.
11489
11490         * console.h (struct console_methods):
11491         New enable/disable frame methods, for proper modal dialogs.
11492
11493         * device-msw.c (msprinter_default_printer): Fix to follow
11494         proper Mule conventions.
11495
11496         * device-msw.c:
11497         * device-msw.c (signal_open_printer_error):
11498         * device-msw.c (msprinter_init_device):
11499         * device-msw.c (ensure_not_printing):
11500         * device-msw.c (plist_get_margin):
11501         * device-msw.c (Fmsprinter_select_settings):
11502         * device-msw.c (finalize_devmode):
11503         * device-msw.c (Fmsprinter_settings_despecialize):
11504         * device-msw.c (signal_enum_priner_error):
11505         * extents.c (decode_extent):
11506         * extents.c (decode_map_extents_flags):
11507         * extents.c (decode_extent_at_flag):
11508         * extents.c (Fextent_at):
11509         * extents.c (Fextents_at):
11510         * extents.c (symbol_to_glyph_layout):
11511         [[[[2]]]] Use structured errors.
11512
11513         * dialog-msw.c:
11514         * dialog-msw.c (mswindows_is_dialog_msg):
11515         * dialog-msw.c (mark_mswindows_dialog_id):
11516         * dialog-msw.c (dialog_proc):
11517         * dialog-msw.c (handle_question_dialog_box):
11518         * dialog-msw.c (syms_of_dialog_mswindows):
11519         Define new object to clean up marking; use it as a dialog identifier.
11520         Call new delete-dialog-box-hook.
11521
11522         * dialog-x.c (dbox_selection_callback):
11523         * dialog-x.c (dbox_descriptor_to_widget_value):
11524         * dialog-x.c (x_make_dialog_box_internal):
11525         Call new delete-dialog-box-hook.
11526         Return an id.
11527
11528         * dialog.c:
11529         * dialog.c (syms_of_dialog):
11530         * dialog.c (vars_of_dialog):
11531         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11532
11533         * eval.c:
11534         * eval.c (signal_call_debugger):
11535         when noninteractive, output stack traces on the console instead
11536         of in a (never-seen) buffer.
11537
11538         * eval.c (signal_type_error):
11539         * eval.c (invalid_argument_2):
11540         * lisp.h:
11541         new funs for use w/structured errors.
11542
11543         * event-Xt.c:
11544         * event-Xt.c (x_to_emacs_keysym):
11545         * event-Xt.c (describe_event):
11546         * event-Xt.c (emacs_Xt_event_handler):
11547         * event-Xt.c (vars_of_event_Xt):
11548         * event-msw.c:
11549         * event-msw.c (mswindows_wnd_proc):
11550         * event-msw.c (vars_of_event_mswindows):
11551         rename {x,mswindows}-debug-events to debug-{}-events for
11552         consistency with other debug-foo variables.
11553
11554         * event-stream.c:
11555         document next-event more clearly.
11556
11557         * fileio.c (Ffile_name_directory):
11558         * fileio.c (Ffile_name_nondirectory):
11559         * fileio.c (Funhandled_file_name_directory):
11560         * fileio.c (file_name_as_directory):
11561         * fileio.c (Ffile_name_as_directory):
11562         * fileio.c (directory_file_name):
11563         * fileio.c (Fdirectory_file_name):
11564         * fileio.c (Fmake_temp_name):
11565         * fileio.c (Ffile_truename):
11566         * fileio.c (Fsubstitute_in_file_name):
11567         * fileio.c (expand_and_dir_to_file):
11568         * fileio.c (barf_or_query_if_file_exists):
11569         * fileio.c (check_executable):
11570         * fileio.c (Ffile_exists_p):
11571         * fileio.c (Ffile_writable_p):
11572         * fileio.c (Ffile_directory_p):
11573         * fileio.c (Ffile_regular_p):
11574         * fileio.c (Ffile_modes):
11575         * fileio.c (Ffile_newer_than_file_p):
11576         * fileio.c (Fverify_visited_file_modtime):
11577         * fileio.c (Fset_visited_file_modtime):
11578         * fileio.c (auto_save_1):
11579         (1). (2).
11580         fix up gcpro's.
11581
11582         * frame-msw.c:
11583         * frame-msw.c (mswindows_init_frame_1):
11584         * frame-msw.c (mswindows_enable_frame):
11585         * frame-msw.c (error_frame_unsizable):
11586         * frame-msw.c (msprinter_init_frame_1):
11587         * frame-msw.c (msprinter_init_frame_3):
11588         * frame-msw.c (console_type_create_frame_mswindows):
11589         (2).
11590         implement new enable/disable frame methods.
11591
11592         * frame-x.c:
11593         * frame-x.c (x_enable_frame):
11594         * frame-x.c (console_type_create_frame_x):
11595         implement new enable/disable frame methods.
11596
11597         * frame.c:
11598         * frame.c (Fdisable_frame):
11599         * frame.c (syms_of_frame):
11600         * frame.h (struct frame):
11601         implement new enable/disable frame methods/functions.
11602
11603         * general-slots.h:
11604         add initial-focus.
11605
11606         * glyphs-msw.c (mswindows_widget_instantiate):
11607         comment that initial-focus should be implemented.
11608
11609         * glyphs-widget.c:
11610         * glyphs-widget.c (check_valid_instantiator):
11611         * glyphs-widget.c (check_valid_orientation):
11612         * glyphs-widget.c (check_valid_tab_orientation):
11613         * glyphs-widget.c (check_valid_justification):
11614         * glyphs-widget.c (check_valid_border):
11615         * glyphs-widget.c (check_valid_callback):
11616         * glyphs-widget.c (check_valid_int_or_function):
11617         * glyphs-widget.c (check_valid_string_or_vector):
11618         * glyphs-widget.c (check_valid_item_list_1):
11619         * glyphs-widget.c (widget_validate):
11620         * glyphs-widget.c (combo_box_validate):
11621         * glyphs-widget.c (widget_instantiate):
11622         * glyphs-widget.c (syms_of_glyphs_widget):
11623         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11624         * glyphs-widget.c (image_instantiator_combo_box):
11625         * glyphs-widget.c (image_instantiator_scrollbar):
11626         * glyphs-widget.c (image_instantiator_tab_control):
11627         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11628         (2).
11629         support (unimplemented) keyword initial-focus.
11630         reindent long macros.
11631
11632         * glyphs-x.c (x_redisplay_widget):
11633         * glyphs-x.c (x_button_instantiate):
11634         * glyphs-x.c (x_button_redisplay):
11635         * glyphs-x.c (x_progress_gauge_instantiate):
11636         * glyphs-x.c (x_edit_field_instantiate):
11637         * glyphs-x.c (x_combo_box_instantiate):
11638         * glyphs-x.c (x_tab_control_instantiate):
11639         * glyphs-x.c (x_label_instantiate):
11640         * gui-x.c:
11641         * gui-x.c (button_item_to_widget_value):
11642         * gui-x.c (gui_items_to_widget_values_1):
11643         * gui-x.c (gui_item_children_to_widget_values):
11644         * gui-x.c (gui_items_to_widget_values):
11645         * gui-x.h:
11646         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11647         add new flag to gui-parsing routines to indicate whether
11648         accelerator specs should be supported.
11649
11650         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11651
11652         * glyphs.h (struct Lisp_Image_Instance):
11653         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11654         add initial-focus flag.
11655
11656         * gui.c:
11657         * gui.c (syms_of_gui):
11658         * gui.c (vars_of_gui):
11659         clean up menu-no-selection-hook.
11660
11661         * gui.h:
11662         support delete-dialog-box-hook.
11663
11664         * lread.c (Fload_internal):
11665         * lread.c (locate_file_in_directory_mapper):
11666         (1).
11667
11668         * lrecord.h:
11669         * lrecord.h (struct toolbar_button):
11670         * lrecord.h (syms_of_toolbar):
11671         document how to create a new object.
11672
11673         * menubar-msw.c (mswindows_char_is_accelerator):
11674         may be called on frames w/o menus.
11675
11676         * menubar.c (vars_of_menubar):
11677         clean up :filter docs.
11678
11679         * nt.c (readdir):
11680         * ntproc.c:
11681         (1).
11682
11683         * process-nt.c:
11684         * process-nt.c (validate_signal_number):
11685         * process-nt.c (signal_cannot_launch):
11686         * process-nt.c (nt_create_process):
11687         * process-nt.c (nt_send_process):
11688         * process-nt.c (nt_kill_child_process):
11689         * process-nt.c (nt_open_network_stream):
11690         * process-nt.c (syms_of_process_nt):
11691         (2).
11692         delete quote-handling.  call new lisp code that does it better.
11693
11694         * process-unix.c (connect_to_file_descriptor):
11695         * process-unix.c (allocate_pty):
11696         * process-unix.c (unix_send_process):
11697         * process-unix.c (unix_kill_child_process):
11698         * process-unix.c (unix_open_network_stream):
11699         * process-unix.c (unix_open_multicast_group):
11700         (1). (2).
11701
11702         * process.c:
11703         * process.c (Fstart_process_internal):
11704         (2).  need to canonicalize process path even if absolute.
11705
11706         * select-msw.c (symbol_to_ms_cf):
11707         * select-msw.c (ms_cf_to_symbol):
11708         * select-msw.c (cf_is_autofreed):
11709         * select-msw.c (mswindows_destroy_selection):
11710         * select.c:
11711         * select.c (syms_of_select):
11712         * select.h:
11713         support dibv5, fix bugs. (from Mike Alexander)
11714
11715         * select.c (Fget_selection_internal):
11716         * select.c (select_convert_out):
11717
11718         * sysdep.c:
11719         * sysdep.c (xemacs_stat):
11720         renamed.
11721
11722         * sysdep.c (mkdir):
11723         * sysdep.c (rmdir):
11724         but keep original stat() here because we provide encapsulation
11725         around these funs.
11726
11727         * sysfile.h:
11728         * sysfile.h (fstat):
11729         remove stat garbage.
11730
11731         * syswindows.h:
11732         fix X/MSW conflict.
11733         don't include tchar.h.  it's inappropriate because it makes
11734         compile-time distinctions when we want runtime distinctions.
11735         (we provide our own tchar replacements)
11736
11737         * toolbar.c:
11738         use default object printer for toolbar-button.
11739
11740         * unexcw.c:
11741         make sure we don't encapsulate.
11742
11743         * window.c (vars_of_window):
11744         emphasize that temp-buffer-show-hook is obsolete.
11745
11746 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11747
11748         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11749         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11750
11751         * events.c (Fevent_timestamp_lessp):
11752         Not 64-bit clean.  Use EMACS_INT, not int.
11753
11754 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11755
11756         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11757         unsigned int and changed the last enum to
11758         lrecord_type_last_built_in_type.
11759         (lrecord_implementations_table): changed prototype to know how
11760         long the array is supposed to be.
11761         (lrecord_type_count): new unsigned int to keep track of the
11762         current number of lisp lrecord types.
11763         (DEFINE_EXTERNAL_LRECORD):
11764         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11765         dynamic-modules to declare new lisp types. They are the same
11766         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11767         int for each new type, and increment lrecord_type_count by 1.
11768
11769         * alloc.c (lrecord_implementations_table): Changed to reference
11770         lrecord_type_last_built_in_type for the size of the array.
11771         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11772
11773 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11774
11775         * glyphs.h (check_valid_item_list): Renamed from
11776         check_valid_item_list_1.
11777
11778 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11779
11780         * select.c (Qselect_coerce): New.
11781         * select.c (Vselection_coercion_alist): New.
11782         * select.c (syms_of_select): Declare.
11783         * select.c (get-selection-internal): Use it.
11784         Use the new select-coerce functionality.
11785
11786         * select.c (select_coerce): New.
11787         * select.h (select_coerce): Declare.
11788         New function to coerce one type of data into another.
11789
11790 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11791
11792         * callproc.c (Fcall_process_internal):
11793         (Fcall_process_internal):
11794         * process-unix.c (unix_create_process):
11795         Save and restore the value of errno, so that error messages are accurate.
11796
11797 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11798
11799         * elhash.c (print_hash_table):
11800         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11801         Prettify docstrings and indentation.
11802
11803 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11804
11805         * window.c (Fwindow_pixel_edges): Subtract frame border and
11806         gutter size.
11807
11808 2000-07-31  Andy Piper  <andy@xemacs.org>
11809
11810         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11811         will acknowledge the change.
11812
11813         * glyphs.h: declare tab_control_order_only_changed.
11814
11815         * glyphs-x.c (x_tab_control_redisplay): use
11816         tab_control_order_only_changed.
11817
11818         * glyphs-widget.c (tab_control_order_only_changed): new function.
11819
11820         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11821         tab_control_order_only_changed.
11822
11823         * gui.c (gui_item_equal_sans_selected): new function.
11824         (gui_item_equal): use it.
11825
11826         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11827         :properties in favor of :items..
11828
11829         * glyphs-widget.c (check_valid_item_list): rename from
11830         check_valid_item_list_1.
11831         (check_valid_item_list_1): renamed.
11832         (combo_box_validate): deprecate :properties in favor of :items.
11833         (widget_instantiate): ditto.
11834         (tab_control_update): ditto.
11835         (image_instantiator_combo_box): ditto.
11836         (image_instantiator_tree_view): ditto.
11837         (image_instantiator_tab_control): ditto.
11838         (layout_post_instantiate): remove dead code.
11839
11840         * print.c (debug_print_no_newline): only write to debugger if in
11841         WIN32_NATIVE.
11842
11843         * elhash.c (Fmake_hash_table): update doc string.
11844
11845         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11846         messages whilst in GC. This at least stops XEmacs crashing but has
11847         the potential for wierd behaviour.
11848
11849 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11850
11851         * config.h.in:
11852         Make existence of s&m files optional.
11853
11854         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11855         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11856         * s/gnu.h: Remove HAVE_GETLOADAVG.
11857         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11858         * s/sol2.h: Remove HAVE_GETLOADAVG.
11859         * lisp.h: Remove getloadavg() declaration.
11860         * fns.c:
11861         Include <sys/loadavg.h> if available.
11862         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11863         * config.h.in:  Group together getloadavg()-related macros.
11864         Use only configure-time tests to detect getloadavg().
11865
11866 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11867
11868         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11869
11870 2000-07-25  Andy Piper  <andy@xemacs.org>
11871
11872         * syswindows.h: add tchar.h for native builds.
11873
11874         * frame.c (syms_of_frame): remove set-glyph-image.
11875
11876         * general-slots.h: add Qset_glyph_image.
11877
11878         * glyphs-widget.c (layout_update): add domain arg to
11879         set-glyph-image.
11880         (syms_of_glyphs_widget): remove set-glyph-image.
11881
11882 2000-07-23  Ben Wing  <ben@xemacs.org>
11883
11884         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11885         Vpopup_frame_list.
11886
11887 2000-07-22  Andy Piper  <andy@xemacs.org>
11888
11889         * symsinit.h: add syms_of_win32().
11890
11891         * gui-msw.c (syms_of_gui_mswindows): remove
11892         Fmswindows_shell_execute.
11893         (Fmswindows_shell_execute): moved to win32.c.
11894
11895         * emacs.c (main_1): add syms_of_win32 ().
11896
11897         * win32.c (init_potentially_nonexistent_functions): rewrite in
11898         compiler-friendly terms.
11899         (Fmswindows_shell_execute): move here from gui-msw.c.
11900         (syms_of_win32): new.
11901
11902         * device-msw.c (Fmswindows_printer_list): clean up args to
11903         EnumPrinters.
11904         Don't include tchar under cygwin or mingw.
11905         (msprinter_default_printer): make cygwin-friendly.
11906
11907 2000-07-21  Andy Piper  <andy@xemacs.org>
11908
11909         * glyphs-widget.c (image_instantiator_tree_view): use tab
11910         control's update function.
11911         (layout_property): new function. Retrieve items.
11912
11913         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11914         function. Re-populate the tree view from the pending items.
11915
11916         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11917         is designated the parent if the domain is an image instance. This
11918         is needed so that dirtiness can be cascade up the hierarchy and
11919         thus for layout children to be redisplayed correctly.
11920         (allocate_image_instance): rename glyph -> parent.
11921
11922         * redisplay.h: change redisplay_output_layout signature.
11923
11924         * redisplay-msw.c (mswindows_output_display_block): use domain
11925         arg.
11926
11927         * redisplay-x.c (x_output_display_block): use domain arg.
11928
11929 2000-07-10  Andy Piper  <andy@xemacs.org>
11930
11931         * window.c (Fset_window_configuration): add comment.
11932
11933         * redisplay-output.c (compare_runes):
11934         (redisplay_output_subwindow): redisplay rather than update subwindow.
11935         (redisplay_output_layout): ditto.
11936
11937         * redisplay-msw.c (mswindows_frame_output_end):
11938         (mswindows_frame_output_end): make defer window pos optional.
11939
11940         * lisp.h: add Flast.
11941
11942         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11943         normalize method. Change update method to be for changed
11944         instantiators. Add redisplay method. Change signature of layout
11945         method.
11946         (struct Lisp_Image_Instance): add instantiator.
11947         (IMAGE_INSTANCE_INSTANTIATOR): new.
11948         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11949         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11950         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11951
11952         * glyphs.c:
11953         (find_instantiator_differences): new function.
11954         (Fset_instantiator_property): new convenience function.
11955         (check_image_instance_structure): strictly check for vector
11956         instantiators.
11957         (normalize_image_instantiator): make non-static.
11958         (instantiate_image_instantiator): pass on dest_mask and use new
11959         signatures for image_instance_layout and friends.
11960         (mark_image_instance): mark the instantiator. Mark the subwindow
11961         face not the widget face.
11962         (image_instance_equal): add instantiator.
11963         (image_instance_hash): ditto.
11964         (allocate_image_instance): ditto.
11965         (Fset_image_instance_property): removed.
11966         (Fimage_instance_file_name): ditto.
11967         (Fcolorize_image_instance): ditto.
11968         (image_instance_layout): add offsets to be set.
11969         (update_image_instance): new function. update an image instance
11970         from its changed instantiator.
11971         (inherit_normalize): add dest_mask.
11972         (xbm_normalize): ditto.
11973         (xface_normalize): ditto.
11974         (xpm_normalize): ditto.
11975         (text_update): set_property -> update.
11976         (image_instantiate): use the glyph identity as a hash key, not the
11977         instantiator.
11978         (glyph_width): use new image_instance_layout signature.
11979         (glyph_ascent): ditto.
11980         (glyph_descent): ditto.
11981         (glyph_height): ditto.
11982         (glyph_query_geometry): ressurrect.
11983         (glyph_layout): ditto.
11984         (redisplay_subwindow): update -> redisplay.
11985         (syms_of_glyphs): add Fset_instantiator_property.
11986         (image_instantiator_format_create): set_property -> update.
11987
11988         * glyphs-x.c:
11989         (autodetect_normalize): add dest_maks to signature.
11990         (x_redisplay_subwindow): update -> redisplay.
11991         (x_redisplay_widget): ditto.
11992         (x_button_redisplay): ditto.
11993         (x_progress_gauge_redisplay): ditto.
11994         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11995         stacking order.
11996         (console_type_create_glyphs_x): update -> redisplay.
11997         (image_instantiator_format_create_glyphs_x): ditto.
11998
11999         * glyphs-widget.c:
12000         (check_valid_instantiator): disallow glyphs in the instantiator,
12001         they must now be vectors.
12002         (check_valid_instantiator_list): ditto.
12003         (glyph_instantiator_to_glyph): use internal symbol rather than
12004         intern.
12005         (widget_update): renamed from widget_set_property. Call cascaded
12006         update methods.
12007         (redisplay_widget): renamed from update_widget.
12008         (widget_layout): image_instance_layout now takes position as well
12009         as size.
12010         (widget_normalize): ditto.
12011         (widget_instantiate): ditto.
12012         (tab_control_query_geometry) ditto.:
12013         (tab_control_update): renamed from tab_control_set_property.
12014         (progress_gauge_update): set_property -> update.
12015         (layout_normalize): rewrite so that child instantiators are
12016         normalized also.
12017         (layout_update): new function. Create glyphs from the normalized
12018         children and cope with any other layout keywords. We do not
12019         instantiate children here that will be take care of by
12020         redisplay_output_layout.
12021         (layout_instantiate): call layout_update and not much else.
12022         (layout_post_instantiate): not sure whether this is needed
12023         anymore.
12024         (layout_query_geometry): query glyph geometry rather than
12025         image_instance geometry.
12026         (layout_layout): set offsets from pass in parameters. Use glyph
12027         geometry and layout functions rather than image instance ones.
12028         (native_layout_layout): ditto.
12029         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12030         (image_instantiator_widget): set_property -> update.
12031         (image_instantiator_buttons): ditto.
12032         (image_instantiator_progress_guage): ditto.
12033         (image_instantiator_tab_control): ditto.
12034         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12035         (image_instantiator_layout): add update method.
12036
12037         * glyphs-msw.c (bmp_normalize):
12038         (mswindows_resource_normalize): add dest_mask so that it can be
12039         proprogated by layout_normalize.
12040         (begin_defer_window_pos): make optional because it may not be the
12041         right thing to do and it introduces differences with X.
12042         (mswindows_unmap_subwindow): ditto.
12043         (mswindows_map_subwindow): ditto.
12044         (mswindows_redisplay_subwindow): renamed from
12045         mswindows_update_subwindow.
12046         (mswindows_redisplay_widget): ditto.
12047         (mswindows_button_redisplay): renamed from
12048         mswindows_button_update. Update is now what the instantiation
12049         function does for a changed instantiator.
12050         (mswindows_progress_gauge_instantiate): set the progress value
12051         here if appropriate.
12052         (mswindows_tab_control_redisplay): cope with re-ordering of the
12053         members of the tab widget by simply selecting the new top
12054         widget. This makes things appear ok if you click on a tab.
12055         (mswindows_combo_box_instantiate): image_instance_layout now takes
12056         position as well as size.
12057         (mswindows_progress_gauge_redisplay): renamed from
12058         mswindows_progress_gauge_update.
12059         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12060         (image_instantiator_format_create_glyphs_mswindows): ditto.
12061
12062         * glyphs-eimage.c (jpeg_normalize):
12063         (gif_normalize):
12064         (png_normalize):
12065         (tiff_normalize): add dest_mask so that it can be proprogated by
12066         layout_normalize.
12067
12068         * elhash.c:
12069         (print_hash_table):
12070         (hash_table_weakness_validate):
12071         (decode_hash_table_weakness):
12072         (Fhash_table_weakness):
12073         (Fhash_table_type):
12074         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12075
12076         * console.h (struct console_methods): move update_* to
12077         redisplay_*.
12078
12079 2000-07-20  Ben Wing  <ben@xemacs.org>
12080
12081         * *.[ch] (XSETOBJ): remove unused middle argument.
12082         lisp-disunion.h: correct wrap_object() to one argument.
12083
12084 2000-07-15  Ben Wing  <ben@xemacs.org>
12085
12086         * s/cygwin32.h:
12087         * s/cygwin32.h (CYGWIN_CONV_PATH):
12088         Add missing logb prototype for v1.1.
12089         Use post-b20 names and alias to pre-b20 names when pre-b20.
12090
12091         * s/windowsnt.h: [5].
12092
12093 2000-07-15  Ben Wing  <ben@xemacs.org>
12094
12095         * Makefile.in.in (x_objs):
12096         * Makefile.in.in (sheap_objs):
12097         * Makefile.in.in (objs):
12098         added win32.o, cosmetic cleanups.
12099
12100         * alloc.c (Fmake_byte_code):
12101         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12102         etc. macros which declare their own args now.
12103
12104         * alloc.c (syms_of_alloc):
12105         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12106
12107         * buffer.c:
12108         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12109
12110         * buffer.c (Fget_file_buffer):
12111         Fixed GCPRO problem.
12112
12113         * buffer.c (get_truename_buffer):
12114         Fixed comment about GC checking.
12115
12116         * buffer.c (syms_of_buffer):
12117         Undeclared those dedicated frame funs.
12118         [2].
12119
12120         * buffer.h:
12121         Define convenience macros for internal/external conversions.
12122         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12123         and Qenvironment_variable_encoding for cleaner code.
12124
12125         * bufslots.h:
12126         Remove dedicated-frame; in lisp.
12127
12128         * bytecode.c (funcall_compiled_function):
12129         [1].
12130
12131         * bytecode.c (syms_of_bytecode):
12132         [2].
12133
12134         * console-msw.c:
12135         * console-msw.c (mswindows_show_console): Rewrote.
12136
12137         * console-msw.c (Fmswindows_debugging_output): New.
12138         Sends to OutputDebugString (special MSWin debugger interface).
12139
12140         * console-msw.c (Fmswindows_message_box):
12141         Fixed stupid bugs so it works when called from kill-emacs.
12142
12143         * console-msw.c (syms_of_console_mswindows):
12144         Declare Fmswindows_debugging_output.
12145
12146         * console-msw.h:
12147         New MSWin prototypes.
12148
12149         * console-msw.h (struct mswindows_frame):
12150         New entry last-click-mods for improved button-modifier support.
12151
12152         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12153         New struct entry `popup' with corresponding accessor.
12154
12155         * console-x.c:
12156         * console-x.c (split_up_display_spec):
12157         * console-x.c (get_display_arg_connection):
12158         * console-x.c (x_semi_canonicalize_console_connection):
12159         * console-x.c (x_canonicalize_device_connection):
12160         [[[6]]]: Change char to more specific type.
12161         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12162
12163         * console-x.c (x_semi_canonicalize_console_connection):
12164         * console-x.c (x_canonicalize_device_connection):
12165         [[[9]]]: Fix up error signalling to use new structured error system.
12166
12167         * console-x.h:
12168         [[[4]]]: Define codesys aliases:
12169         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12170         Qx_color_name_encoding, Qx_display_name_encoding.
12171
12172         * console.h (struct console_methods):
12173         New method make_dialog_box_internal supersedes older
12174         popup_dialog_box method.
12175
12176         * data.c:
12177         Define many new errors, part of new structured errors.
12178
12179         * data.c (init_errors_once_early):
12180         * data.c (syms_of_data):
12181         [2].
12182
12183         * device-msw.c (mswindows_init_device):
12184         [[[5]]]: Cleanup to support NT 3.51.
12185
12186         * device-msw.c (decode_devmode): Cleanup.
12187
12188         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12189         * device-msw.c (mswindows_handle_print_dialog_box):
12190         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12191         * device-msw.c (syms_of_device_mswindows):
12192         Delete the dialog box primitives recently introduced by Kirill and
12193         instead interface to general dialog box interface.
12194
12195         * device-x.c:
12196         * device-x.c (compute_x_app_name):
12197         * device-x.c (x_init_device):
12198         * device-x.c (Fx_valid_keysym_name_p):
12199         * device-x.c (Fx_set_font_path):
12200         [6].
12201         [7].
12202
12203         * device.h (wrap_device): New.
12204         First of its kind; meant to replace XSETDEVICE.
12205
12206         * dialog-msw.c: Many file-dialog symbols.
12207
12208         * dialog-msw.c (mswindows_register_popup_frame): New.
12209         * dialog-msw.c (mswindows_is_dialog_msg): New.
12210         For supporting kbd traversal in dialog boxes.
12211
12212         * dialog-msw.c (dialog_proc):
12213         Support hitting ESC in dialogs.
12214
12215         * dialog-msw.c (struct):
12216         Common dialog box errors.
12217
12218         * dialog-msw.c (handle_file_dialog_box): New.
12219         Add file dialog code.
12220
12221         * dialog-msw.c (handle_question_dialog_box):
12222         Redo existing code to support new question dialog syntax.
12223
12224         * dialog-msw.c (console_type_create_dialog_mswindows):
12225         We support new dialog console method.
12226
12227         * dialog-msw.c (syms_of_dialog_mswindows):
12228         * dialog-msw.c (vars_of_dialog_mswindows):
12229         New file dialog symbols, vars.
12230
12231         * dialog-x.c:
12232         * dialog-x.c (maybe_run_dbox_text_callback):
12233         * dialog-x.c (dbox_descriptor_to_widget_value):
12234         * dialog-x.c (x_make_dialog_box_internal):
12235         * dialog-x.c (console_type_create_dialog_x):
12236         Mule-ize entire file.
12237         Redo to support question dialog syntax.
12238         [6].
12239
12240         * dialog.c:
12241         * dialog.c (Fmake_dialog_box_internal):
12242         * dialog.c (syms_of_dialog):
12243         Kill old popup-dialog-box, replace with new primitive.
12244         Just call device method or signal error.
12245
12246         * eldap.c (Fldap_open):
12247         * eldap.c (Fldap_search_basic):
12248         * eldap.c (Fldap_add):
12249         * eldap.c (Fldap_modify):
12250         [1].
12251         [7].
12252
12253         * emacs.c:
12254         * emacs.c (make_arg_list_1):
12255         * emacs.c (make_arg_list):
12256         Mule-ize call to dll_init().
12257         [6].
12258         [8].
12259
12260         * emacs.c (make_argc_argv):
12261         * emacs.c (free_argc_argv):
12262         * emacs.c (init_cmdargs):
12263         * emacs.c (main_1):
12264         * emacs.c (Fkill_emacs):
12265         * emacs.c (Fdump_emacs):
12266         Update comments about what can be used in syms_* etc.
12267         Call init_win32() when necessary.
12268         Fix up MS Win dialog box in kill-buffer to actually work right.
12269         [7].
12270
12271         * eval.c:
12272         * eval.c (For):
12273         * eval.c (Fand):
12274         * eval.c (Fprogn):
12275         * eval.c (Fprog1):
12276         * eval.c (Fprog2):
12277         * eval.c (FletX):
12278         * eval.c (Flet):
12279         * eval.c (condition_case_3):
12280         * eval.c (Feval):
12281         * eval.c (function_argcount):
12282         * eval.c (funcall_lambda):
12283         [1].
12284
12285         * eval.c (type_error): New.
12286         * eval.c (maybe_type_error): New.
12287         * eval.c (continuable_type_error): New.
12288         * eval.c (maybe_continuable_type_error): New.
12289         * eval.c (type_error_with_frob): New.
12290         * eval.c (maybe_type_error_with_frob): New.
12291         * eval.c (continuable_type_error_with_frob): New.
12292         * eval.c (maybe_continuable_type_error_with_frob): New.
12293         New functions for use with structured errors.
12294
12295         * event-Xt.c:
12296         * event-Xt.c (x_event_to_emacs_event):
12297         Buttons are now modifiers too.
12298
12299         * event-Xt.c (emacs_Xt_current_event_timestamp):
12300         Implement new event method.
12301         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12302
12303         * event-msw.c:
12304         * event-msw.c (ntpipe_shove_writer): [5].
12305         * event-msw.c (mswindows_enqueue_mouse_button_event):
12306         * event-msw.c (mswindows_drain_windows_queue):
12307         * event-msw.c (mswindows_wnd_proc): [7].
12308         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12309         * event-msw.c (mswindows_modifier_state):
12310         Throughout: support new button modifiers.
12311
12312         * event-msw.c (emacs_mswindows_current_event_timestamp):
12313         Implement new event method.
12314         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12315
12316         * event-stream.c:
12317         * event-stream.c (event_stream_current_event_timestamp): New.
12318         * event-stream.c (maybe_kbd_translate): New functionality.
12319         * event-stream.c (vars_of_event_stream):
12320         Document new kbd-translate-table functionality.
12321
12322         * event-stream.c (Fcurrent_event_timestamp): New.
12323         New primitive for use in fabricated events.
12324         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12325
12326         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12327
12328         * events.c:
12329         * events.c (Fmake_event):
12330         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12331         [1].
12332         [9].
12333
12334         * events.c (format_event_object): fix gcc warnings.
12335
12336         * events.c (Fevent_timestamp): Document new primitives.
12337
12338         * events.c (TIMESTAMP_HALFSPACE): New.
12339
12340         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12341         comparing timestamps correctly (half-space algorithm).
12342
12343         * events.c (Fevent_modifier_bits): Doc fix.
12344
12345         * events.c (Fevent_modifiers): Major doc addition.
12346         * events.c (event_x_y_pixel_internal): Typo fix.
12347         * events.c (syms_of_events): Declare new primitives.
12348
12349         * events.h:
12350         Update long comment for button modifiers, timestamps.
12351
12352         * events.h (struct event_stream):
12353         New current_event_timestamp method.
12354
12355         * extents.c:
12356         * extents.c (extent_in_region_p):
12357         * extents.c (decode_extent):
12358         * extents.c (Fset_extent_parent):
12359         * extents.c (decode_map_extents_flags):
12360         Fix gcc warnings.
12361         [9].
12362
12363         * extents.c (struct extent_at_arg):
12364         * extents.c (decode_extent_at_flag):
12365         * extents.c (extent_at_mapper):
12366         * extents.c (extent_at_bytind):
12367         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12368         * extents.c (Fextents_at): New primitive. [9].
12369         * extents.c (symbol_to_glyph_layout): [9].
12370         Support new primitive `extents-at'.
12371
12372
12373         * extents.c (get_text_property_bytind):
12374         extent_at_bytind has another arg.
12375         [9].
12376
12377         * extents.c (syms_of_extents): New primitive.
12378
12379         * file-coding.c (Fmake_coding_system): [1].
12380         * file-coding.c (subsidiary_coding_system): fix gcc warning
12381         * file-coding.c (syms_of_file_coding): [2].
12382
12383         * fileio.c (Fexpand_file_name):
12384         * fileio.c (Fsysnetunam):
12385         * fileio.c (Ffile_exists_p):
12386         * fileio.c (Ffile_executable_p):
12387         * fileio.c (Fverify_visited_file_modtime):
12388         Clean up GCPROing.
12389
12390         * fileio.c (syms_of_fileio): [2].
12391
12392         * filelock.c (lock_file_1):
12393         * filelock.c (current_lock_owner):
12394         * filelock.c (lock_if_free):
12395         * filelock.c (lock_file):
12396         * filelock.c (unlock_file):
12397         Clean up GCPROing.
12398
12399         * fns.c (concat): Fix gcc warning.
12400
12401         * fns.c (Fmember):
12402         * fns.c (Fold_member):
12403         * fns.c (Fmemq):
12404         * fns.c (Fold_memq):
12405         * fns.c (memq_no_quit):
12406         * fns.c (Fassoc):
12407         * fns.c (Fold_assoc):
12408         * fns.c (Fassq):
12409         * fns.c (Fold_assq):
12410         * fns.c (assq_no_quit):
12411         * fns.c (Frassoc):
12412         * fns.c (Fold_rassoc):
12413         * fns.c (Frassq):
12414         * fns.c (Fold_rassq):
12415         * fns.c (rassq_no_quit):
12416         * fns.c (Fdelete):
12417         * fns.c (Fold_delete):
12418         * fns.c (Fdelq):
12419         * fns.c (Fold_delq):
12420         * fns.c (delq_no_quit):
12421         * fns.c (Fremassoc):
12422         * fns.c (Fremassq):
12423         * fns.c (remassq_no_quit):
12424         * fns.c (Fremrassoc):
12425         * fns.c (Fremrassq):
12426         * fns.c (remrassq_no_quit):
12427         * fns.c (Freverse):
12428         * fns.c (mapcar1):
12429         [1].
12430
12431         * frame-msw.c (mswindows_init_frame_1):
12432         * frame-msw.c (mswindows_delete_frame):
12433         Register popups with dialog code so keyboard traversing works.
12434
12435         * frame-tty.c (tty_raise_frame_no_select): [1].
12436
12437         * frame-x.c:
12438         * frame-x.c (x_set_frame_text_value):
12439         * frame-x.c (x_set_frame_properties):
12440         * frame-x.c (x_create_widgets):
12441         [7].
12442
12443         * frame.c:
12444         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12445
12446         * frame.h (wrap_frame): New.
12447         Macro like wrap_device.
12448
12449         * general.c:
12450         * general.c (SYMBOL):
12451         * general.c (syms_of_general):
12452         Major reorg.  This is now just a wrapper and symbols themselves
12453         are listed in general-slots.h.
12454
12455         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12456         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12457
12458         * glyphs-msw.c (mswindows_native_layout_instantiate):
12459         Add DS_CONTROL so keyboard traversal will work.
12460
12461         * glyphs-widget.c:
12462         * glyphs-widget.c (syms_of_glyphs_widget):
12463         Move some symbols to general-slots.h.
12464
12465         * glyphs-x.c:
12466         * glyphs-x.c (xbm_instantiate_1):
12467         * glyphs-x.c (x_xbm_instantiate):
12468         * glyphs-x.c (x_xface_instantiate):
12469         * glyphs-x.c (autodetect_instantiate):
12470         * glyphs-x.c (cursor_font_instantiate):
12471         * glyphs-x.c (x_update_widget):
12472         * glyphs-x.c (x_widget_instantiate):
12473         * glyphs.c (bitmap_to_lisp_data):
12474         * glyphs.c (pixmap_to_lisp_data):
12475         [7].
12476
12477         * glyphs.c (syms_of_glyphs):
12478         [2].
12479
12480         * gui-x.c:
12481         * gui-x.c (print_widget_value):
12482         * gui-x.c (menu_separator_style_and_to_external):
12483         * gui-x.c (add_accel_and_to_external):
12484         * gui-x.c (button_item_to_widget_value):
12485         * gui-x.c (gui_items_to_widget_values_1):
12486         * gui-x.c (gui_items_to_widget_values):
12487         * gui-x.c (syms_of_gui_x):
12488         * gui-x.c (vars_of_gui_x):
12489         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12490         [9].
12491
12492         * gui-x.h:
12493         Muleize, prototype changes matching gui-x.c.
12494
12495         * gui.c:
12496         * gui.c (separator_string_p):
12497         * gui.c (gui_item_add_keyval_pair):
12498         * gui.c (make_gui_item_from_keywords_internal):
12499         * gui.c (signal_too_long_error):
12500         * gui.c (parse_gui_item_tree_item):
12501         * gui.c (syms_of_gui):
12502         * gui.c (vars_of_gui):
12503         * gui.h:
12504         menu-no-selection-hook moved here (used by MSWin).
12505         Move some symbols to general-slots.h.
12506         [6].
12507         [9].
12508
12509         * insdel.c (get_buffer_pos_char):
12510         * insdel.c (get_buffer_range_char):
12511         Add GC comments.
12512
12513         * keymap.c (keymap_lookup_directly):
12514         * keymap.c (keymap_store):
12515         * keymap.c (ensure_meta_prefix_char_keymapp):
12516         * keymap.c (describe_map):
12517         * keymap.h:
12518         Support new button modifiers.
12519
12520         * lisp-disunion.h (wrap_object):
12521         * lisp-disunion.h (XSETOBJ):
12522         Rename make_obj to wrap_object.
12523
12524         * lisp-union.h:
12525         * lisp-union.h (make_int):
12526         * lisp-union.h (make_char):
12527         Support wrap_object.
12528
12529         * lisp.h:
12530         * lisp.h (LIST_LOOP):
12531         * lisp.h (EXTERNAL_LIST_LOOP):
12532         * lisp.h (LIST_LOOP_2):
12533         * lisp.h (EXTERNAL_LIST_LOOP_1):
12534         * lisp.h (EXTERNAL_LIST_LOOP_2):
12535         * lisp.h (EXTERNAL_LIST_LOOP_3):
12536         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12537         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12538         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12539         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12540         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12541         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12542         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12543         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12544         * lisp.h (struct Lisp_Symbol):
12545         * lisp.h (maybe_continuable_error_with_frob):
12546         Fix up section comments.
12547         Add new types for char to indicate usage.
12548         Delete symbols auto-generated from general-slots.h.
12549         Add prototypes for structured error functions.
12550         Add long comments describing looping macros and change interface
12551         so that lvalues are automatically declared.
12552         Add NO_DECLARE macro in case callers want to declare lvalues
12553         themselves.
12554
12555         * lread.c (read_syntax_error):
12556         * lread.c (continuable_read_syntax_error):
12557         * lread.c (read_structure):
12558         * lread.c (sequence_reader):
12559         * lread.c (read_list_conser):
12560         * lread.c (read_compiled_function):
12561         Rename syntax_error and continuable_syntax_error to avoid clash
12562         with same-named structured error functions.
12563
12564         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12565         * menubar-msw.c (populate_menu_add_item):
12566         * menubar-msw.c (populate_or_checksum_helper):
12567         [5].
12568         [9].
12569
12570         * menubar-x.c:
12571         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12572         Mule-ize whole file.
12573
12574         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12575
12576         * mule-charset.c (Fmake_charset):
12577         * mule-wnnfns.c (Fwnn_set_param):
12578         [1].
12579
12580         * ntproc.c (create_child):
12581         * ntproc.c (Fwin32_set_current_locale):
12582         Add comments portending doom.
12583
12584         * objects-msw.c:
12585         * objects-msw.c (old_font_enum_callback_2):
12586         * objects-msw.c (font_enum_callback_1):
12587         * objects-msw.c (mswindows_enumerate_fonts):
12588         [5].
12589
12590         * objects-x.c:
12591         * objects-x.c (allocate_nearest_color):
12592         * objects-x.c (x_parse_nearest_color):
12593         * objects-x.c (x_initialize_color_instance):
12594         * objects-x.c (x_print_color_instance):
12595         * objects-x.c (x_finalize_color_instance):
12596         * objects-x.c (x_valid_color_name_p):
12597         * objects-x.c (x_initialize_font_instance):
12598         * objects-x.c (x_print_font_instance):
12599         * objects-x.c (valid_x_font_name_p):
12600         * objects-x.c (truename_via_FONT_prop):
12601         * objects-x.c (truename_via_random_props):
12602         * objects-x.c (truename_via_XListFonts):
12603         * objects-x.c (x_font_truename):
12604         * objects-x.c (x_font_instance_truename):
12605         * objects-x.c (x_font_instance_properties):
12606         * objects-x.c (x_list_fonts):
12607         * objects-x.c (x_find_charset_font):
12608         Mule-ize entire file.
12609         [7].
12610
12611         * objects-x.h:
12612         Mule-verify.
12613
12614         * print.c:
12615         * print.c (std_handle_out_external):
12616         * print.c (debug_print_no_newline):
12617         * print.c (syms_of_print):
12618         Output to all debugger kinds in debug-print.
12619         Fix console-output code under MSWin to actually work.
12620
12621         * process-nt.c (send_signal):
12622         * process-nt.c (nt_create_process):
12623         Use newer Unicode macros.
12624
12625         * process-unix.c (unix_create_process):
12626         * process-unix.c (unix_canonicalize_host_name):
12627         * process-unix.c (unix_open_network_stream):
12628         [7].
12629
12630         * scrollbar-x.c:
12631         Mule-verify.
12632
12633         * search.c (syms_of_search):
12634         [2].
12635
12636         * select-msw.c (mswindows_destroy_selection):
12637         Use LIST_LOOP_2.
12638
12639         * select-x.c (symbol_to_x_atom):
12640         [7].
12641
12642         * select.c (syms_of_select):
12643         [2].
12644
12645         * sound.c (Fplay_sound_file):
12646         [7].
12647
12648         * specifier.c:
12649         * specifier.c (decode_specifier_type):
12650         * specifier.c (Fvalid_specifier_locale_type_p):
12651         * specifier.c (check_valid_locale_or_locale_type):
12652         * specifier.c (decode_locale):
12653         * specifier.c (decode_locale_type):
12654         * specifier.c (decode_locale_list):
12655         * specifier.c (check_valid_domain):
12656         * specifier.c (decode_specifier_tag_set):
12657         * specifier.c (Fcanonicalize_tag_set):
12658         * specifier.c (Fdefine_specifier_tag):
12659         * specifier.c (Fspecifier_tag_predicate):
12660         * specifier.c (check_valid_inst_list):
12661         * specifier.c (check_valid_spec_list):
12662         * specifier.c (decode_how_to_add_specification):
12663         * specifier.c (check_modifiable_specifier):
12664         * specifier.c (specifier_add_spec):
12665         * specifier.c (boolean_validate):
12666         * specifier.c (display_table_validate):
12667         [9].
12668
12669         * specifier.c (syms_of_specifier):
12670         Move some symbols to general-slots.h.
12671         [2].
12672
12673         * symbols.c:
12674         * symbols.c (Fmapatoms):
12675         * symbols.c (Fapropos_internal):
12676         Add GCPROs.
12677
12678         * symbols.c (set_default_buffer_slot_variable):
12679         * symbols.c (set_default_console_slot_variable):
12680         [1].
12681
12682         * symbols.c (defsymbol_massage_name_1):
12683         * symbols.c (defkeyword_massage_name):
12684         * symbols.c (deferror_1):
12685         * symbols.c (deferror):
12686         * symbols.c (deferror_massage_name_and_message):
12687         * symeval.h:
12688         * symeval.h (DEFSYMBOL):
12689         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12690
12691         * symbols.c (syms_of_symbols):
12692         [2].
12693
12694         * symsinit.h:
12695         * symsinit.h (init_win32): New.
12696         Also new is syms_of_dialog_mswindows.
12697
12698         * syswindows.h:
12699         Add new Unicode macros, missing Cygwin wide-char functions,
12700         convenience conversion macros for Qmswindows_tstr, macros for
12701         encapsulating required MSWin <-> Cygwin filename conversions,
12702         prototype for dynamically-extracted (not in NT 3.51) functions.
12703
12704         * toolbar-x.c:
12705         Mule-verify.
12706
12707         * tooltalk.c (Fadd_tooltalk_message_arg):
12708         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12709         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12710         [7].
12711
12712         * tooltalk.c (syms_of_tooltalk):
12713         [2].
12714
12715         * unexnt.c:
12716         * unexnt.c (unexec):
12717         Fix up headers, declaration of unexec() to be more standard.
12718
12719 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12720
12721         * offix.h: Revert change to guard macros - they're used in offix.c!
12722
12723 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12724
12725         * lisp.h: Defsubred Fdelete.
12726
12727         * console-msw.h:  (msprinter_default_printer): Added.
12728
12729         * console-msw.c (msprinter_canonicalize_console_connection):
12730         (msprinter_canonicalize_device_connection): Added.
12731
12732         * device-msw.c (msprinter_default_printer):
12733         (Fmswingows_get_default_printer):
12734         (signal_enum_priner_error):
12735         (Fmswingows_printer_list): Added.
12736
12737 2000-07-19  Martin Buchholz <martin@xemacs.org>
12738
12739         * XEmacs 21.2.35 is released.
12740
12741 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12742
12743         * select-x.c (x_handle_selection_request):
12744         Text selected in xemacs and pasted into xterm failed to appear.
12745         Spelling fixes and cosmetic changes.
12746
12747 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12748
12749         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12750         XEmacs frame (fix for doubling chars in dialog boxes).
12751
12752 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12753
12754         * select.c (select_convert_in, select_convert_out):
12755         Don't call intern() every time.
12756
12757         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12758         * select.c (vars_of_select): Initialise them.
12759
12760 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12761
12762         * select.c (selection-coercible-types): New.
12763
12764         * select.c (own-selection-internal):
12765         * select.c (get-selection-internal):
12766         MULE bug fix - these should default to COMPOUND_TEXT and not
12767         STRING for MULE. I think.
12768
12769         * select.c (select_convert_out): Use selection-coercible-types
12770         to find types that we can attempt to perform coercions on.
12771
12772 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12773
12774         * mule-wnnfns.c:
12775         * mule-canna.c:
12776         Add coding: cookie to identify encoding.
12777
12778         * mule-canna.c (CANNA_mode_keys): make static.
12779         Use proper prototypes, even for functions of no arguments.
12780         Remove external prototype for Fding().
12781
12782         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12783
12784         * select.c (syms_of_select): Add missing DEFSUBR.
12785
12786 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12787
12788         * select.c (get_selection_internal, own_selection_internal):
12789         Make the type default to STRING, rather than placing a nil type
12790         into Vselection_alist.
12791
12792 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12793
12794         * gpmevent.c (tty_selection_exists_p):
12795         * gpmevent.c (tty_own_selection):
12796         Updated parameter lists.
12797
12798 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12799
12800         * select.h (selection-alist): Removed declaration.
12801
12802         * select.h (get_local_selection):
12803         * select.c (get_local_selection):
12804         Made static.
12805
12806         * select.h (convert_selection): Removed declaration.
12807         * select.c (convert_selection): Removed.
12808         This function belongs in Lisp.
12809
12810         * select.h (select_convert_in): Declare.
12811         * select.h (select_convert_out): Declare.
12812         * select.c (select_convert_in): New.
12813         * select.c (select_convert_out): New.
12814         New conversion functions for other files to call.
12815
12816         * select.h (select_notify_buffer_kill): Declare.
12817         * select.c (select_notify_buffer_kill): New.
12818         New functions that get called from kill-buffer.
12819
12820         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12821         X-specific lisp code.
12822
12823         * select.h: Declare some of the lisp-visible functions for
12824         external use.
12825
12826         * select.c (clean_local_selection_data): Removed. This was
12827         a disgusting function, and previously should have been in
12828         select-x.c in any case. The functionality is now provided
12829         in select-convert-from-integer (select.el).
12830
12831         * select.c (available-selection-types): Fixed stupidity where
12832         INTEGER and ATOM got added twice. Also add STRING when we see an
12833         extent.
12834
12835         * select.c (get-selection-internal): Removed symbol stripping. No
12836         longer causes conversion when data comes from the internal cache.
12837
12838         * select.c (syms_of_select): Added new functions.
12839
12840         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12841         error checking - previously this called abort!
12842
12843         * select-x.c (x_own_selection): Changed comment.
12844
12845         * select-x.c (x_handle_selection_request): Use select_convert_out.
12846         Don't mess with selection-alist; it's an internal variable of select.c.
12847
12848         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12849
12850         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12851         rather than messing with selection-alist.
12852
12853         * select-msw.c (mswindows_get_foreign_selection):
12854         Use TO_INTERNAL_FORMAT rather than hacking.
12855
12856 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12857
12858         * process-unix.c (unix_open_multicast_group):
12859         (unix_open_multicast_group): Remove useless casts.
12860
12861 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12862
12863         * sound.c (Fplay_sound): Fix `unused variable' warning.
12864
12865         * emacs.c (main): Use correct type for _environ on SCO5.
12866
12867 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12868
12869         * console.h (own_selection_method):
12870         * console.h (selection_exists_p_method):
12871         * console.h (available_selection_types_method): New.
12872         * console.h (register_selection_data_type_method): New.
12873         * console.h (selection_data_type_name): New.
12874
12875         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12876         function & alist to track GlobalAlloc()'d handles that need
12877         releasing when the clipboard data gets replaced or emptied.
12878
12879         * event-msw.c (mswindows_wnd_proc): Call it.
12880
12881         * lisp.h, general.c (Qappend): New symbol representing a
12882         `how-to-add' mode.
12883
12884         * select.c (own-selection-internal):
12885         * select.c (selection-exists-p):
12886         * select.c (available-selection-types): New.
12887         * select.c (register-selection-data-type): New.
12888         * select.c (selection-data-type-name): New.  New functions to deal
12889         with device-specific selection data formats.
12890         * select.c (selection-converter-out-alist): Renamed.
12891         * select.c (selection-converter-in-alist): New.
12892         * select.c (selection-appender-alist): New.  Added new alists.
12893         * select.c (syms_of_select, vars_of_select): Added new symbols &
12894         variables.
12895         * select.c (get_local_selection): Split.
12896         * select.c: Removed spurious type checking - selections may now be
12897         of any type, not just strings.
12898         * select.c (own-selection-internal):
12899
12900         * select.h, select.c (convert_selection): New. Created
12901         convert_selection() function based on get_local_selection().
12902         * select.h, select.c (QCF_*): New symbols representing mswindows
12903         clipboard formats.
12904         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12905         symbols representing `how-to-add' modes.
12906
12907         * select-msw.c (x_sym_p): New.
12908         * select-msw.c (symbol_to_ms_cf): New.
12909         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12910         symbols & clipboard formats. Can also handle string names.
12911         * select-msw.c (mswindows_own_selection):
12912         * select-msw.c (mswindows_selection_exists_p):
12913         Added `data-type' parameter. Use it.
12914         * select-msw.c (mswindows_available_selection_types): New.
12915         * select-msw.c (mswindows_register_selection_data_type): New.
12916         * select-msw.c (mswindows_selection_data_type_name): New.
12917         * select-msw.c (mswindows_own_selection):
12918         * select-msw.c (mswindows_get_foreign_selection):
12919         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12920         * select-msw.c (console_create_select_mswindows): Added new methods.
12921         * select-msw.c (mswindows_destroy_selection): New.
12922         * select-msw.c (Vhandle_alist): New list.
12923         * select-msw.c (mswindows_own_selection):
12924
12925         * select-x.c (x_own_selection):
12926         * select-x.c (x_selection_exists_p):
12927         * select-x.c: Added some comments about maybe using new
12928         functionality.
12929         * select-x.c (x_own_selection):
12930
12931         * specifier.c: Remove definition of Qappend (now in general.c)
12932         * specifier.c (syms_of_specifier): Remove Qappend.
12933
12934 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12935
12936         * config.h.in: Add socklen_t.
12937
12938         * s/decosf4-0.h: No special compiler flags needed or desired.
12939         In particular, undefine _BSD for DEC OSF 4.0.
12940
12941 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12942
12943         * redisplay-msw.c (msprinter_frame_output_end): Added.
12944         (console_type_create_redisplay_mswindows): Referred the above.
12945
12946         * frame.c (setup_frame_without_minibuffer): Do not create a
12947         default minibuffer frame on a printer device.
12948
12949         * frame-msw.c (apply_dc_geometry): Added.
12950         (msprinter_start_page):
12951         (msprinter_init_frame_3):
12952         (msprinter_eject_page): Use it.
12953
12954         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12955         and removed residual duplex and orientation properties.
12956
12957 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12958
12959         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12960
12961         * unexalpha.c: Remove system prototypes from C sources!
12962
12963 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12964
12965         * eval.c: Remove references to M-x edit-options in DEFUNs for
12966         `defvar' and `defconst'.
12967
12968 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12969
12970         * config.h.in: Remove SMART_INCLUDE hackery.
12971
12972         PostgreSQL hacking:
12973         * config.h.in: Don't use SMART_INCLUDE.
12974
12975         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12976         * inline.c: Simply #include "postgresql.h"
12977         * postgresql.c:
12978         - Don't use SMART_INCLUDE
12979         - Use simply "const".
12980         - Use standard doc string conventions.
12981         - Use correct type for result of PQstatus.
12982
12983 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12984
12985         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12986
12987         C++ compilation changes.
12988         * config.h.in (EXTERN_C): Define.
12989         * config.h.in (not): This is also a C++ keyword.
12990         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12991         * cm.c: Use EXTERN_C.
12992         * redisplay-tty.c: Use EXTERN_C.
12993         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12994
12995 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12996
12997         * general.c: Remove duplicate definition for Qfunction.
12998
12999 2000-07-08  Ben Wing  <ben@xemacs.org>
13000
13001         * device-msw.c (msprinter_init_device):
13002         * device-msw.c (sync_printer_with_devmode):
13003         * device-msw.c (handle_devmode_changes):
13004         * device-msw.c (print_dialog_worker):
13005         * device-msw.c (Fmsprinter_apply_settings):
13006         * device-msw.c (hash_devmode):
13007         * device-msw.c (Fmsprinter_settings_despecialize):
13008         use Qmswindows_tstr, not Qctext.
13009
13010         * vm-limit.c (check_memory_limits):
13011         avoid infinite loop printing warning messages.
13012
13013 2000-07-05  Craig Lanning  <lanning@scra.org>
13014
13015         * Makefile.in.in: Add support for including the Windows resources
13016         when building with the cygwin and mingw targets.
13017
13018         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
13019         not set or not correct.
13020         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
13021         (init_initial_directory): Don't try to use $PWD on the
13022         WIN32_NATIVE target.
13023
13024         * s\cygwin32.h:
13025         [[Add -mwindows to eliminate console window.]] not required --ben
13026         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13027         (MAIL_USE_POP): removed; now handled by configure.
13028
13029         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13030         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13031         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13032         (MAIL_USE_POP): removed; now handled by configure.
13033         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13034         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13035         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13036         constant string.
13037         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13038         up from <winsock.h> via systime.h.
13039         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13040         (getpagesize): from Dan Holmsand, added.
13041         Added #endif which was left dangling by Ben's mega patch; added
13042         comment to help prevent this in the future.
13043
13044         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13045
13046 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13047
13048         * console-msw.h (struct mswindows_device): Removed unnecessary
13049         cached device geometry values.
13050         Added update_tick and an accessor macro.
13051         (Lisp_Devmode): Added lrecord declaration.
13052         (struct msprinter_device): Contain devmode as a Lisp object.
13053         Added mswindows_get_selected_frame_hwnd();
13054
13055         * console.h (struct console_methods): Indentation nitpicking.
13056
13057         * device-msw.c (mswindows_init_device): Do not initialize geometry
13058         cache. Initialize update tick.
13059         (mswindows_device_system_metrics): Ask the device for its geometry.
13060         (global_free_2_maybe):
13061         (devmode_to_hglobal):
13062         (handle_printer_changes):
13063         (ensure_not_printing):
13064         (print_dialog_worker):
13065         (Fmsprinter_print_setup_dialog):
13066         (Fmsprinter_print_dialog):
13067         (plist_get_margin):
13068         (plist_set_margin):
13069         (Fmsprinter_page_setup_dialog): Added functions.
13070         (sync_printer_with_devmode):
13071         (handle_devmode_changes):
13072         (Fmsprinter_get_settings):
13073         (Fmsprinter_select_settings):
13074         (Fmsprinter_apply_settings):
13075         (allocate_devmode):
13076         (Fmsprinter_settings_copy):
13077         (Fmsprinter_settings_despecialize):
13078         (print_devmode):
13079         (finalize_devmode):
13080         (equal_devmode):
13081         (hash_devmode): Added functions
13082         (syms_of_device_mswindows): Init devmode lrecord class.
13083
13084         * device.h: Added an exfun for find-device.
13085
13086         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13087         geometry; although, recreate the device compatible DC.
13088
13089         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13090         (msprinter_init_frame_3):
13091         (msprinter_frame_property):
13092         (msprinter_internal_frame_property_p):
13093         (msprinter_frame_properties):
13094         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13095         print job properties (will move to device settings).
13096
13097         * lisp.h: Added symbols.
13098
13099         * general.c (syms_of_general): Declared them.
13100
13101         * hash.c (string_hash): Added.
13102
13103         * lrecord.h (lrecord_type): Added devmode lrecord type.
13104
13105 2000-07-02  Mike Sperber <mike@xemacs.org>
13106
13107         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13108         FreeBSD 4.0.
13109
13110 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13111
13112         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13113         integer.
13114
13115 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13116
13117         * data.c (Fstring_to_number): Don't recognize floating point if
13118         base is not 10.
13119
13120 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13121
13122         * glyphs-widget.c (tab_control_query_geometry):
13123         (widget_query_geometry):
13124         (button_query_geometry):
13125         * glyphs.c (text_query_geometry):
13126         Enforce type correctness.
13127
13128 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13129
13130         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13131         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13132
13133 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13134
13135         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13136         conflicts with gcc's fixincluded version of FOO.h.
13137
13138         * glyphs.h (image_instance_geometry): Remove trailing `,'
13139
13140 2000-06-08  Mike Alexander  <mta@arbortext.com>
13141
13142         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13143         (shove_thread): Don't write the same output twice
13144         (make_ntpipe_output_stream): Increase priority of shove thread
13145         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13146         chance to run
13147         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13148         it.
13149
13150 2000-06-12  Ben Wing  <ben@xemacs.org>
13151
13152         * s\mingw32.h (sigset):
13153         * s\windowsnt.h (sigset):
13154         rename msw_ to mswindows_ for consistency with general convention.
13155
13156 2000-06-12  Ben Wing  <ben@xemacs.org>
13157
13158         * console-msw.c:
13159         * console-msw.c (mswindows_get_console_hwnd):
13160         * console-msw.c (mswindows_ensure_console_allocated):
13161         * console-msw.c (mswindows_hide_console):
13162         * console-msw.c (mswindows_show_console):
13163         * console-msw.c (mswindows_ensure_console_buffered):
13164         * console-msw.c (mswindows_output_console_string):
13165         * console-msw.c (mswindows_windows9x_p):
13166         * console-msw.h:
13167         * device-msw.c (mswindows_get_workspace_coords):
13168         * device-msw.c (mswindows_device_system_metrics):
13169         * dialog-msw.c (mswindows_popup_dialog_box):
13170         * event-msw.c (mswindows_wnd_proc):
13171         * frame-msw.c (mswindows_size_frame_internal):
13172         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13173         * menubar-msw.c (displayable_menu_item):
13174         * menubar-msw.c (mswindows_char_is_accelerator):
13175         * nt.c:
13176         * nt.c (mswindows_sigset):
13177         * nt.c (mswindows_sigrelse):
13178         * nt.c (mswindows_sigpause):
13179         * nt.c (mswindows_raise):
13180         * nt.c (timer_proc):
13181         * ntproc.c:
13182         * ntproc.c (find_child_console):
13183         * ntproc.c (sys_kill):
13184         * print.c:
13185         * print.c (std_handle_out_external):
13186         * process-nt.c (find_child_console):
13187         * process-nt.c (send_signal_the_95_way):
13188         * process-nt.c (ensure_console_window_exists):
13189         * process-nt.c (nt_create_process):
13190         * syssignal.h:
13191         rename msw_ to mswindows_ for consistency with general convention.
13192
13193         * emacs.c:
13194         * dumper.c:
13195         include nt.h, not syswindows.h.
13196
13197         * nt.c (mswindows_fstat):
13198         * nt.c (mswindows_stat):
13199         prefix mswindows_ instead of attempting to directly override the
13200         library functions.  fix declarations.
13201
13202         * nt.h:
13203         include syswindows.h.  move some sysdep.h stuff here.
13204
13205         * ntheap.h:
13206         include syswindows.h, not <windows.h>.
13207
13208         * ntplay.c:
13209         clean up headers.
13210
13211         * sysdep.c:
13212         clean up headers.
13213
13214         * sysdep.c (sys_fstat):
13215         * sysdep.c (sys_stat):
13216         call mswindows versions when appropriate.
13217
13218         * sysdep.h:
13219         move mswin decls to nt.h.
13220
13221         * syswindows.h:
13222         add long comment describing appropriate use of the various windows
13223         headers.
13224
13225 2000-06-11  Ben Wing  <ben@xemacs.org>
13226
13227         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13228
13229 2000-06-10  Ben Wing  <ben@xemacs.org>
13230
13231         * Makefile.in.in (release):
13232         Correction to make sure xemacs.exe always dumped when correct.
13233
13234         * alloca.c:
13235         * balloon_help.c:
13236         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13237
13238         * buffer.c (set_buffer_internal):
13239         [[[[2]]]]: Remove HAVE_FEP code.
13240
13241         * buffer.c (init_initial_directory):
13242         [3].
13243
13244         * bytecode.c:
13245         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13246         individual files.
13247
13248         * callproc.c:
13249         * callproc.c (call_process_cleanup):
13250         * callproc.c (Fold_call_process_internal):
13251         * callproc.c (child_setup):
13252         * callproc.c (getenv_internal):
13253         * callproc.c (init_callproc):
13254         * callproc.c (vars_of_callproc):
13255         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13256         __CYGWIN32__ -> CYGWIN.
13257         DOS_NT -> WIN32_NATIVE.
13258         Remove MSDOS support/references, converting to WIN32_NATIVE
13259           where correct.
13260         __MINGW32__ -> MINGW.
13261         Fix windows.h includes.
13262         Remove bogus HAVE_NTGUI.
13263
13264         * config.h.in:
13265         [2].
13266
13267         * console-msw.c:
13268         mswindows_message_outputted added for use in allowing startup
13269         errors on the console to be seen.
13270
13271         * console-msw.c (msw_ensure_console_allocated):
13272         * console-msw.c (msw_output_console_string):
13273         * console-msw.c (DHEADER):
13274         * console-msw.c (DOPAQUE_DATA):
13275         * console-msw.c (DEVENT):
13276         * console-msw.c (DCONS):
13277         * console-msw.c (DCONSCDR):
13278         * console-msw.c (DSTRING):
13279         * console-msw.c (DVECTOR):
13280         * console-msw.c (DSYMBOL):
13281         * console-msw.c (DSYMNAME):
13282         Fix warnings.
13283
13284         * console-stream.c (stream_init_console):
13285         Fix text/binary problems.
13286
13287         * device-msw.c:
13288         * device-msw.c (mswindows_finish_init_device):
13289         * device-msw.c (mswindows_delete_device):
13290         [1].
13291
13292         * device.c (handle_asynch_device_change):
13293         [3].
13294
13295         * dgif_lib.c:
13296         * dgif_lib.c (DGifOpenFileName):
13297         * dgif_lib.c (DGifOpenFileHandle):
13298         * dgif_lib.c (DGifGetLine):
13299         * dgif_lib.c (DGifGetPixel):
13300         Added config.h/lisp.h, fix up includes.
13301         [1].
13302
13303         * dired-msw.c:
13304         [4].
13305
13306         * dired.c:
13307         * dired.c (file_name_completion):
13308         * dired.c (Ffile_attributes):
13309         * dired.c (syms_of_dired):
13310         [1].
13311
13312         * dumper.c:
13313         * dumper.c (pdump_file_unmap):
13314         * dumper.c (pdump_load):
13315         [1].
13316
13317         * editfns.c:
13318         * editfns.c (Ftemp_directory):
13319         * editfns.c (user_login_name):
13320         * editfns.c (Fuser_real_login_name):
13321         * editfns.c (get_home_directory):
13322         [1].
13323
13324         * elhash.c (finish_marking_weak_hash_tables):
13325         [[[[5]]]]: Fix GCC warnings.
13326
13327         * emacs.c:
13328         * emacs.c (mswindows_handle_hardware_exceptions):
13329         * emacs.c (make_arg_list_1):
13330         * emacs.c (main_1):
13331         * emacs.c (Fkill_emacs):
13332         * emacs.c (Fdump_emacs):
13333         [1].
13334         Fix problems with nested crashes, add long comment.
13335
13336         * event-Xt.c (init_event_Xt_late):
13337         [1].
13338
13339         * event-msw.c:
13340         * event-msw.c (mswindows_dde_callback):
13341         * event-msw.c (mswindows_handle_sticky_modifiers):
13342         * event-msw.c (mswindows_wnd_proc):
13343         [1].
13344         [5].
13345
13346         * events.c (character_to_event):
13347         [1].
13348
13349         * fileio.c:
13350         * fileio.c (Ffile_name_directory):
13351         * fileio.c (Ffile_name_nondirectory):
13352         * fileio.c (directory_file_name):
13353         * fileio.c (Fexpand_file_name):
13354         * fileio.c (Fsubstitute_in_file_name):
13355         * fileio.c (Ffile_name_absolute_p):
13356         * fileio.c (check_executable):
13357         * fileio.c (Ffile_readable_p):
13358         * fileio.c (Ffile_accessible_directory_p):
13359         * fileio.c (Ffile_modes):
13360         * fileio.c (Funix_sync):
13361         * fileio.c (vars_of_fileio):
13362         [1]. [4].
13363
13364         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13365
13366         Expand getdefdir defn.
13367         Fix bogus rename() comment.
13368
13369         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13370         to use standard XEmacs include files, e.g. sysfile.h, rather
13371         than system-specific includes.
13372
13373         * fns.c:
13374         * fns.c (Fsubseq):
13375         [5]. [6].
13376
13377         * frame.c (vars_of_frame):
13378         [1].
13379
13380         * getloadavg.c:
13381         * getloadavg.c (getloadavg):
13382         [1]. [6].
13383         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13384         (We don't use it elsewhere in the code; just add a comment.)
13385
13386         * gif_io.c:
13387         [6].
13388         Add config.h.
13389
13390         * glyphs-msw.c:
13391         * glyphs-msw.c (mswindows_resource_instantiate):
13392         [1].
13393
13394         * glyphs-x.c (x_native_layout_instantiate):
13395         [5].
13396
13397         * gui-msw.c (Fmswindows_shell_execute):
13398         [1].
13399
13400         * insdel.c:
13401         [4].
13402
13403         * lisp.h:
13404         [4]. [5].
13405
13406         * lread.c (locate_file_in_directory_mapper):
13407         [1].
13408
13409         * lstream.c:
13410         [4].
13411
13412         * mem-limits.h:
13413         * mem-limits.h (get_lim_data):
13414         [1].
13415
13416         * menubar-msw.c:
13417         [4].
13418
13419         * ndir.h:
13420         [1].
13421
13422         * nt.c:
13423         * nt.c (getwd):
13424         * nt.c (closedir):
13425         * nt.c (rva_to_section):
13426         * nt.c (mswindows_executable_type):
13427         [1]. [6].
13428         Fix closedir() defn.
13429
13430         * nt.h:
13431         [[[[8]]]]: *_OK defs moved to sysfile.h.
13432
13433         * ntproc.c:
13434         [6]. [7].
13435
13436         * objects-x.c:
13437         [4].
13438
13439         * print.c:
13440         * print.c (std_handle_out_external):
13441         [1]. [4].
13442
13443         * process-nt.c:
13444         * process-nt.c (nt_create_process):
13445         [6].
13446         try to fix process quoting somewhat.
13447
13448         * process-unix.c (unix_create_process):
13449         [1].
13450
13451         * process.c:
13452         * process.c (vars_of_process):
13453         Add Vnull_device.
13454
13455         * process.h:
13456         [1].
13457
13458         * realpath.c:
13459         * realpath.c (xrealpath):
13460         [1].
13461
13462         * redisplay-tty.c (init_tty_for_redisplay):
13463         [3].
13464
13465         * redisplay.c:
13466         [4]. [6].
13467
13468         * scrollbar-msw.c:
13469         [4].
13470
13471         * sheap.c:
13472         * sheap.c (more_static_core):
13473         * sheap.c (report_sheap_usage):
13474         [5]. [6].
13475
13476         * signal.c:
13477         * signal.c (alarm_signal):
13478         [1]. [6].
13479
13480         * sound.c:
13481         [6].
13482
13483         * strftime.c:
13484         * strftime.c (zone_name):
13485         [1]. [5].
13486
13487         * symsinit.h (init_sunpro):
13488         [1].
13489
13490         * syscommctrl.h:
13491         commctrl.h not in Cygwin b20.1.
13492
13493         * sysdep.c:
13494         * sysdep.c (endif):
13495         * sysdep.c (sys_subshell):
13496         * sysdep.c (init_baud_rate):
13497         * sysdep.c (emacs_get_tty):
13498         * sysdep.c (emacs_set_tty):
13499         * sysdep.c (tty_init_sys_modes_on_device):
13500         * sysdep.c (init_system_name):
13501         * sysdep.c (sys_open):
13502         * sysdep.c (interruptible_open):
13503         * sysdep.c (sys_fopen):
13504         * sysdep.c (sys_mkdir):
13505         * sysdep.c (sys_rename):
13506         * sysdep.c (get_process_times_1):
13507         [1]. [6].
13508
13509         * sysdep.h:
13510         [1].
13511
13512         * sysdir.h:
13513         * sysdir.h (DIRENTRY_NONEMPTY):
13514         [1]. [6].
13515
13516         * sysdll.c (dll_init):
13517         * sysdll.h:
13518         [1].
13519
13520         * sysfile.h:
13521         [1]. [6]. [8].
13522         added text/binary defs.
13523
13524         * sysfloat.h:
13525         [1].
13526
13527         * sysproc.h:
13528         * sysproc.h (EDESTADDRREQ):
13529         * sysproc.h (poll_fds_for_input):
13530         [1]. [6].
13531
13532         * syspwd.h:
13533         [6].
13534
13535         * syssignal.h:
13536         [1].
13537
13538         * systime.h:
13539         [1]. [6].
13540
13541         * systty.h:
13542         [1].
13543
13544         * syswindows.h:
13545         [1].
13546         Always define WIN32_LEAN_AND_MEAN.
13547
13548         * unexcw.c (unexec):
13549         [5].
13550
13551         * unexec.c:
13552         * unexec.c (copy_text_and_data):
13553         * unexec.c (adjust_lnnoptrs):
13554         [1].
13555
13556         * unexnt.c:
13557         * unexnt.c (_start):
13558         [1].
13559
13560 2000-06-07  Ben Wing  <ben@xemacs.org>
13561
13562         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13563         was used only as a model.  We've long since extracted any useful
13564         logic or code out of this. (I just did an exhaustive search.)
13565
13566         * s\msdos.h: Removed.
13567
13568         * s\windows95.h: Removed.
13569
13570 2000-06-10  Ben Wing  <ben@xemacs.org>
13571
13572         * s\cygwin32.h:
13573         [1]. [5].
13574         Don't use extern with fun defs.
13575
13576         * s\mingw32.h:
13577         [1]. [7].
13578         Remove nt\inc include.
13579         Remove getdisk, getdefdir. (The former is unused, the latter
13580         expanded in fileio.h.)
13581
13582         * s\windowsnt.h:
13583         * s\windowsnt.h (WIN32_NATIVE):
13584         * s\windowsnt.h (HAVE_STRCASECMP):
13585         [1]. [7].
13586         Add long comment about preprocessor changes.
13587         Remove getdisk, getdefdir. (The former is unused, the latter
13588         expanded in fileio.h.)
13589
13590 2000-06-10  Ben Wing  <ben@xemacs.org>
13591
13592         * m\arm.h:
13593         * m\delta.h:
13594         * m\intel386.h:
13595         * m\sequent.h:
13596         * m\template.h:
13597         * m\windowsnt.h:
13598         [1].
13599         Remove bogus/unused NO_SOCK_SIGIO.
13600
13601 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13602
13603         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13604         not an Emchar.
13605
13606 2000-06-04  Mike Sperber <mike@xemacs.org>
13607
13608         * casetab.c (set_case_table): For `set-standard-case-table',
13609         actually deposit the new case tables where the rest of XEmacs can
13610         see them.
13611
13612 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13613
13614         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13615
13616 2000-06-05  Ben Wing  <ben@xemacs.org>
13617
13618         * callproc.c (child_setup): Don't do close_load_descs() under
13619         MS Windows.  Put in a comment explaining why.
13620
13621 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13622
13623         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13624         Toolkit shell" which breaks `kill-compilation' on Windows NT
13625         native, retaining STDERR handling improvements.
13626
13627 2000-06-01  Andreas Jaeger  <aj@suse.de>
13628
13629         * s/s390.h: Support for S390, based on a patch by Martin
13630         Schwidefsky <schwidefsky@de.ibm.com>.
13631
13632 2000-05-30  Andy Piper  <andy@xemacs.org>
13633
13634         * window.c (allocate_window):
13635         (make_dummy_parent):
13636         (Fset_window_configuration): use new hashtable type.
13637
13638         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13639         (struct image_instantiator_methods):
13640         (struct Lisp_Image_Instance): make instance geometry signed.
13641
13642         * glyphs.c (instantiate_image_instantiator):
13643         (image_instance_query_geometry):
13644         (image_instance_layout):
13645         (image_instance_layout):
13646         (query_string_geometry):
13647         (text_query_geometry):
13648         (image_instantiate):
13649         (image_instantiate):
13650         (cache_subwindow_instance_in_frame_maybe):
13651         (subwindow_query_geometry): make instance geometry signed.
13652
13653         * glyphs-widget.c (widget_query_geometry):
13654         (widget_layout):
13655         (button_query_geometry):
13656         (tree_view_query_geometry):
13657         (tab_control_query_geometry):
13658         (layout_query_geometry):
13659         (layout_layout):
13660         (native_layout_layout): make instance geometry signed.
13661
13662 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13663
13664         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13665         constant.
13666
13667         * general.c (syms_of_general): Add Qfull_assoc symbol.
13668
13669         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13670         correctly.
13671         (decode_weak_list_type): Decode full-assoc type.
13672         (encode_weak_list_type): Encode full-assoc type.
13673         (Fmake_weak_list): Update doc string.
13674
13675 2000-05-30  Andy Piper  <andy@xemacs.org>
13676
13677         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13678
13679         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13680         (decode_hash_table_weakness): ditto.
13681         (Fhash_table_weakness): ditto.
13682         (Fhash_table_type): ditto.
13683         (finish_marking_weak_hash_tables): ditto.
13684         (hash_table_weakness_validate): ditto.
13685         (syms_of_elhash): ditto.
13686
13687 2000-05-28  Martin Buchholz <martin@xemacs.org>
13688
13689         * XEmacs 21.2.34 is released.
13690
13691 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13692
13693         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13694         start cache.
13695         (updating_line_start_cache): Gone.
13696         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13697         generic code to force a minimum of 1 line laid out in the
13698         CMOTION_DISP case.
13699
13700 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13701
13702         * glyphs.c (instantiate_image_instantiator): Check for initialized
13703         height & width no longer special cases IMAGE_NOTHING.
13704         (nothing_instantiate): Set height and width of instance.
13705
13706 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13707
13708         * unexelf.c (unexec): Search for ".data" section.
13709         Initialize new_data2_offset from old_data_index.
13710         Remove redundant check for ElfW.
13711
13712 2000-05-23  Andy Piper  <andy@xemacs.org>
13713
13714         * glyphs.c (get_image_instantiator_governing_domain): allow more
13715         specific domains as the governing domain rather than expecting an
13716         exact match. This fixes problems with layouts.
13717
13718 2000-05-22  Andy Piper  <andy@xemacs.org>
13719
13720         * redisplay-output.c (compare_runes): check for non-images
13721
13722         * glyphs.c (set_glyph_dirty_p): ditto.
13723         (update_glyph_cachel_data): ditto.
13724
13725         * glyphs-widget.c (layout_post_instantiate): ditto.
13726         (layout_post_instantiate): ditto.
13727
13728         * event-msw.c (mswindows_wnd_proc): warning removal.
13729
13730 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13731
13732         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13733
13734         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13735
13736         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13737
13738         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13739         (mswindows_executable_type): mingw32 now has enough headers for
13740         this to work.
13741
13742 2000-05-20  Andy Piper  <andy@xemacs.org>
13743
13744         * console-msw.c (mswindows_output_last_error): ; -> ,
13745
13746 2000-05-12  Andy Piper  <andy@xemacs.org>
13747
13748         * console-msw.c (FROB): compare ints with ints.
13749
13750 2000-05-11  Andy Piper  <andy@xemacs.org>
13751
13752         * glyphs-x.c (x_finalize_image_instance): make minimal build
13753         happy.
13754
13755 2000-05-20  Ben Wing  <ben@xemacs.org>
13756
13757         * event-Xt.c:
13758         * event-Xt.c (vars_of_event_Xt):
13759         move modifier-keys-are-sticky to event-stream.c.
13760
13761         * event-msw.c:
13762         * event-msw.c (mswindows_enqueue_mouse_button_event):
13763         * event-msw.c (key_needs_default_processing_p):
13764         * event-msw.c (XEMSW_LCONTROL):
13765         * event-msw.c (mswindows_handle_sticky_modifiers):
13766         * event-msw.c (FROB):
13767         * event-msw.c (clear_sticky_modifiers):
13768         * event-msw.c (output_modifier_keyboard_state):
13769         * event-msw.c (output_alt_keyboard_state):
13770         * event-msw.c (mswindows_wnd_proc):
13771         * event-msw.c (mswindows_modifier_state):
13772         * event-msw.c (emacs_mswindows_handle_magic_event):
13773         implement sticky modifiers.
13774
13775         * event-stream.c:
13776         * event-stream.c (vars_of_event_stream):
13777         move modifier-keys-are-sticky here.
13778
13779         * lisp.h:
13780         add CHECK_FUNCTION.
13781
13782         * rangetab.c:
13783         implement map-range-table.
13784
13785
13786 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13787
13788         * redisplay-tty.c (reset_tty_modes):
13789         (tty_redisplay_shutdown): Adjust argument type to
13790         tty_frame_output_end.
13791
13792 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13793
13794         * eval.c (Fbacktrace): Don't output a line with only right
13795         parenthesis.
13796
13797 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13798
13799         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13800         (Fpq_reset_poll): Ditto.
13801
13802 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13803
13804         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13805
13806 2000-05-16  Ben Wing  <ben@xemacs.org>
13807
13808         * buffer.c:
13809         * buffer.c (dfc_convert_to/from_internal_format):
13810         * buffer.c (reinit_vars_of_buffer):
13811         Fix conversion functions to allow reentrancy.
13812
13813         * console-msw.c:
13814         * console-msw.c (mswindows_output_last_error):
13815         New fun, generally useful -- output a human-readable
13816         version of GetLastError() on the console.
13817
13818         * console-msw.h:
13819         * console-msw.h (struct mswindows_frame):
13820         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13821
13822         * console-stream.c (stream_output_begin):
13823         * console-stream.c (stream_output_end):
13824         * console-stream.c (stream_output_vertical_divider):
13825         * console-stream.c (stream_clear_region):
13826         * console-stream.c (stream_flash):
13827         * console-stream.c (console_type_create_stream):
13828         Delete blank stream methods, not needed.
13829
13830         * console.h (struct console_methods):
13831         Split begin/end methods into window and frame.
13832
13833         * event-msw.c:
13834         * event-msw.c (mswindows_handle_paint):
13835         * event-msw.c (output_alt_keyboard_state):
13836         * event-msw.c (mswindows_wnd_proc):
13837         * event-msw.c (vars_of_event_mswindows):
13838         Comment about problems with ignored-expose.
13839         Define mswindows-debug-events; not really implemented.
13840
13841         * frame-msw.c (mswindows_init_frame_1):
13842         random cleanups.
13843
13844         * glyphs-msw.c:
13845         * glyphs-msw.c (begin_defer_window_pos):
13846         * glyphs-msw.c (mswindows_unmap_subwindow):
13847         * glyphs-msw.c (mswindows_map_subwindow):
13848         * glyphs-msw.c (mswindows_resize_subwindow):
13849         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13850
13851         * glyphs.c (make_image_instance_1):
13852         Fix crash.
13853
13854         * gutter.c (Fredisplay_gutter_area):
13855         Use new begin/end methods.
13856
13857         * lisp.h (Dynarr_new2):
13858         New creation fun.
13859
13860         * redisplay-msw.c:
13861         * redisplay-msw.c (mswindows_frame_output_begin):
13862         * redisplay-msw.c (mswindows_frame_output_end):
13863         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13864         New begin/end methods -- handle DeferWindowPos.
13865
13866         * redisplay-output.c (redisplay_move_cursor):
13867         * redisplay-output.c (redraw_cursor_in_window):
13868         * redisplay-output.c (redisplay_update_line):
13869         * redisplay-output.c (redisplay_output_window):
13870         New begin/end methods.
13871
13872         * redisplay-tty.c:
13873         * redisplay-tty.c (tty_frame_output_begin):
13874         * redisplay-tty.c (tty_frame_output_end):
13875         * redisplay-tty.c (console_type_create_redisplay_tty):
13876         New begin/end methods.
13877
13878         * redisplay-x.c:
13879         * redisplay-x.c (x_window_output_begin):
13880         * redisplay-x.c (x_window_output_end):
13881         * redisplay-x.c (console_type_create_redisplay_x):
13882         New begin/end methods.
13883
13884         * redisplay.c (redisplay_frame):
13885         * redisplay.c (Fredisplay_echo_area):
13886         New begin/end methods.
13887         use MAYBE_DEVMETH for clear_frame; it may not exist.
13888
13889         * window.h (WINDOW_XFRAME):
13890         WINDOW_XFOO macros -- get locale and decode struct pointer.
13891
13892
13893 2000-05-12  Ben Wing  <ben@xemacs.org>
13894
13895         * emacs.c:
13896         * emacs.c (ensure_no_quitting_from_now_on):
13897         * emacs.c (fatal_error_signal):
13898         * emacs.c (mswindows_handle_hardware_exceptions):
13899         * emacs.c (main):
13900         * emacs.c (Fkill_emacs):
13901         * emacs.c (shut_down_emacs):
13902         * emacs.c (assert_failed):
13903         various improvements in fatal error handling.
13904
13905         * eval.c:
13906         move preparing_for_armageddon to emacs.c.
13907
13908         * lisp.h:
13909         declare fatal_error_in_progress.
13910
13911         * print.c:
13912         * print.c (std_handle_out_external):
13913         * print.c (std_handle_out_va):
13914         * print.c (stderr_out):
13915         * print.c (stdout_out):
13916         use console under mswin when no standard output.
13917         don't do code conversion during fatal error.
13918
13919         * scrollbar.c (Fscrollbar_page_up):
13920         * scrollbar.c (Fscrollbar_page_down):
13921         fix missing else.  reindent.
13922
13923 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13924
13925         Emergency fix.
13926
13927         * glyphs.h (GLYPH_CACHEL_DESCENT):
13928         (GLYPH_CACHEL_DESCENT):
13929         (GLYPH_CACHEL_DESCENT):
13930         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13931         used in case these are inline functions.
13932         Use more absurd values to error check.
13933
13934         include window.h for error check functions.
13935
13936 2000-05-11  Ben Wing  <ben@xemacs.org>
13937
13938         * cmdloop.c (Freally_early_error_handler):
13939         Display message box under windows; otherwise, message will disappear
13940         before it can be viewed.
13941
13942         * console-msw.c:
13943         * console-msw.c (Fmswindows_message_box):
13944         * console-msw.c (FROB):
13945         * console-msw.c (syms_of_console_mswindows):
13946         Define new fun `mswindows-message-box'.
13947         #### I will merge this into `popup-dialog-box'; just give me
13948         a bit of time.
13949
13950         * general.c:
13951         * general.c (syms_of_general):
13952         Some new symbols used in `mswindows-message-box'.
13953
13954         * glyphs.c:
13955         * glyphs.c (Fset_image_instance_property):
13956         put warning in this fun.
13957
13958         * glyphs.h:
13959         * glyphs.h (GLYPH_CACHEL_WIDTH):
13960         * glyphs.h (GLYPH_CACHEL_ASCENT):
13961         * glyphs.h (GLYPH_CACHEL):
13962         * glyphs.h (GLYPH_CACHEL_GLYPH):
13963         define error-checking versions to try to catch a bug i've seen --
13964         redisplay gets in an infinite loop because the glyph width of the
13965         continuation glyph is 65535.
13966
13967         * lisp.h:
13968         Extern message-box stuff.
13969
13970         * window.c (allocate_window):
13971         * window.c (make_dummy_parent):
13972         * window.c (Fset_window_configuration):
13973         Use EQUAL not EQ for subwindow caches to make them work a bit
13974         better. (Something is still very broken.)
13975
13976
13977 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13978
13979         * glyphs.c (image_instantiate): Suppress gcc warnings.
13980         (Fmake_image_instance): Fix doc string.
13981         * specifier.c (Fmake_specifier): Ditto.
13982
13983 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13984
13985         * paths.h.in (PATH_LOCK): Removed.
13986         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13987         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13988
13989 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13990
13991         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13992         Document (featurep '(and xemacs 21.02)).
13993
13994 2000-05-09  Ben Wing  <ben@xemacs.org>
13995
13996         * buffer.c (complex_vars_of_buffer):
13997         update modeline-format doc.
13998
13999         * device.h:
14000         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
14001
14002         * emacs.c:
14003         timeline of all released versions of Emacs, for use in creating
14004         authorship comments and in synching up.
14005
14006         * glyphs-widget.c (image_instantiator_buttons):
14007         * glyphs-widget.c (image_instantiator_edit_fields):
14008         * glyphs-widget.c (image_instantiator_combo_box):
14009         * glyphs-widget.c (image_instantiator_scrollbar):
14010         * glyphs-widget.c (image_instantiator_progress_guage):
14011         * glyphs-widget.c (image_instantiator_tree_view):
14012         * glyphs-widget.c (image_instantiator_tab_control):
14013         * glyphs-widget.c (image_instantiator_labels):
14014         * glyphs-widget.c (image_instantiator_layout):
14015         * glyphs-widget.c (image_instantiator_native_layout):
14016         rename decode_domain method to governing_domain.
14017
14018         * glyphs.c:
14019         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
14020         * glyphs.c (add_entry_to_device_ii_format_list):
14021         make sure we don't put an entry more than once into the list.
14022         * glyphs.c (check_instance_cache_mapper):
14023         *************************************************************
14024         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14025         HAVE BEEN GETTING.
14026         *************************************************************
14027         * glyphs.c (get_image_instantiator_governing_domain):
14028         clean up, expand on new concept of governing domain.
14029         * glyphs.c (instantiate_image_instantiator):
14030         * glyphs.c (allocate_image_instance):
14031         use governing_domain instead of cache_domain in naming.
14032         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14033         * glyphs.c (make_image_instance_1):
14034         * glyphs.c (Fmake_image_instance):
14035         allow for any domain (not just device), and process the
14036         governing domain correctly.  very big doc fix.
14037         * glyphs.c (Fimage_instance_domain):
14038         new primitive, to retrieve the governing domain of an image instance.
14039         * glyphs.c (image_instantiate):
14040         use new governing_domain stuff.  this fixes a crash you could get
14041         by instantiating certain widget glyphs in frame locales. (should
14042         signal an error instead of crashing.)
14043         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14044         * glyphs.c (Fglyphp): clean up doc.
14045         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14046         * glyphs.c (syms_of_glyphs):
14047         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14048         * glyphs.c (image_instantiator_format_create): add some comments about
14049         bogus code.
14050         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14051         for current-display-table. (Apparently Hrjove implemented in 1998 a
14052         design I wrote up in 1996, but didn't update the doc string.)
14053
14054         * glyphs.h: clean up a doc string.
14055         * glyphs.h (governing_domain):
14056         * glyphs.h (struct image_instantiator_methods):
14057         changes for governing_domain stuff.
14058
14059         * gutter.c:
14060         * gutter.c (Fgutter_specifier_p):
14061         * gutter.c (Fgutter_size_specifier_p):
14062         * gutter.c (Fgutter_visible_specifier_p):
14063         * objects.c:
14064         * objects.c (Fcolor_specifier_p):
14065         * objects.c (Ffont_specifier_p):
14066         * objects.c (Fface_boolean_specifier_p):
14067         doc strings moved to make-*-specifier.
14068
14069         * redisplay.c (add_disp_table_entry_runes_1):
14070         * redisplay.c (generate_fstring_runes):
14071         * redisplay.c (screen):
14072         add random comments and doc strings.
14073
14074         * specifier.c:
14075         * specifier.c (Fmake_specifier):
14076         major overhaul of this doc string.
14077
14078         * specifier.c (Fvalid_specifier_domain_p):
14079         comment about the bogosity of image instances being domains.
14080         * specifier.c (decode_domain):
14081         now non-static, used in glyphs.c.
14082         * specifier.c (specifier_instance):
14083         comment about the bogosity of image instances being domains.
14084         * specifier.c (Fgeneric_specifier_p):
14085         move doc string to make-generic-specifier.
14086         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14087         rebackslashify.
14088
14089         * specifier.h:
14090         * specifier.h (DOMAIN_FRAME):
14091         * specifier.h (DOMAIN_LIVE_P):
14092         * specifier.h (DOMAIN_XDEVICE):
14093         rebackslashify.
14094         add comments about problems with these macros.
14095         prototype for decode_domain.
14096
14097         * toolbar.c:
14098         * toolbar.c (Ftoolbar_specifier_p):
14099         move doc string to `make-toolbar-specifier'.
14100
14101         * window.c (window_unmap_subwindows_cache_mapper):
14102         *************************************************************
14103         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14104         HAVE BEEN GETTING.
14105         *************************************************************
14106
14107 2000-05-09  Andy Piper  <andy@xemacs.org>
14108
14109         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14110
14111         * window.c (Fset_window_configuration): reset the frame subwindow
14112         cache and re-initialize the window subwindow caches.
14113
14114         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14115
14116 2000-05-09  Ben Wing  <ben@xemacs.org>
14117
14118         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14119         DWORD.
14120
14121 2000-04-26  Mike Woolley  <mike@bulsara.com>
14122
14123         * ntheap.c: Changed recreate_heap to limit the amount reserved
14124         for the heap to that which is actually available. Also now
14125         displays a message box (with some dignostics) in the event that
14126         it still can't start.
14127
14128 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14129
14130         * callproc.c (Fold_call_process_internal): GCPRO path
14131
14132 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14133
14134         Patch by Bill Perry.
14135
14136         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14137         back data instead of #ifdef.
14138         (Fscrollbar_page_down): ditto.
14139
14140 2000-05-07  Ben Wing  <ben@xemacs.org>
14141
14142         * buffer.h:
14143         Kludge for defining Qmswindows_tstr.
14144
14145         * nt.c:
14146         * nt.c (open_input_file):
14147         * nt.c (open_output_file):
14148         * nt.c (rva_to_section):
14149         * nt.c (mswindows_executable_type):
14150         Move all memory-mapped-file routines here (some were in unexnt.c,
14151         which is bad because they are used by process-nt.c, and unexnt
14152         won't be around when portable dumping).  Synched the above routines
14153         with FSF 20.6.
14154
14155         * nt.h:
14156         Removed ifdef'd out bogus code.
14157         Fixed some prototypes.
14158
14159         * nt.h (file_data):
14160         * nt.h (OFFSET_TO_RVA):
14161         * nt.h (RVA_TO_OFFSET):
14162         * nt.h (RVA_TO_PTR):
14163         Moved the memory-mapped-file structures, macros and prototypes
14164         here, to parallel nt.c.  ntheap.h should really be removed
14165         entirely, and it's a non-portable-dumper specific file.
14166
14167         * ntheap.h (round_to_next):
14168         Moved the memory-mapped-file structures, macros and prototypes
14169         to nt.h.
14170
14171         * ntproc.c (compare_env):
14172         Moved rva_to_section and mswindows_executable_type to nt.c.
14173         Moved compare_env to process-nt.c.
14174         ntproc.c will die, one day.
14175
14176         * ntproc.c (sys_spawnve):
14177         Account for win32_ -> mswindows_.
14178
14179         * process-nt.c:
14180         * process-nt.c (struct nt_process_data):
14181         * process-nt.c (ensure_console_window_exists):
14182         * process-nt.c (compare_env):
14183         * process-nt.c (nt_create_process):
14184         * process-nt.c (nt_kill_process_by_pid):
14185         * process-nt.c (syms_of_process_nt):
14186         * process-nt.c (vars_of_process_nt):
14187         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14188         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14189         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14190         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14191         Move compare_env here from ntproc.c.
14192
14193         * process.c (Fprocess_send_region):
14194         Takes an optional fourth argument, BUFFER, which should fix some
14195         problems with call-process.
14196
14197         * syscommctrl.h:
14198         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14199
14200         * syswindows.h:
14201         Move ICC_BAR_CLASSES to syscommctrl.h.
14202         Add preliminary macros for MSWindows/Mule.  More to come.
14203
14204         * unexnt.c:
14205         * unexnt.c (unexec):
14206         open_output_file moved to nt.c.
14207
14208
14209 2000-05-05  Andy Piper  <andy@xemacs.org>
14210
14211         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14212         instance from the frame cache also since GC may catch up too late
14213         to make frame deletion sane.
14214
14215 2000-05-04  Andy Piper  <andy@xemacs.org>
14216
14217         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14218         (x_finalize_image_instance): ungcpro on deletion.
14219
14220         * glyphs.c (image_instantiator_format_create): give pointers a
14221         query geometry method so that the geometry is at least set.
14222
14223         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14224         initialize layouts if using widgets.
14225
14226 2000-05-03  Andy Piper  <andy@xemacs.org>
14227
14228         * nt.c: remove bogus reference to sysmmsystem.h
14229
14230         * gui-x.c (popup_selection_callback): fix no selection abort.
14231
14232 2000-05-02  Andy Piper  <andy@xemacs.org>
14233
14234         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14235         (mswindows_widget_instantiate): ditto.
14236
14237         * glyphs-widget.c (initialize_widget_image_instance): initialize
14238         children correctly.
14239         (widget_instantiate): cope with children and items in the same
14240         instance.
14241
14242         * glyphs.c (mark_image_instance): cope with children as a first
14243         class member.
14244         (image_instance_equal): ditto.
14245         (image_instance_hash): ditto.
14246         (image_instance_changed): ditto.
14247
14248 2000-04-30  Andy Piper  <andy@xemacs.org>
14249
14250         * glyphs.c (subwindow_query_geometry): new function. Return some
14251         defaults.
14252         (subwindow_instantiate): don't assign dimensions if none have been
14253         given.
14254         (image_instantiator_format_create): add subwindow_query_geometry.
14255         (print_image_instance): cope with layouts as widgets.
14256
14257 2000-04-29  Andy Piper  <andy@xemacs.org>
14258
14259         * frame.c (delete_frame_internal): call
14260         free_frame_subwindow_instance_cache so that all subwindows are
14261         finalized before their parent.
14262         (mark_frame): remove subwindow_cachels.
14263         (Fmake_frame): remove subwindow_cachel manipulation.
14264         (allocate_frame_core): subwindow_instance_cache is a weak list.
14265         (delete_frame_internal): set subwindow_instance_cache to nil.
14266
14267         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14268         finalization safe.
14269         (mswindows_finalize_image_instance): use the device
14270         not the domain as the domain may have died already.
14271
14272         * glyphs-x.c (x_finalize_image_instance): ditto.
14273         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14274         HEIGHT.
14275
14276         * redisplay-output.c (redisplay_unmap_subwindows): update for
14277         subwindow instance cache as a weak list.
14278         (redisplay_unmap_subwindows_maybe): ditto.
14279         (redisplay_unmap_subwindows_except_us): ditto.
14280
14281         * glyphs.c (unmap_subwindow): error checking will check the domain
14282         so don't deal with it here. Don't use cachels anymore.
14283         (map_subwindow): ditto.
14284         (update_subwindow_cachel_data): remove old accessor names.
14285         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14286         (Fresize_subwindow): don't update cachel.
14287         (mark_subwindow_cachels):
14288         (update_subwindow_cachel_data):
14289         (add_subwindow_cachel):
14290         (get_subwindow_cachel_index):
14291         (update_subwindow_cachel):
14292         (reset_subwindow_cachels):
14293         (mark_subwindow_cachels_as_not_updated): deleted.
14294         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14295         subwindow instance to the frame cache.
14296         (find_matching_subwindow): update for subwindow instance cache as
14297         a weak list.
14298         (update_widget_instances): ditto.
14299         (image_instance_type_to_mask):inlined.
14300         (free_frame_subwindow_instance_cache): new function. finalize all
14301         subwindows that are instantiated.
14302
14303         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14304         of cachel information.
14305         (IMAGE_INSTANCE_DISPLAY_X):
14306         (IMAGE_INSTANCE_DISPLAY_Y):
14307         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14308         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14309         (XIMAGE_INSTANCE_DISPLAY_X):
14310         (XIMAGE_INSTANCE_DISPLAY_Y):
14311         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14312         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14313         remove subwindow_cachel structure and function references.
14314         (image_instance_type_to_mask): inline from glyphs.c
14315
14316         * redisplay.c (redisplay_frame): remove subwindow_cachel
14317         references.
14318
14319         * frame.h (struct frame): remove subwindow_cachels.
14320         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14321
14322         * frameslots.h: add subwindow_instance_cache.
14323
14324         * window.c (replace_window): check subwindow cache of replacement.
14325         (window_unmap_subwindows_cache_mapper):
14326         (window_unmap_subwindows): new functions. Unmap all subwindows
14327         cached on this window.
14328         (mark_window_as_deleted): unmap all subwindows.
14329
14330 2000-04-27  Andy Piper  <andy@xemacs.org>
14331
14332         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14333
14334         * glyphs-widget.c (widget_layout): return something.
14335         (layout_layout): return something. Fail if not initialized.
14336         (layout_query_geometry): ditto.
14337         (image_instantiator_native_layout): new function. Initialized the
14338         native layout type.
14339         (widget_instantiate): don't do layout stuff here.
14340
14341         * glyphs.c (instantiate_image_instantiator): reorded calling or
14342         instantiate and post_instantiate with layout in between.
14343         (image_instance_layout): be more selective about deciding whether
14344         the layout has been done or not.
14345
14346         * glyphs.h (struct image_instantiator_methods): return a value
14347         from layout_method.
14348
14349 2000-04-26  Andy Piper  <andy@xemacs.org>
14350
14351         * glyphs.c (allocate_image_instance): make initial width and
14352         height unspecified. Set initialized to 0.
14353
14354         * syscommctrl.h new file. Encapsulates commctrl.h.
14355
14356         * syswindows.h new file. Encapsulates windows.h.
14357
14358         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14359         * nt.c: ditto.
14360         * console-msw.h: ditto.
14361
14362         * redisplay-tty.c (tty_output_display_block): remove layout references.
14363
14364         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14365         window handle rather than just the frame.
14366
14367         * glyphs.c (mark_image_instance): remove layout references.
14368         (print_image_instance): ditto.
14369         (image_instance_equal): ditto.
14370         (image_instance_hash): ditto.
14371         (decode_image_instance_type): ditto.
14372         (encode_image_instance_type): ditto.
14373         (image_instantiate): ditto.
14374         (allocate_glyph): ditto.
14375         (Fimage_instance_height): ditto.
14376         (Fimage_instance_width): ditto.
14377         (update_subwindow): ditto.
14378
14379         * redisplay-x.c (x_output_display_block): recode for layouts as
14380         widgets.
14381
14382         * redisplay-output.c (redisplay_output_layout): recode for layouts
14383         as widgets.
14384         (compare_runes): remove layout references.
14385
14386         * redisplay-msw.c (mswindows_output_display_block): recode for
14387         layouts as widgets.
14388
14389         * glyphs-widget.c (image_instantiator_layout): remove
14390         layout_possible_dest_types.
14391         (layout_possible_dest_types): deleted.
14392
14393         * glyphs.h (image_instance_type): remove layout references.
14394         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14395         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14396         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14397
14398 2000-04-25  Andy Piper  <andy@xemacs.org>
14399
14400         * glyphs-widget.c (image_instantiator_buttons):
14401         (image_instantiator_edit_fields):
14402         (image_instantiator_combo_box):
14403         (image_instantiator_scrollbar):
14404         (image_instantiator_progress_guage):
14405         (image_instantiator_tree_view):
14406         (image_instantiator_tab_control):
14407         (image_instantiator_labels):
14408         (image_instantiator_layout): call default post_instantiate method.
14409         (widget_post_instantiate): new function. Simply lays out the
14410         widgets.
14411
14412         * glyphs.h (struct image_instantiator_methods): add
14413         post_instantiate method.
14414
14415         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14416         method calls.
14417
14418 2000-04-23  Andy Piper  <andy@xemacs.org>
14419
14420         * glyphs.h (struct image_instantiator_methods): add
14421         decode_domain_method.
14422         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14423         derived from the domain.
14424         (IMAGE_INSTANCE_FRAME): new accessor.
14425         (XIMAGE_INSTANCE_FRAME): ditto.
14426
14427         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14428         instead of _SUBWINDOW_FRAME.
14429         (finalize_image_instance): ditto.
14430         (Fimage_instance_foreground): ditto.
14431         (Fimage_instance_background): ditto.
14432         (image_instantiate): ditto.
14433         (update_subwindow_cachel): ditto.
14434         (update_subwindow): ditto.
14435         (unmap_subwindow): ditto.
14436         (map_subwindow): ditto
14437         (subwindow_instantiate): ditto.
14438         * glyphs-msw.c (mswindows_update_widget): ditto.
14439         (mswindows_progress_gauge_instantiate): ditto.
14440         (mswindows_tab_control_update): ditto.
14441         * glyphs-x.c (x_update_widget): ditto.
14442         (x_widget_instantiate): ditto.
14443         (x_tab_control_instantiate): ditto.
14444         (x_tab_control_update): ditto.
14445         * event-msw.c (mswindows_wnd_proc): ditto
14446
14447         * glyphs-widget.c (image_instantiator_layout): use
14448         subwindow_decode_domain.
14449         (image_instantiator_buttons): ditto.
14450         (image_instantiator_edit_fields): ditto.
14451         (image_instantiator_combo_box): ditto.
14452         (image_instantiator_scrollbar): ditto.
14453         (image_instantiator_progress_guage): ditto.
14454         (image_instantiator_tree_view): ditto.
14455         (image_instantiator_tab_control): ditto.
14456         (image_instantiator_labels): ditto.
14457         (image_instantiator_layout): ditto.
14458
14459         * glyphs.c: add instance error checking to many functions.
14460         (instantiate_image_instantiator): decode device from cache_domain.
14461         (image_instantiate): partially rewrite by using
14462         decode_image_instantiator_domain to determine what domain the
14463         instance needs to be cached in.
14464         (decode_image_instantiator_domain): new function. Determine what
14465         domain the image needs to be cached in.
14466         (check_window_subwindow_cache): new error checking function.
14467         (check_instance_cache_mapper): ditto.
14468         (check_image_instance_structure): ditto.
14469         (subwindow_decode_domain): new function. Encodes a window as a
14470         subwindow's cache domain.
14471         (image_instantiator_format_create): use it for text and
14472         subwindows.
14473
14474 2000-04-21  Andy Piper  <andy@xemacs.org>
14475
14476         * glyphs.c (image_instance_device): new function.
14477         (image_instance_frame): new function.
14478         (image_instance_window): new function.
14479         (image_instance_live_p): new function.
14480
14481         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14482         cache to nil.
14483
14484         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14485         (IMAGE_INSTANCE_DOMAIN): new accessor.
14486         (XIMAGE_INSTANCE_DOMAIN): ditto.
14487
14488         * glyphs-x.c (x_finalize_image_instance): device->domain.
14489
14490         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14491         (mswindows_finalize_image_instance): ditto.
14492
14493         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14494         (gif_instantiate): ditto.
14495         (png_instantiate): ditto.
14496         (tiff_instantiate): ditto.
14497
14498         * glyphs.c (instantiate_image_instantiator): use domain rather
14499         than device.
14500         (mark_image_instance): device -> domain.
14501         (print_image_instance): ditto.
14502         (finalize_image_instance): ditto.
14503         (image_instance_equal): ditto.
14504         (allocate_image_instance): ditto.
14505         (Fcolorize_image_instance): ditto.
14506         (query_string_geometry): ditto.
14507         (image_instantiate): ditto
14508         (query_string_font): ditto.
14509         (image_instantiate): ditto.
14510         (update_subwindow): ditto.
14511         (unmap_subwindow): ditto.
14512         (map_subwindow): ditto.
14513         (subwindow_instantiate): ditto.
14514
14515         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14516         (DOMAIN_FRAME): ditto.
14517         (DOMAIN_WINDOW): ditto.
14518         (DOMAIN_LIVE_P): ditto.
14519         (XDOMAIN_DEVICE): ditto.
14520         (XDOMAIN_FRAME): ditto.
14521         (XDOMAIN_WINDOW): ditto.
14522
14523         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14524         a valid specifier domain.
14525
14526 2000-04-19  Andy Piper  <andy@xemacs.org>
14527
14528         * glyphs-widget.c (syms_of_glyphs_widget): remove
14529         widget-callback-current-channel.
14530         (vars_of_glyphs_widget): ditto.
14531         * glyphs.h: ditto
14532
14533         * gui.c (get_gui_callback): revert to previous behaviour.
14534
14535 2000-04-18  Andy Piper  <andy@xemacs.org>
14536
14537         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14538         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14539         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14540
14541         * glyphs.c (image_instance_equal): add margin_width.
14542         (image_instance_hash): ditto.
14543
14544         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14545         (layout_query_geometry): ditto.
14546         (layout_layout): ditto.
14547         (syms_of_glyphs_widget): add margin-width.
14548         (image_instantiator_layout): allow margin-width.
14549
14550         * glyphs.c (update_widget_instances): make a normal function.
14551         (syms_of_glyphs): remove Qupdate_widget_instances.
14552         * glyphs.h: ditto.
14553
14554         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14555         so that we don't corrupt ideas about the last event or
14556         command. Remove widget-callback-current-channel fiddling.
14557         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14558
14559 2000-05-01  Martin Buchholz <martin@xemacs.org>
14560
14561         * XEmacs 21.2.33 is released.
14562
14563 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14564
14565         * make-src-depend: Allow dots in header file name.
14566
14567 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14568
14569         * mule-charset.h (struct charset_lookup): Add
14570         next_allocated_1_byte_leading_byte and
14571         next_allocated_2_byte_leading_byte.
14572         * mule-charset.c: Move above two variables so that those values
14573         will be dumped.
14574
14575 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14576
14577         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14578         when string length is zero.
14579         (find_charsets_in_emchar_string): Ditto.
14580
14581 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14582
14583         * lisp.h: extern Qdialog and Qmenubar.
14584
14585         * gui-x.c: added events.h.
14586                 also fixed typo which made the file uncompilable.
14587
14588         * general.c: Added Qmenubar and Qdialog
14589
14590 2000-04-28  Ben Wing  <ben@xemacs.org>
14591
14592         * frame-msw.c (mswindows_init_frame_1):
14593         * frame-msw.c (mswindows_mark_frame):
14594         * event-msw.c (mswindows_enqueue_dispatch_event):
14595         * console-msw.h:
14596         * console-msw.h (struct mswindows_frame):
14597         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14598         there are now three hash tables for callbacks.
14599         mswindows_enqueue_dispatch_event is no longer static.
14600
14601         * dialog-x.c (maybe_run_dbox_text_callback):
14602         * dialog-x.c (dbox_descriptor_to_widget_value):
14603         switch to new cons3 form for callbacks.
14604
14605         * glyphs-msw.c (mswindows_register_gui_item):
14606         * glyphs-msw.c (mswindows_widget_instantiate):
14607         * glyphs-msw.c (add_tree_item):
14608         * glyphs-msw.c (add_tab_item):
14609         new image instance parameter, so it can be passed to callback-ex.
14610         respect :callback-ex as well as :callback.
14611
14612         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14613         add :callback-ex.
14614
14615         * glyphs.c (print_image_instance):
14616         prettify, e.g. now prints widget type.
14617
14618         * gui-x.h:
14619         certain funs have new image instance parameter.
14620
14621         * gui.c:
14622         * gui.c (get_gui_callback):
14623         * gui.c (gui_item_add_keyval_pair):
14624         * gui.c (gui_item_init):
14625         * gui.c (gui_add_item_keywords_to_plist):
14626         * gui.c (mark_gui_item):
14627         * gui.c (gui_item_hash):
14628         * gui.c (gui_item_equal):
14629         * gui.c (copy_gui_item):
14630         * gui.c (syms_of_gui):
14631         recognize callback-ex in a number of places.
14632         also, fix the annoying "can't get out of yes-no dialog" bug.
14633
14634         * gui.h:
14635         * gui.h (struct Lisp_Gui_Item):
14636         recognize callback-ex in a number of places.
14637
14638         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14639         new parameter in button_item_to_widget_value.
14640
14641         * glyphs-x.c (x_update_widget):
14642         * glyphs-x.c (x_button_instantiate):
14643         * glyphs-x.c (x_button_update):
14644         * glyphs-x.c (x_progress_gauge_instantiate):
14645         * glyphs-x.c (x_edit_field_instantiate):
14646         * glyphs-x.c (x_combo_box_instantiate):
14647         * glyphs-x.c (x_tab_control_instantiate):
14648         * glyphs-x.c (x_label_instantiate):
14649         new image instance parameter in various places.
14650
14651         * event-Xt.c:
14652         * event-Xt.c (enqueue_Xt_dispatch_event):
14653         this fun gets exported.
14654
14655         * gui-msw.c:
14656         * gui-msw.c (mswindows_handle_gui_wm_command):
14657         handle both :callback and :callback-ex, and generate our own
14658         event because it's one of the callback-ex arguments.
14659
14660         * gui-x.c:
14661         * gui-x.c (popup_selection_callback):
14662         handle both :callback and :callback-ex, and generate our own
14663         event because it's one of the callback-ex arguments.
14664         * gui-x.c (button_item_to_widget_value):
14665         * gui-x.c (gui_items_to_widget_values_1):
14666         * gui-x.c (gui_item_children_to_widget_values):
14667         * gui-x.c (gui_items_to_widget_values):
14668         new image instance parameter in various places.
14669
14670         * fns.c (Freplace_list):
14671         fix small typo in doc string.
14672
14673         * lisp.h:
14674         declare enqueue_Xt_dispatch_event.
14675
14676 2000-04-28  Ben Wing  <ben@xemacs.org>
14677
14678         * buffer.c:
14679         * buffer.c (Frecord_buffer):
14680         * buffer.c (syms_of_buffer):
14681         delete record-buffer-hook.
14682
14683         * fns.c:
14684         * fns.c (Freplace_list):
14685         * fns.c (syms_of_fns):
14686         new primitive replace-list.
14687
14688         * frameslots.h:
14689         slot for old buffer-alist.
14690
14691         * lisp.h:
14692         exfun replace-list.
14693
14694         * redisplay.c:
14695         * redisplay.c (redisplay_frame):
14696         * redisplay.c (syms_of_redisplay):
14697         * redisplay.c (vars_of_redisplay):
14698         new hook buffer-list-changed-hook.
14699         call it.
14700
14701 2000-04-27  Ben Wing  <ben@xemacs.org>
14702
14703         * extents.h: extern in_modeline_generation.
14704
14705         * redisplay.c (generate_formatted_string_db): set
14706         in_modeline_generation.
14707
14708         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14709         flags if in modeline generation.  otherwise frame-modified-tick
14710         is ticked far too often.
14711         Declare in_modeline_generation.
14712
14713 2000-04-26  Ben Wing  <ben@xemacs.org>
14714
14715         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14716         option.
14717         (vars_of_emacs): add quick-build as an error-checking option.
14718         A bit kludgy, but there doesn't seem much point in creating
14719         a real var for this.
14720
14721         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14722
14723 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14724
14725         * redisplay.h (struct display_line): Add a new variable,
14726         line_continuation.
14727
14728         * redisplay.c (create_text_block): Set dl->line_continuation if
14729         the line continues.
14730         (create_string_text_block): Ditto.
14731         (regenerate_window_incrementally): Use line_continuation instead
14732         of searching continuation glyph.
14733         (add_margin_runes): Call add_glyph_rune.
14734         (add_glyph_rune): Handle margin glyph.
14735
14736 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14737
14738         * filelock.c (fill_in_lock_file_name):
14739         ANSIfy.
14740         Check for IS_ANY_SEP instead of '/'.
14741         (lock_file_1):
14742         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14743         Never check errno without first seeing that system call failed.
14744         (unlock_file): Add GCPRO.
14745         (Flock_buffer): Fix docstring.
14746         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14747
14748 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14749
14750         * sysdep.c (get_pty_max_bytes):
14751         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14752         strings longer than 252 bytes.
14753
14754         * md5.c: Unconditionally include ANSI header <limits.h>
14755
14756         * glyphs-x.c (convert_EImage_to_XImage):
14757         * lisp-union.h (union Lisp_Object):
14758         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14759
14760 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14761
14762         * filelock.c (current_lock_owner): Remove unused variable o, p.
14763
14764 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14765
14766         * callint.c: Remove multiply defined symbol Qlet
14767         (syms_of_callint): ditto.
14768
14769 2000-04-14  Andy Piper  <andy@xemacs.org>
14770
14771         * general.c (syms_of_general): add last-command, this-command, let
14772         and funcall.
14773
14774         * lisp.h: declare various symbols.
14775
14776         * glyphs.h: declare Qwidget_callback_current_channel;
14777
14778         * glyphs-widget.c (syms_of_glyphs_widget): add
14779         Qgui_callback_current_channel.
14780         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14781
14782         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14783         widget-callback-current-channel when invoking the interactive
14784         arg. Also bind last-command and next-command when invoking the
14785         widget updates.
14786         * gui-x.c (popup_selection_callback): ditto.
14787
14788         * gui.c (get_gui_callback): massage args so that we are always
14789         calling eval. This allows us to add our own variable bindings
14790         outside.
14791
14792         * glyphs-x.c (x_button_instantiate): use
14793         gui_items_to_widget_values since this is GC safe.
14794         (x_progress_gauge_instantiate): ditto.
14795         (x_edit_field_instantiate): ditto.
14796         (x_label_instantiate): ditto.
14797
14798         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14799         (emacs_Xt_event_widget_focus_out): new function
14800         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14801         focus.
14802         (emacs_Xt_event_add_widget_actions): new function. add focus
14803         functions as actions.
14804         (init_event_Xt_late): use it.
14805
14806 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14807
14808         * event-stream.c (Fdispatch_event): Doc fix.
14809
14810 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14811
14812         * postgresql.c: Remove all references to PQsetenv*.
14813
14814         * postgresql.h: Remove references to PGsetenvHandler object.
14815         * lrecord.h (lrecord_type): Ditto.
14816
14817 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14818
14819         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14820         real_heigh and real_width members, and accessor macros for these.
14821
14822         * glyphs-msw.c (init_image_instance_geometry): New function.
14823         (init_image_instance_from_dibitmap): Use it.
14824         (mswindows_resource_instantiate): Use it.
14825         (init_image_instance_from_xbm_inline): Use it.
14826         (mswindows_initialize_image_instance_mask): Use real bitmap
14827         geometry.
14828         (mswindows_create_resized_bitmap): Ditto.
14829         (mswindows_create_resized_mask): Ditto.
14830
14831         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14832         and bitmap to their surface size.
14833
14834 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14835
14836         * process-unix.c (unix_send_process): Guard against process MIA
14837         after Faccept_process_output.
14838
14839 2000-04-11  Ben Wing  <ben@xemacs.org>
14840
14841         * eval.c (unbind_to_hairy): fix brokenness introduced by
14842         nanosecond speed improvements.
14843
14844 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14845
14846         * sunplay.c (init_device): To play sounds correctly, the device
14847         apparently needs to be initialized at least once by XEmacs.  Make
14848         it so.
14849
14850 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14851
14852         * redisplay.c (add_margin_runes): Add text image glyph
14853           handling.
14854
14855 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14856
14857         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14858         gcc is newer than 2.5.
14859
14860 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14861
14862         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14863
14864         * fns.c (size_bit_vector):
14865         * alloc.c (size_vector):
14866         (make_vector_internal):
14867         (make_bit_vector_internal):
14868         (sweep_bit_vectors_1):
14869         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14870
14871 2000-04-06  Andy Piper  <andy@xemacs.org>
14872
14873         * gmalloc.c (malloc): undo previous change.
14874         (malloc): ditto.
14875         (free): ditto.
14876         (realloc): ditto.
14877
14878 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14879
14880         * line-number.c (buffer_line_number): Revert to former version.
14881
14882 2000-04-06  Andy Piper  <andy@xemacs.org>
14883
14884         * gmalloc.c (malloc): add error checking.
14885         (malloc): ditto.
14886         (free): ditto.
14887         (realloc): ditto.
14888
14889         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14890         button_item_to_widget_value arg.
14891
14892         * glyphs-x.c (x_button_instantiate): add extra
14893         button_item_to_widget_value arg.
14894         (x_progress_gauge_instantiate): ditto.
14895         (x_edit_field_instantiate): ditto.
14896         (x_label_instantiate): ditto.
14897
14898         * gui-x.c (gui_items_to_widget_values_1): add extra
14899         button_item_to_widget_value arg.
14900         (button_item_to_widget_value): add extra menu_item_p arg.
14901
14902         * gui-x.h: change signature of button_item_to_widget_value.
14903
14904         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14905         button_item_to_widget_value arg.
14906
14907 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14908
14909         * buffer.h (struct buffer): auto_save_modified should be long.
14910
14911 2000-04-05  Andy Piper  <andy@xemacs.org>
14912
14913         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14914         type.
14915         (button_query_geometry): give a little more room so that athena
14916         buttons fit.
14917
14918 2000-04-05  Andy Piper  <andy@xemacs.org>
14919
14920         * faces.c (complex_vars_of_faces): The widget face should inherit
14921         the font of the gui-element face.
14922
14923 2000-04-04  Andy Piper  <andy@xemacs.org>
14924
14925         * glyphs-x.c (x_button_update): new function. unconditionally
14926         update a button's state when the instance is dirty.
14927         (image_instantiator_format_create_glyphs_x): add x_button_update.
14928         (x_widget_instantiate): remove old resize cruft.
14929
14930 2000-04-02  Andy Piper  <andy@xemacs.org>
14931
14932         * frame.c (change_frame_size_1): The introduction of gutters means
14933         that we need to allow 0 as a potential frame dimension.
14934
14935 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14936
14937         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14938         image glyph if allow_cursor.
14939         (add_hscroll_rune): Don't allow cursor to border glyph.
14940         (create_text_block): Ditto.
14941
14942         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14943         text not in buffer.
14944         (redisplay_output_layout): Call ensure_face_cachel_complete for
14945         text image glyph.
14946
14947
14948 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14949
14950         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14951
14952         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14953         not in buffer
14954
14955         * redisplay-tty.c (tty_output_display_block): Delete the routine
14956         for text image glyph
14957         * redisplay-x.c (x_output_display_block): ditto
14958         * redisplay-msw.c (mswindows_output_display_block): ditto
14959
14960 2000-02-02  Mike Alexander  <mta@arbortext.com>
14961
14962         Note: Some of these were committed by accident as part of other
14963         patches.
14964
14965         * regex.c (regex_compile): Avoid compiler warnings.
14966
14967         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14968
14969         * nt.h: Declare term_ntproc correctly.
14970
14971         * nt.c: Remove incorrect declaration of get_home_directory which
14972         is declared correctly in lisp.h.
14973
14974         * keymap.c (get_keyelt): Avoid compiler warnings.
14975         (raw_lookup_key_mapper): Avoid compiler warnings.
14976
14977         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14978
14979         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14980
14981         * filemode.c (mode_string): Avoid compiler warnings.
14982
14983         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14984         avoid warning.
14985
14986         * events-mod.h: Undef some things that winuser.h defines differently.
14987
14988         * data.c (Faset): Avoid compiler warnings.
14989
14990         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14991
14992 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14993
14994         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14995         Fall through to simple beep on error.
14996         Replace "extern" by real header file.
14997
14998         * linuxplay.c: Use nativesound.h
14999         (play_sound_data): Return error code. Be less verbose on error.
15000
15001         * sunplay.c: Use nativesound.h
15002         (play_sound_data): Return error code. Be less verbose on error.
15003
15004         * ntplay.c: Use nativesound.h
15005         (play_sound_data): Return fake error code
15006
15007         * sgiplay.c: Use nativesound.h
15008         (play_sound_data): Return error code
15009
15010         * hpplay.c: Use nativesound.h, partially implement
15011         new error code. Break compilation until finished.
15012         (play_sound_data): error code.
15013
15014         * nativesound.h (play_sound_file):
15015           (play_sound_data): Prototype in new header.
15016
15017 2000-03-31  Andy Piper  <andy@xemacs.org>
15018
15019         * glyphs-widget.c: (button_query_geometry): new function. Adjust
15020         for toggle and radio buttons.
15021         (image_instantiator_buttons): use it.
15022
15023 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
15024
15025         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15026         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15027         found. Scrollbar event probably belonged to some old config.
15028
15029 2000-03-31  Andy Piper  <andy@xemacs.org>
15030
15031         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15032         than 1.
15033         (initialize_widget_image_instance): default layout to
15034         LAYOUT_HORIZONTAL rather than 0.
15035         (widget_instantiate): reverse the item list at the end rather than
15036         every iteration.
15037         (layout_layout): re-code for the border text at the front of the
15038         item list rather than at the end.
15039         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15040         provided by the user.
15041         (widget_query_geometry): comment.
15042
15043 2000-03-30  Andy Piper  <andy@xemacs.org>
15044
15045         * glyphs-widget.c (image_instantiator_layout): allow standard
15046         widget keywords in layouts.
15047
15048         * gutter.c (output_gutter): cope with nil gutter contents.
15049
15050         * frame.c (Fset_frame_properties): add gutter docs.
15051
15052 2000-03-29  Andy Piper  <andy@xemacs.org>
15053
15054         * toolbar-msw.c (TBSTYLE_FLAT): add.
15055         (mswindows_output_toolbar): minor fiddling.
15056
15057 2000-03-29  Andy Piper  <andy@xemacs.org>
15058
15059         * gutter.c (output_gutter): force gutter size recalculation if
15060         what we are trying to display won't fit.
15061         (update_gutter_geometry): new function. A per-gutter version of
15062         update_frame_gutter_geometry.
15063         (update_frame_gutter_geometry): use it.
15064         (redraw_exposed_gutter): add extra debugging output.
15065
15066 2000-03-28  Mike Alexander  <mta@arbortext.com>
15067
15068         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15069         (pdump_file_unmap): Implement it on Windows
15070         (pdump_file_get): Save alocated handles for pdump_file_unmap
15071
15072 2000-03-28  Andy Piper  <andy@xemacs.org>
15073
15074         * gui.c (get_gui_callback): treat Quit specially.
15075
15076 2000-03-27  Andy Piper  <andy@xemacs.org>
15077
15078         * glyphs.c (image_instantiate): be careful to check in the same
15079         way we assigned.
15080
15081 2000-03-27  Didier Verna  <didier@xemacs.org>
15082
15083         * config.h.in: define the proper SMART_INCLUDE macro.
15084         handle renaming of `foo_h_path' to `foo_h_file'.
15085
15086         * database.c: ditto.
15087
15088         * emacs.c: ditto.
15089
15090         * linuxplay.c: ditto.
15091
15092         * terminfo.c: ditto.
15093
15094         * tooltalk.h: ditto.
15095
15096 2000-03-27  Andy Piper  <andy@xemacs.org>
15097
15098         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15099         gets updated whenever the face might have changed.
15100
15101 2000-03-26  Mike Alexander  <mta@arbortext.com>
15102
15103         * dumper.c (pdump_resource_free): Fix the comment.
15104
15105 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15106
15107         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15108
15109 2000-03-22  Mike Alexander  <mta@arbortext.com>
15110
15111         * dumper.c: Include Windows headers on Windows
15112         (pdump_resource_free): Add a body to the function
15113         (pdump_load): exe_name -> exe_path and add some comments.
15114
15115 2000-03-25  Mike Alexander  <mta@arbortext.com>
15116
15117         * gui.c (copy_gui_item_tree): Return a value in all cases
15118
15119 2000-03-21  Didier Verna  <didier@xemacs.org>
15120
15121         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15122         lwlib/config.h.in.
15123         (SMART_INCLUDE): new macro.
15124         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15125         the proper location.
15126
15127         * postgresql.c: use it.
15128
15129         * inline.c: ditto.
15130
15131 2000-03-24  Andy Piper  <andy@xemacs.org>
15132
15133         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15134         do this.
15135
15136 2000-03-24  Andy Piper  <andy@xemacs.org>
15137
15138         * redisplay-output.c (compare_runes): use image_instance_changed
15139         to detect changes. Do not depend on glyphs_changed, only depend on
15140         dirtiness.
15141          (redisplay_output_layout): add debug messages.
15142         (compare_runes): ditto.
15143
15144         * glyphs.h: declare new functions.
15145         (struct Lisp_Image_Instance): remove percent and associated
15146         accessors.
15147
15148         * gui.h: declare new copying functions.
15149
15150         * gui.c (copy_gui_item_tree): new function.
15151         (copy_gui_item): new function.
15152         (gui_item_id_hash): revert to standard hash.
15153         (gui_item_hash): ditto.
15154         (gui_item_hash_internal): deleted.
15155         (mark_gui_item): mark value.
15156         (gui_item_add_keyval_pair): add value.
15157         (gui_item_init): ditto.
15158         (gui_add_item_keywords_to_plist): ditto.
15159         (gui_item_equal): ditto.
15160         (syms_of_gui): add Q_value.
15161
15162         * glyphs-x.c (x_progress_gauge_update): use pending items and
15163         value for setting the state.
15164         (x_update_widget): don't set items from pending here.
15165
15166         * glyphs-widget.c (update_widget): update items here.
15167         (progress_gauge_set_property): use items for storing value. Put
15168         new value in pending items.
15169
15170         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15171         items for new value. Convert percent -> value.
15172         (mswindows_tab_control_update): don't update items here.
15173
15174         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15175         (update_subwindow): ditto.
15176         (image_instance_changed): new function. Compare hash values and
15177         past and present widget items.
15178         (image_instantiate): We more careful about where we instantiate
15179         things.
15180         (image_instantiate): add error checking.
15181
15182         * gutter.c (syms_of_gutter): use -hook.
15183
15184 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15185
15186         * console-tty.c (Fset_console_tty_input_coding_system): Use
15187         Qkeyboard.
15188         (Fset_console_tty_output_coding_system): Use Qterminal.
15189         (tty_init_console): Use Qkeyboard and Qterminal.
15190
15191 2000-03-21  Ben Wing  <ben@xemacs.org>
15192
15193         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15194         From Mike Alexander <mta@arbortext.com>.
15195
15196 2000-03-21  Ben Wing  <ben@xemacs.org>
15197
15198         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15199         process brokenness.  Proper implementation to come.
15200         * callproc.c:
15201         Rename call-process-internal to old-call-process-internal.
15202         New impl. in process.el.
15203
15204 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15205
15206         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15207
15208 2000-03-20  Andy Piper  <andy@xemacs.org>
15209
15210         * glyphs.c (full_list_hash): make hashes of the same elements in
15211         different orders return different values.
15212
15213 2000-03-20  Martin Buchholz <martin@xemacs.org>
15214
15215         * XEmacs 21.2.32 is released.
15216
15217 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15218
15219         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15220         (DFC_MALLOC_USE_CONVERTED_DATA):
15221         Add aliasing-safe casts to allow use with char* or unsigned char*
15222         lvalues.
15223
15224         * eldap.c (Fldap_open):
15225         (Fldap_search_basic):
15226         (Fldap_add):
15227         (Fldap_modify):
15228         Make C++-compilable.
15229         Make sure GCPRO'ed variables are initialized.
15230         Use temp variables to avoid repeated calls to Flength.
15231
15232 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15233
15234         * sysfile.h:
15235         Make sure PATH_MAX is always defined.
15236         Include limits.h for PATH_MAX.
15237         Deprecate use of MAXPATHLEN.
15238
15239 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15240
15241         * emacs.c: Add reinit_vars_of_fileio.
15242         * symsinit.h: Add reinit_vars_of_fileio.
15243         * fileio.c (reinit_vars_of_fileio): New.
15244         * fileio.c (Fmake_temp_name):
15245         Initialize temp_name random number from microseconds to make
15246         collisions even less likely.  Initialize always at process startup
15247         time.  (make-temp-name) used to return the same file name twice in
15248         a row when PDUMP.
15249         Random stylistic fiddling.
15250         Comment fixes.
15251
15252 2000-03-20  Andy Piper  <andy@xemacs.org>
15253
15254         * glyphs.c (image_instantiate): allow text glyphs to be
15255         instantiated in the minibuffer window.
15256
15257 2000-03-19  Andy Piper  <andy@xemacs.org>
15258
15259         * glyphs.c (image_instance_hash): be careful about which items we
15260         hash on.
15261
15262         * glyphs-widget.c (tab_control_set_property): record into pending
15263         items rather than the actual items.
15264
15265         * glyphs-x.c (x_update_widget): use pending items to update with.
15266
15267         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15268         to update with.
15269
15270         * glyphs.c (mark_image_instance): mark pending items.
15271
15272         * window.c (Fset_window_configuration): record the buffer.
15273         (Fselect_window): totally revert previous change which breaks many
15274         things.
15275
15276 2000-03-18  Andy Piper  <andy@xemacs.org>
15277
15278         * glyphs-msw.c (mswindows_tab_control_update): force selected
15279         item.
15280
15281         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15282         window domain cache, otherwise we get inconsistencies at
15283         startup. There is something fishy at startup which can lead to the
15284         minibuffer being the selected window when the gutter content is
15285         instantiated.
15286
15287         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15288         gcpros.
15289         (parse_gui_item_tree_children): ditto.
15290         (parse_gui_item_tree_item): ditto.
15291
15292         * glyphs.c (Fupdate_widget_instances): return something.
15293
15294 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15295
15296         * window.c (Fselect_window): Undo 2000-03-17 change.
15297
15298 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15299
15300         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15301         against v7.0 libraries.  Insta-coredump city until the postgres
15302         folks fix it.
15303
15304 2000-03-17  Andy Piper  <andy@xemacs.org>
15305
15306         * faces.c (complex_vars_of_faces): don't give the widget face an
15307         inherited background pixmap.
15308
15309         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15310         selected item.
15311
15312         * event-stream.c (Fdispatch_non_command_events): return something.
15313
15314         * gutter.c (output_gutter): use widget face.
15315         (clear_gutter): ditto.
15316
15317         * NEWS: adjust again.
15318
15319         * window.c (Fselect_window): make sure this runs to completion to
15320         avoid oddities with Fset_window_configuration.
15321         (Fcurrent_window_configuration): in general do not save the
15322         minibuffer as the selected window.
15323
15324         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15325
15326 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15327
15328         * emacs.c (Frunning_temacs_p): Revert previous patch.
15329         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15330
15331 2000-03-16  Andy Piper  <andy@xemacs.org>
15332
15333         * glyphs-x.c (x_tab_control_update): if no widget values then
15334         return.
15335
15336         * NEWS: update for new features.
15337
15338         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15339         synthetic event to the native system.
15340         (reinit_vars_of_event_Xt): set force_event_pending to
15341         emacs_Xt_force_event_pending.
15342
15343         * events.h (struct event_stream): add force_event_pending.
15344
15345         * specifier.c (recompute_one_cached_specifier_in_window): add
15346         comment.
15347
15348         * redisplay.c (redisplay_frame): don't call
15349         update_frame_subwindows. Reset subwindow cachels when
15350         subwindows_changed, removing this was an optimization too far.
15351
15352         * redisplay-output.c (compare_runes): reorganize so that we catch
15353         glyph changes when we want them. Set optimize_output when this
15354         would help layouts.
15355         (redisplay_output_layout): remove frame_really_changed, use
15356         optimize_output instead.
15357
15358         * redisplay-msw.c (mswindows_output_display_block): reset
15359         optimize_output after outputting a glyph.
15360         * redisplay-x.c (x_output_display_block): ditto.
15361         * redisplay-tty.c (tty_output_display_block): ditto.
15362
15363         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15364         functions.
15365         (gutter_specs_changed): do specific gutter positions.
15366         (top_gutter_specs_changed): new function. Only update the
15367         specified gutter specs.
15368         (bottom_gutter_specs_changed): ditto.
15369         (left_gutter_specs_changed): ditto.
15370         (right_gutter_specs_changed): ditto.
15371
15372         * gui.c (gui_item_hash_internal): new function, does a real hash.
15373         (gui_item_id_hash): use it.
15374         (gui_item_hash): hash the eval'ed gui_item.
15375
15376         * gui-x.c (popup_selection_callback): send an eval event to call
15377         Fupdate_widget_instances.
15378
15379         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15380         to call Fupdate_widget_instances.
15381
15382         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15383         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15384
15385         * glyphs.c: (update_frame_subwindows): deleted.
15386         (Fupdate_widget_instances): new function for updating the dirty
15387         state of widgets that might have changed.
15388         (syms_of_glyphs): add Qupdate_widget_instances.
15389         (full_list_hash): hash a list completely.
15390         (image_instance_hash): use it for items and properties.
15391
15392         * frame-msw.c (mswindows_size_frame_internal): remove unused
15393         variable.
15394
15395         * faces.h (struct face_cachel): fix comment.
15396
15397         * event-stream.c (Fdispatch_non_command_events): new
15398         function. Process non-command events, forcing an event cycle
15399         beforehand.
15400         (syms_of_event_stream): declare.
15401         (event_stream_force_event_pending): new function. Force an event
15402         on the native event queue so that an event cycle will occur next
15403         time we check.
15404
15405         * event-msw.c:
15406         (struct ntpipe_shove_stream):
15407         (mswindows_enqueue_dispatch_event):
15408         (mswindows_dequeue_dispatch_event):
15409         (mswindows_cancel_dispatch_event):
15410         (mswindows_pump_outstanding_events):
15411         (mswindows_drain_windows_queue):
15412         (mswindows_handle_paint):
15413         (mswindows_wnd_proc):
15414         (mswindows_key_to_emacs_keysym):
15415         (get_process_input_waitable):
15416         (emacs_mswindows_delete_stream_pair): re-indent file.
15417         (mswindows_need_event): do not process further fds if the windows
15418         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15419         fixes the 100% cpu problem.
15420         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15421
15422 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15423
15424         * alloc.h: New.
15425         * dumper.h: New.
15426         * dumper.c: New.
15427
15428         * emacs.c: Moved dump file searching to dumper.c.
15429         (Frunning_temacs_p): Fixed.
15430
15431         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15432         last_lrecord_type_index_assigned.
15433
15434 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15435
15436         * symsinit.h: Added reinit parameter to init_console_stream
15437         declaration.
15438
15439         * lisp.h: Added file parameter to pdump_load declaration.
15440
15441         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15442         support.  Added dump file searching.
15443
15444         * config.h.in: Added EMACS_PROGNAME.
15445
15446         * console-stream.c (init_console_stream): Fix reinitialisation
15447         when running from temacs.
15448
15449         * alloc.c (pdump): Add id support.
15450         (pdump_load): Add file parameter and signature/id support.
15451
15452         * Makefile.in.in: Add full pdump support.
15453
15454 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15455
15456         * postgresql.c: Update documentation to reflect latest code
15457         status.
15458         (print_result): Show tuple counts in printed representation when
15459         appropriate.
15460         (Fpq_put_nbytes): MULE-ize.
15461         (Fpq_get_line_async): Ditto.
15462
15463 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15464
15465         * postgresql.c (Fpq_lo_import): Fix return value.
15466         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15467
15468 2000-03-13  Ben Wing  <ben@xemacs.org>
15469
15470         * alloc.c (pdump_load):
15471         Fix compile warning under mswin.
15472
15473 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15474
15475         * postgresql.c: Mule-ization, bug fixes.
15476         Use PG_CODING to encapsulate coding system name changes.
15477         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15478         (pg-coding-system): Create.
15479
15480         (Fpq_conn_defaults): Mule-ize.
15481         (Fpq_connectdb): Mule-ize & bug fix.
15482         (Fpq_connect_start): Mule-ize.
15483         (Fpq_set_client_encoding): Mule-ize.
15484         (Fpq_finish): Document `DEAD' connection status.
15485         (Fpq_clear): Ditto.
15486         (Fpq_pgconn): Mule-ize.
15487         (Fpq_exec): Mule-ize & bug fix.
15488         (Fpq_send_query): Ditto.
15489         (Fpq_get_result): Ditto.
15490         (Fpq_res_status): Mule-ize.
15491         (Fpq_result_error_message): Mule-ize.
15492         (Fpq_ntuples): fix comments.
15493         (Fpq_fname): Mule-ize.
15494         (Fpq_fnumber): Mule-ize.
15495         (Fpq_ftype): fix comments.
15496         (Fpq_get_value): Mule-ize.
15497         (Fpq_cmd_status): Ditto.
15498         (Fpq_cmd_tuples): Ditto.
15499         (Fpq_oid_value): Ditto.
15500         (Fpq_notifies): Ditto.
15501         (Fpq_lo_import): Ditto.
15502         (Fpq_lo_export): Ditto.
15503         (Fpq_get_line): Ditto.
15504         (Fpq_put_line): Mule-ize and bug fix.
15505         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15506
15507 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15508
15509         * postgresql.c (vars_of_postgresql): Mule-ize.
15510         (Fpq_conn_defaults): Ditto.
15511
15512 2000-03-12  Ben Wing  <ben@xemacs.org>
15513
15514         * alloc.c (Fmake_byte_code):
15515         * alloc.c (debug_string_purity_print):
15516         * alloc.c (pdump_backtrace):
15517         * alloc.c (pdump_get_indirect_count):
15518         * alloc.c (pdump_register_sub):
15519         * alloc.c (pdump_register_object):
15520         * alloc.c (pdump_register_struct):
15521         * alloc.c (pdump_dump_data):
15522         * alloc.c (pdump_reloc_one):
15523         Minor cleanups.
15524
15525         * console-msw.c:
15526         * console-msw.c (GetConsoleHwnd):
15527         * console-msw.c (msw_hide_console):
15528         * console-msw.c (msw_show_console):
15529         * console-msw.c (msw_ensure_console_buffered):
15530         * console-msw.c (msw_output_console_string):
15531         * console-msw.c (console_type_create_mswindows):
15532
15533         a) Added functions to manipulate the console window for use with
15534         shell support.
15535
15536         b) Added support for writing text to the console, which is now
15537         used under Windows when xemacs is not being run non-interactively,
15538         to write text that would otherwise be destined for stdout because
15539         under these circumstances, text written to stdout tends to
15540         disappear and not be seen.
15541
15542         * console-msw.h:
15543         * event-Xt.c:
15544         * event-Xt.c (x_event_to_emacs_event):
15545         * event-Xt.c (describe_event_window):
15546         * events-mod.h (XEMACS_MOD_CONTROL):
15547         * events.c:
15548         * events.c (Fmake_event):
15549         * events.c (character_to_event):
15550         * events.c (event_to_character):
15551         * events.c (format_event_object):
15552         * events.c (Fevent_modifiers):
15553         * events.h:
15554         * events.h (struct key_data):
15555         * events.h (struct button_data):
15556         * events.h (struct misc_user_data):
15557         * frame-x.c (Fcde_start_drag_internal):
15558         * frame-x.c (Foffix_start_drag_internal):
15559         * gpmevent.c (Freceive_gpm_event):
15560         * keymap.c:
15561         * keymap.c (bucky_sym_to_bucky_bit):
15562         * keymap.c (control_meta_superify):
15563         * keymap.c (make_key_description):
15564         * keymap.c (keymap_lookup_directly):
15565         * keymap.c (create_bucky_submap):
15566         * keymap.c (keymap_store):
15567         * keymap.c (define_key_check_and_coerce_keysym):
15568         * keymap.c (define_key_parser):
15569         * keymap.c (define_key_alternate_name):
15570         * keymap.c (Fdefine_key):
15571         * keymap.c (raw_lookup_key_mapper):
15572         * keymap.c (struct map_keymap_unsorted_closure):
15573         * keymap.c (map_keymap_unsorted_mapper):
15574         * keymap.c (map_keymap_sort_predicate):
15575         * keymap.c (map_keymap_sorted):
15576         * keymap.c (accessible_keymaps_mapper_1):
15577         * keymap.c (where_is_recursive_mapper):
15578         * keymap.c (describe_map_mapper):
15579         * keymap.c (describe_map_sort_predicate):
15580         * keymap.c (describe_map):
15581         * keymap.c (complex_vars_of_keymap):
15582         And a number of other files, the key modifier preprocessor
15583         constants that xemacs uses have names that conflict with constants
15584         defined under MS Windows for other purposes, so they were renamed
15585         to begin with the prefix XEMACS_. The variables that hold such
15586         modifiers were changed to consistently be of type int to fix
15587         various compile warnings.
15588
15589         * console.c (complex_vars_of_console):
15590         * device.c:
15591         * device-msw.c:
15592         * device-msw.c (mswindows_finish_init_device):
15593         * device-msw.c (msw_get_workspace_coords):
15594         * device-msw.c (mswindows_device_system_metrics):
15595         and various other files, added support for a new
15596         device property called offset-workspace which returns the position
15597         of the upper left corner of the workspace area and goes along with
15598         the existing size-workspace property.
15599
15600         * dialog-msw.c:
15601         * dialog-msw.c (push_bufbyte_string_as_unicode):
15602         * dialog-msw.c (mswindows_popup_dialog_box):
15603         Added support for XEmacs-style accelerator specifications in
15604         button text.  Note: I didn't add support for this under X Windows,
15605         and somebody needs to do this.
15606
15607         * dialog.c:
15608         * dialog.c (Fpopup_dialog_box):
15609         Documented the support for accelerators that was just mentioned.
15610
15611         editfns.c (get_home_directory): Changed behavior under Windows
15612         when HOME not defined; former behavior was irretrievably broken.
15613
15614         * emacs.c:
15615         * emacs.c (main_1):
15616         * emacs.c (main):
15617         * minibuf.c (clear_echo_area_internal):
15618         * minibuf.c (echo_area_append):
15619         * print.c:
15620         * print.c (std_handle_out_external):
15621         * print.c (std_handle_out_va):
15622         * print.c (fatal):
15623         * print.c (write_string_to_stdio_stream):
15624         * print.c (output_string):
15625         * print.c (debug_print):
15626         * print.c (debug_backtrace):
15627         * print.c (debug_short_backtrace):
15628         Cleaned up the code that prints text to stdout so that this can be
15629         changed to output into a console window instead under MS Windows,
15630         as described above.
15631
15632         * eval.c:
15633         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15634         * eval.c (internal_catch):
15635         * eval.c (unwind_to_catch):
15636         * eval.c (throw_or_bomb_out):
15637         * eval.c (condition_case_1):
15638         * eval.c (signal_1):
15639         * eval.c (check_error_state_sanity):
15640         * eval.c (call_with_suspended_errors_1):
15641         * eval.c (call_with_suspended_errors):
15642         * eval.c (reinit_vars_of_eval):
15643         Added code to catch throw loops and check for a pesky bug that may
15644         be gone now.
15645
15646         * event-msw.c:
15647         * event-msw.c (key_needs_default_processing_p):
15648         * event-msw.c (mswindows_wnd_proc):
15649         * event-msw.c (mswindows_modifier_state):
15650         * event-msw.c (emacs_mswindows_quit_p):
15651         * event-msw.c (vars_of_event_mswindows):
15652         a) Added support for using the alt key to select menu items as is
15653         standard under MS Windows.  This is controlled using the variable
15654         menu-accelerator-enabled, just like under X Windows.  There is an
15655         option on the options menu to turn this support on.  I really
15656         think that it should be on by default under Windows, but I'm not
15657         going to make this change yet.
15658
15659         b)  Added support for dynamic display size changes under Windows.
15660
15661         * event-stream.c:
15662         * event-stream.c (maybe_echo_keys):
15663         * event-stream.c (Fnext_event):
15664         * event-stream.c (command_builder_find_leaf):
15665         * event-stream.c (lookup_command_event):
15666         * event-stream.c (execute_command_event):
15667         * event-stream.c (pre_command_hook):
15668         * event-stream.c (post_command_hook):
15669         * event-stream.c (syms_of_event_stream):
15670         * event-stream.c (vars_of_event_stream):
15671         * event-stream.c (complex_vars_of_event_stream):
15672         * events.h (struct command_builder):
15673
15674         a) Tried to clean up a little bit the horribly written x-specific
15675         accelerator code that crept into this file.  I moved this code
15676         into menubar-x.c where it belongs. I also needed to move the
15677         command builder structure into the file events.h because it is
15678         accessed directly by this accelerator code.  What I didn't do, but
15679         which should be done at some point, is to properly abstract this
15680         code using device methods instead of the kludgy way that it
15681         currently hooks into the event code.
15682
15683         b) Added the lisp variables this-command-properties and
15684         last-command- properties, which should be used to synchronize two
15685         adjacent commands in preference to playing games with the variable
15686         this-command, which is typically what happens.
15687
15688         c) Added some slightly nasty code to hook into the lisp support
15689         for shifted- motion-key selection.  This is actually necessary for
15690         somewhat complicated reasons, which are described in
15691         simple.el. (NB: I think the proper thing would be to have the code
15692         that calls the pre and post command hooks also call out to generic
15693         lisp functions in simple.el, where all built-in stuff could be
15694         added.  I will think about this more.)
15695
15696         * event-unixoid.c (poll_fds_for_input):
15697         * lread.c (readchar):
15698         * redisplay-tty.c (tty_clear_frame):
15699         * redisplay-x.c (x_get_gc):
15700         * signal.c (interrupt_signal):
15701         And a whole bunch of other files: fixed up places that printed
15702         directly to stderr to instead call the function stderr_out so that
15703         the changes I made under Windows work correctly.
15704
15705         * filemode.c (mode_string):
15706         Warning fixes.
15707
15708         * frame-msw.c:
15709         * frame-msw.c (mswindows_size_frame_internal):
15710         Fixed the computation of frame size and position to keep the frame
15711         within the workspace area, rather than within the physical
15712         dimensions of the screen, so that the frame doesn't overlap window
15713         manager decorations, such as the start menu and toolbar, typically
15714         at the bottom of the screen.
15715
15716         * frame.c (vars_of_frame):
15717         Changed the default frame title format under MS Windows to consist
15718         of buffername-XEmacs, which is standard under MS Windows.  I think
15719         it might be a good idea to change this everywhere because I think
15720         it is superior to the current frame title format, but this is the
15721         kind of change that is likely to cause some people to get annoyed,
15722         so I'm not making it.
15723
15724         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15725
15726         * gui-msw.c (mswindows_handle_gui_wm_command):
15727         Fixed compile warnings.
15728
15729         * gui-x.c:
15730         * gui-x.c (strdup_and_add_accel):
15731         * gui-x.c (button_item_to_widget_value):
15732         * gui-x.h:
15733         Added code to automatically put an accelerator onto the beginning
15734         of menu items that don't have one as is now the standard, and is
15735         described more later.  Also fixed things so that the menu item
15736         name can be an evaluated expression, again a new standard.
15737
15738         * gui.c:
15739         * gui.c (gui_item_add_keyval_pair):
15740         * gui.c (make_gui_item_from_keywords_internal):
15741         * gui.c (gui_add_item_keywords_to_plist):
15742         * gui.c (gui_item_accelerator):
15743         * gui.c (gui_name_accelerator):
15744         * gui.c (gui_item_included_p):
15745         * gui.c (gui_item_display_flush_left):
15746         * gui.c (gui_item_display_flush_right):
15747         * gui.c (parse_gui_item_tree_item):
15748         * gui.c (parse_gui_item_tree_children):
15749         * gui.c (parse_gui_item_tree_list):
15750         Mule-ized.  Cleanup.  GCPRO addition.
15751
15752         * line-number.c (buffer_line_number):
15753         * lisp.h:
15754         * lisp.h (EMACS_INT_MAX):
15755         Added the manifest constant EMACS_INT_MIN corresponding to the
15756         existing constant EMACS_INT_MAX.  This is partially to fix compile
15757         warnings under Windows, and partly for cleanliness.
15758
15759         * menubar-msw.c:
15760         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15761         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15762         * menubar-msw.c (displayable_menu_item):
15763         * menubar-msw.c (populate_menu_add_item):
15764         * menubar-msw.c (populate_or_checksum_helper):
15765         * menubar-msw.c (populate_menu):
15766         * menubar-msw.c (update_frame_menubar_maybe):
15767         * menubar-msw.c (prune_menubar):
15768         * menubar-msw.c (msw_char_is_accelerator):
15769         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15770         * menubar-msw.c (mswindows_handle_wm_command):
15771         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15772         * menubar-msw.c (mswindows_handle_wm_initmenu):
15773         * menubar-msw.c (mswindows_update_frame_menubars):
15774         * menubar-msw.c (mswindows_free_frame_menubars):
15775         * menubar-msw.c (mswindows_popup_menu):
15776         Fixed a bug in handling accelerators where an extra character
15777         would be displayed in the menu item.  Also generalized the
15778         function displayable_menu_item because it is now used by the
15779         dialog box code as well.  And finally, added code in the functions
15780         that create the menubar to extract a list of accelerators for the
15781         top level menubar, which is used in the event code to determine
15782         whether a particular alt-key combination should be used to invoke
15783         a menu item, or should be passed through to access the standard
15784         XEmacs keymap binding for this key combination.
15785
15786         Much needed GCPROing.
15787
15788         * menubar-x.c:
15789         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15790         * menubar-x.c (menu_item_descriptor_to_widget_value):
15791         * menubar-x.c (restore_in_menu_callback):
15792         * menubar-x.c (x_popup_menu):
15793         * menubar-x.c (menu_move_up):
15794         * menubar-x.c (menu_move_down):
15795         * menubar-x.c (menu_move_left):
15796         * menubar-x.c (menu_move_right):
15797         * menubar-x.c (menu_select_item):
15798         * menubar-x.c (command_builder_operate_menu_accelerator):
15799         * menubar-x.c (menu_accelerator_junk_on_error):
15800         * menubar-x.c (command_builder_find_menu_accelerator):
15801         * menubar-x.c (Faccelerate_menu):
15802         * menubar.h:
15803         Moved a whole bunch of code here that was previously in
15804         event-stream.c as described above.  There is also code connected
15805         to the new standard of adding an accelerator to the beginning of
15806         menu items that don't have one as described above and below.
15807
15808         * menubar.c:
15809         * menubar.c (menu_parse_submenu_keywords):
15810         * menubar.c (Fmenu_find_real_submenu):
15811         * menubar.c (Fnormalize_menu_item_name):
15812         * menubar.c (syms_of_menubar):
15813         * menubar.c (vars_of_menubar):
15814         * menubar.c (complex_vars_of_menubar):
15815
15816         a) Cleaned up a bunch of documentation and improved it.
15817
15818         b) XEmacs now automatically adds an accelerator onto the beginning
15819         of any menu items that don't have one.  I did this because there
15820         will inevitably be some menu items on the main menubar that don't
15821         have accelerators on them because the package that adds that
15822         particular menu item hasn't yet been fixed up to have accelerators
15823         in them and it looked rather strange to have some items with and
15824         some items without accelerators, especially since even in items
15825         without accelerators, you can, at least under windows, still
15826         access the item through an accelerator corresponding to the first
15827         character in the item's name.  If people don't like this behavior,
15828         I can add a variable to turn it off optionally, but I'm not sure
15829         this is a good idea because we really do need to have accelerators
15830         on all of the menu items, and if a package doesn't like the
15831         accelerators being put on the first character, then it should put
15832         the accelerators where they belong.
15833
15834         c) I made a behavior change, which is that the descriptor that
15835         specifies the text of the menu item, which formerly was just a
15836         string, can now also be an evaluated expression.  This makes this
15837         descriptor parallel with all of the others, which could also be
15838         evaluated expressions.  This also obviates the need for the
15839         keyword :label, which was previously listed in the documentation
15840         as unimplemented, and which was for the same purpose.
15841
15842         d) GCPROing.
15843
15844         * ntproc.c:
15845         * ntproc.c (new_child):
15846         * ntproc.c (sys_spawnve):
15847         * ntproc.c (find_child_console):
15848         * ntproc.c (sys_kill):
15849         Fixed compile warnings.  By the way, this file should really go
15850         away entirely, and this will happen as soon as Kirill makes his
15851         final round of process cleanups, which affect the function
15852         call-process.
15853
15854         * process-nt.c:
15855         * process-nt.c (struct nt_process_data):
15856         * process-nt.c (find_process_from_pid):
15857         * process-nt.c (send_signal_the_nt_way):
15858         * process-nt.c (enable_child_signals):
15859         * process-nt.c (find_child_console):
15860         * process-nt.c (send_signal_the_95_way):
15861         * process-nt.c (nt_finalize_process_data):
15862         * process-nt.c (ensure_console_window_exists):
15863         * process-nt.c (nt_create_process):
15864         * process-nt.c (nt_kill_child_process):
15865         * process-nt.c (nt_kill_process_by_pid):
15866         * process-nt.c (nt_open_network_stream):
15867         * process-nt.c (vars_of_process_nt):
15868         Copied over code from Emacs 20.5 to correctly send signals to sub-
15869         processes under Windows 95.  Also added code to automatically
15870         create and hide console window when a sub-process is created under
15871         Windows 95, which obviates the need for the separate runemacs.exe
15872         executable, and finally implemented some variables that were
15873         implemented in Emacs 20.5, but previously not in XEmacs.  These
15874         include mswindows- start-process-share-console and
15875         mswindows-start-process-inherit-error-mode. (Both of these only
15876         apply to Windows 95.)
15877
15878         * regex.c (regex_compile): Fixed a compile warning.
15879
15880         * select-msw.c:
15881         * select-msw.c (mswindows_own_selection):
15882         * select-msw.c (mswindows_get_foreign_selection):
15883         * select-msw.c (mswindows_disown_selection):
15884         * select-msw.c (console_type_create_select_mswindows):
15885         * select-msw.c (syms_of_select_mswindows):
15886         Cleaned up the file and implemented the device method
15887         selection_exists_p, which had accidentally been left out.  Also
15888         removed four lisp functions that were remnants from before the
15889         time when the selection code was properly device abstracted.
15890         These functions are no longer needed because there are generic
15891         equivalents, and because they were added recently and don't exist
15892         in FSF Emacs, I don't think there's any problem with just deleting
15893         them.
15894
15895         * sysdep.c:
15896         * sysdep.c (sys_subshell):
15897         Fixed a compile warning, although in this case there's probably
15898         something wrong with this code, and it ought to be looked into
15899         more thoroughly by somebody who understands it.
15900
15901         * window.c:
15902         * window.c (Fwindow_text_area_height):
15903         * window.c (Fwindow_width):
15904         * window.c (Fwindow_full_width):
15905         * window.c (Fwindow_pixel_width):
15906         * window.c (debug_print_window):
15907         * window.c (syms_of_window):
15908         Added functions window-text-area-height and window-full-width,
15909         which are functions for returning various width and height
15910         characteristics of a window. (One of these functions is necessary
15911         for making the file dialog box work correctly, and the other one
15912         was added for completeness.)  Also added a table to the
15913         documentation for window-height which describes the entire scheme
15914         for accessing width and height characteristics of a window.
15915
15916 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15917
15918         * nt.c (fstat): Added a comment for another problem with
15919         non-encapsulated [f]stat(), reported by Adrian Aichner
15920         <aichner@ecf.teradyne.com>.
15921
15922 2000-03-11  Andy Piper  <andy@xemacs.org>
15923
15924         * window.c (make_dummy_parent): initialize subwindow instance
15925         cache.
15926         (Fset_window_configuration): zero extent_modiff.
15927
15928 2000-03-10  Andy Piper  <andy@xemacs.org>
15929
15930         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15931         more changes can be triggered.
15932         (Fredisplay_frame): ditto.
15933         (Fredraw_device): ditto.
15934         (Fredisplay_device): ditto.
15935         (redisplay_frame): make non-static.
15936         (redisplay_frame): call update_frame_gutter_geometry outside of
15937         display proper.
15938
15939         * gutter.h: declare update_frame_gutter_geometry.
15940
15941         * redisplay.h: declare redisplay_frame.
15942
15943         * gutter.c (update_frame_gutter_geometry): move geometry changes
15944         in update_frame_gutters here. Geometry changes can only occur
15945         outside of redisplay.
15946         (update_frame_gutters): remove geometry change code.
15947         (Fredisplay_gutter_area): make sure that we are in display when we
15948         update and that we have flushed any size changes.
15949
15950 2000-03-11  Andy Piper  <andy@xemacs.org>
15951
15952         * alloc.c (pdump_dump_data): remove i & count shadows.
15953
15954 2000-02-27  Mike Alexander  <mta@arbortext.com>
15955
15956         * sysdep.h: Declare pdump_read_file
15957
15958         * sysdep.c (pdump_read_file): New function
15959
15960         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15961         dump data
15962
15963 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15964
15965         * lrecord.h: add `lrecord_type_pgsetenv'.
15966
15967 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15968
15969         * symsinit.h: declare (vars|syms)_of* functions.
15970         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15971
15972 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15973
15974         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15975
15976         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15977         GCCs.
15978
15979         * emacs.c (main_1): Call postgres initialization code.
15980
15981         * postgresql.h: New file.  PostgreSQL RDBMS support.
15982         * postgresql.c: New file.
15983
15984 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15985
15986         * redisplay-output.c (redisplay_output_display_block): Disable
15987         redundant code.
15988
15989 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15990
15991         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15992         (Fcanna_henkan_next): Ditto.
15993         (Fcanna_bunsetu_henkou): Ditto.
15994         (Fcanna_henkan_kakutei): Ditto.
15995         (Fcanna_henkan_end): Ditto.
15996         (Fcanna_henkan_quit): Ditto.
15997         (Fcanna_henkan_next): Set retun value correctly.
15998         (c2mu): Use unsigned char instead of signed char.
15999
16000 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16001
16002         * emacs.c (main_1): Always call syms_of_gui.
16003         * inline.c: include gui.h
16004
16005 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16006
16007         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
16008         converted to Lisp_Object.
16009         (Qtop_bottom): New variable.
16010         (syms_of_redisplay): Initialize it.
16011         * redisplay.h (Vvisible_bell): Ditto.
16012         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
16013         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
16014         only flash top and bottom.
16015
16016 2000-03-08  Andy Piper  <andy@xemacs.org>
16017
16018         * buffer.c (Frename_buffer): record new buffer name the right way.
16019
16020 2000-03-08  Andy Piper  <andy@xemacs.org>
16021
16022         * glyphs.c (update_subwindow): increase hash depth so that widget
16023         items get picked up properly.
16024
16025         * redisplay-output.c (compare_runes): increase hash depth so that
16026         widget items get picked up properly.
16027
16028 2000-03-08  Andy Piper  <andy@xemacs.org>
16029
16030         * gutter.c (output_gutter): add some debug.
16031
16032         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16033         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16034         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16035
16036         * redisplay-output.c (compare_runes): use display_hash to
16037         determine if glyphs really are not the same.
16038
16039         * glyphs.c (update_subwindow): check display_hash to see if
16040         anything really needs to be updated. If not then do
16041         nothing. Record the display_hash after updating.
16042         (image_instance_equal): compare the image_instance face also.
16043
16044 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16045
16046         * redisplay.h: Fix comment style.
16047
16048 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16049
16050         * consle-msw.h (struct mswindows_frame):
16051         Added new member paint_pending to indicate whether a WM_PAINT
16052         magic event has been queued for this frame.
16053
16054         * event-msw.c (mswindows_drain_windows_queue):
16055         Don't queue a WM_PAINT magic event if one is already queued.
16056         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16057
16058         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16059
16060 2000-03-07  Didier Verna  <didier@xemacs.org>
16061
16062         * dired.c: #include `regex.h' after `sysfile.h'.
16063
16064 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16065
16066         * sound.c (init_nas_sound): Fix compiler warning.
16067
16068         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16069         (FREE_STRUCT_P):
16070         (MARK_STRUCT_AS_FREE):
16071         (MARK_STRUCT_AS_NOT_FREE):
16072         Make `gcc -fstrict-aliasing' work properly.
16073
16074 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16075
16076         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16077         (mswindows_delete_device): Call CoUnnitialize().
16078
16079         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16080
16081 2000-02-25    <CraigL@DyCon.com>
16082
16083         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16084         <errno.h>.
16085
16086         * sysdep.c: This extern declaration for environ prevents MinGW
16087         from finding the variable in CRTDLL.DLL.
16088
16089         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16090         windows headers.
16091         (SHGFI_EXETYPE): ..
16092         (WM_MOUSEWHEEL): ..
16093         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16094         definitions.
16095         (MMRESULT): Removed, now defined in cygwin's windows headers.
16096         (TIMECAPS): ..
16097         (uid_t,gid_t,pid_t,ssize_t): ..
16098         (_timeb): Removed, MinGW defines both _timeb and timeb.
16099         (HAVE_H_ERRNO): Added.
16100         (HAVE_TZNAME): Added, configure is not detecting this.
16101
16102 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16103
16104         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16105         * syntax.c (syntax_match): Use it.
16106
16107         * cmds.c: Import auto-fill-chars from FSF Emacs.
16108         (Vauto_fill_chars): New variables.
16109         (internal_self_insert): Check Vauto_fill_chars.
16110         (vars_of_cmds):
16111         Declare auto-fill-chars as a Lisp variable and initialize it.
16112
16113 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16114
16115         * fileio.c (Fmake_symbolic_link):
16116         (Ffile_symlink_p):
16117         Run handlers even if local machine doesn't have symlinks.
16118
16119 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16120
16121         * event-msw.c (mswindows_drain_windows_queue):
16122         Don't generate paint magic events for non-XEmacs frames.
16123
16124 2000-03-05  Andy Piper  <andy@xemacs.org>
16125
16126         * redisplay.c (redisplay_frame): generate_displayable_area and
16127         friends assumes that we are not in GC, we therefore have to make
16128         sure that this doesn't happen.
16129
16130         * gutter.c (calculate_gutter_size): generate_displayable_area
16131         assumes that we are not in GC, we therefore have to make sure that
16132         this doesn't happen.
16133
16134 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16135
16136         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16137
16138 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16139
16140         * redisplay.c (regenerate_window): Make sure we set a sane value
16141         for end_pos even if we jump out of the loop.
16142         (regenerate_window): Answer Ben's question :-).
16143         (start_end_of_last_line): Add may_error argument.
16144         (start_of_last_line):
16145         (end_of_last_line): Pass may_error = 0.
16146         (end_of_last_line_may_error): New function.
16147         (pixel_to_glyph_translation): Use it, so we don't crash in
16148         event_to_glyph.
16149
16150 2000-03-04  Andy Piper  <andy@xemacs.org>
16151
16152         * window.h (struct window): add gutter_extent_modiff.
16153
16154         * window.c (allocate_window): zero out gutter_extent_modiff.
16155
16156         * redisplay.h: declare sync_display_line_structs.
16157
16158         * redisplay.c (add_glyph_rune): add a better comment.
16159
16160         * redisplay-output.c (sync_display_line_structs): made non-static.
16161         (compare_runes): remove unneccesary glyph cachel access.
16162
16163         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16164
16165         * gutter.c (output_gutter): don't output the gutter if extent
16166         changes only involve extents in buffers. use 4 sets of display
16167         lines.
16168         (gutter_extent_signal_changed_region_maybe): new function. Mark
16169         extents in gutters as changed.
16170         (update_frame_gutters): use 4 sets of display lines.
16171         (reset_gutter_display_lines): ditto.
16172         (free_frame_gutters): ditto.
16173         (redraw_exposed_gutter): force output of gutters.
16174
16175         * frame.h (struct frame): add 4 sets of gutter display lines.
16176
16177         * extents.c: (extent_changed_for_redisplay): signal changes to
16178         extents in strings in the gutter as well as extents in buffers.
16179
16180 2000-03-02  Andy Piper  <andy@xemacs.org>
16181
16182         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16183
16184         * frame.c (Fmake_frame): make sure the gutters get initialized
16185         after the frame is visible.
16186         (set_frame_selected_window): re-arrange compilation macros a
16187         little.
16188         (change_frame_size_1): mark gutters changed.
16189
16190         * device.c (Fset_device_class): mark gutters changed.
16191
16192 2000-03-01  Andy Piper  <andy@xemacs.org>
16193
16194         * window.c (window_top_frame_gutter_height): deleted.
16195         (window_bottom_frame_gutter_height): ditto.
16196         (window_left_frame_gutter_height): ditto.
16197         (window_right_frame_gutter_height): ditto.
16198         (window_top_gutter_height): don't use them.
16199         (window_bottom_gutter_height): ditto.
16200         (window_left_gutter_width): ditto.
16201         (window_right_gutter_width): ditto.
16202         (Fsplit_window): ditto.
16203         (Fwindow_pixel_edges): don't use border dimensions here.
16204
16205         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16206         (update_scrollbar_instance): ditto.
16207
16208         * redisplay.c (generate_modeline): don't take gutters into account.
16209         (generate_modeline): ditto.
16210         (redisplay_frame): small gutter display optimization.
16211
16212         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16213
16214         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16215         gutters into account.
16216
16217         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16218         for window position and type.
16219
16220         * gutter.c (get_gutter_coords): fix for frame gutters.
16221         (update_frame_gutters): update frame geometry if the gutters have
16222         changed.
16223         (init_frame_gutters): record current gutter geometries.
16224
16225         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16226         var.
16227         (mswindows_widget_instantiate): ditto.
16228
16229         * frame.h (struct frame): add current_gutter_bounds.
16230
16231         * frame.c (change_frame_size_1): position window and minibuffer
16232         appropriately taking into account the frame gutters.
16233
16234         * frame-x.c: (x_initialize_frame_size): take into account the
16235         frame gutters.
16236
16237 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16238
16239         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16240
16241 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16242
16243         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16244
16245 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16246
16247         * file-coding.c (reset_decoding_stream): Clear previous
16248         detection state when autodetect.
16249
16250 2000-02-29  Didier Verna  <didier@xemacs.org>
16251
16252         * extents.c (set_extent_glyph_1): don't require extents to be
16253         attached.
16254
16255 2000-02-27  Andy Piper  <andy@xemacs.org>
16256
16257         * gutter.c (Fset_default_gutter_position): don't default left and
16258         right gutter visibility to t.
16259         (Fset_default_gutter_position): run
16260         default-gutter-position-changed-hook.
16261         (syms_of_gutter): add default-gutter-position-changed-hook.
16262
16263 2000-02-26  Andy Piper  <andy@xemacs.org>
16264
16265         * specifier.c (Fmake_specifier): add gutter references.
16266
16267         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16268
16269         * lisp.h: declare Fvalid_plist_p.
16270
16271         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16272         as changed.
16273         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16274         well as its visibility so that it gets reconstructed.
16275         (construct_window_gutter_spec): new function. Construct a string
16276         to be displayed in the gutter from a plist of strings. Take care
16277         to only use elements that are declared as visible.
16278         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16279         WINDOW_GUTTER.
16280         (gutter_validate): allow plists of strings in the specifier.
16281         (gutter_specs_changed): construct the real_gutter from the gutter
16282         specs using construct_window_gutter_spec.
16283         (gutter_visible_validate): gutter-visible is a new specifier type.
16284         (Fgutter_visible_specifier_p): new function for the new specifier.
16285         (syms_of_gutter): declare gutter-visible and
16286         Fgutter_visible_specifier_p.
16287         (specifier_type_create_gutter): intitalize new gutter-visible
16288         specifier.
16289         (reinit_specifier_type_create_gutter): ditto.
16290         (specifier_vars_of_gutter): use new specifier type for gutter
16291         visibility.
16292         (init_frame_gutters): construct real_gutter correctly.
16293         (Fgutter_specifier_p): beef up documentation.
16294         (Fgutter_size_specifier_p): ditto.
16295
16296         * winslots.h: add real_gutter slots.
16297
16298 2000-02-25  Andy Piper  <andy@xemacs.org>
16299
16300         * device-msw.c: Be kind to older cygwin versions. From Raymond
16301         Toy <toy@rtp.ericsson.se>.
16302
16303         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16304         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16305
16306 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16307
16308         * elhash.c (MARK_OBJ): Practice macro hygiene.
16309
16310 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16311
16312         * miscplay.c: s/__inline__/inline/g;
16313         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16314         (get_device_compdc): INLINE ==> static inline
16315         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16316         find -name '*.h' | \
16317         xargs global-replace \
16318         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16319
16320 2000-02-25  Andy Piper  <andy@xemacs.org>
16321
16322         * window.c (window_top_frame_gutter_height): new function.
16323         (window_top_window_gutter_height): ditto.
16324         (window_top_gutter_height): use them.
16325         (window_bottom_frame_gutter_height): new function.
16326         (window_bottom_window_gutter_height): ditto.
16327         (window_bottom_gutter_height): use them.
16328         (window_left_window_gutter_width): new function.
16329         (window_left_frame_gutter_width): ditto.
16330         (window_left_gutter_width): use them.
16331         (window_right_window_gutter_width): new function.
16332         (window_right_frame_gutter_width): ditto.
16333         (window_right_gutter_width): use them.
16334         (window_pixel_height): new function. calulate window pixel height
16335         with frame gutter involvement.
16336         (Fsplit_window): calculate new sizes taking frame gutters into
16337         account.
16338         (window_char_height_to_pixel_height): don't include frame gutters.
16339         (window_char_height): use window_pixel_height.
16340         (window_pixheight): rename from window_pixel_height.
16341         (change_window_height): use it.
16342         (window_pixel_height_to_char_height): don't include frame gutters.
16343         (window_char_width_to_pixel_width): ditto.
16344
16345 2000-02-25  Andy Piper  <andy@xemacs.org>
16346
16347         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16348         if it is.
16349
16350 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16351
16352         * alloc.c (staticpro):
16353         (staticpro_nodump):
16354         (dumpstruct):
16355         (dumpopaque):
16356         (pdump_wire):
16357         (pdump_wire_list):
16358         (compact_string_chars):
16359         (pdump_dump_wired):
16360         Convert:  if (foo) abort();  ==>  assert (! foo);
16361
16362         * eldap.c (Fldap_search_basic):
16363         (Fldap_add):
16364         (Fldap_modify):
16365         (Fldap_delete):
16366         Fix compiler warnings, and possible crashes if (random) return
16367         value were to be used.
16368
16369 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16370
16371         * device-msw.c: Workaround ResetDC failure.
16372
16373         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16374         applying a devmode.
16375
16376         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16377         (mswindows_text_width): Do not start printer page.
16378
16379         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16380
16381         * glyphs-msw.c: Added image methods to msprinter console and
16382         msprinter-specific image instantiation.
16383
16384 2000-02-20  Mike Alexander  <mta@arbortext.com>
16385
16386         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16387         to avoid crashes when selection-sets-clipboard is on
16388         (mswindows_own_selection): ditto
16389
16390 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16391
16392         * glyphs-msw.c:
16393         * redisplay-msw.c (get_frame_dc):
16394         (get_frame_compdc):
16395         * console-msw.h:
16396         * device-msw.c (mswindows_init_device):
16397         (mswindows_delete_device):
16398         (msprinter_init_device):
16399         (msprinter_delete_device):
16400         * frame-msw.c (mswindows_init_frame_1):
16401         (mswindows_delete_frame):
16402         (msprinter_init_frame_3):
16403         (msprinter_delete_frame): Move compatible DC to device object from
16404         frame object, for both mswindows and msprinter. Only one at a time
16405         is needed, it is a real waste to have one per frame!
16406
16407 2000-02-23  Andy Piper  <andy@xemacs.org>
16408
16409         * glyphs.c: add dynamic width and height elements.
16410         (image_instance_equal): ditto.
16411
16412         * glyphs-widget.c (widget_query_geometry): calculate width and
16413         height dynamically if required.
16414         (initialize_widget_image_instance): initialize dynamic dimensions.
16415         (widget_instantiate): pick-up dynamic dimensions.
16416
16417         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16418         dynamic determination. Add appropriate macros.
16419
16420         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16421         dimensions safe.
16422         (WINDOW_GUTTER_SIZE): ditto.
16423         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16424
16425         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16426         inline.
16427         (get_frame_dc): ditto.
16428
16429         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16430         here.
16431
16432 2000-02-23  Martin Buchholz <martin@xemacs.org>
16433
16434         * XEmacs 21.2.31 is released.
16435
16436 2000-02-22  Ben Wing <ben@xemacs.org>
16437
16438         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16439
16440 2000-02-22  Andy Piper  <andy@xemacs.org>
16441
16442         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16443
16444 2000-02-21  Mike Sperber <mike@xemacs.org>
16445
16446         * .dbxrc:
16447         * .gdbinit:
16448         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16449         variables.
16450
16451 2000-02-21  Mike Sperber <mike@xemacs.org>
16452
16453         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16454
16455 2000-02-21  Martin Buchholz <martin@xemacs.org>
16456
16457         * XEmacs 21.2.30 is released.
16458
16459 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16460
16461         Performance hacking.
16462         * *.c (syms_of_*):
16463         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16464         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16465         * emacs.c (main_1):
16466         * lisp.h (DEFUN):
16467         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16468         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16469         * symeval.h (DEFVAR_SYMVAL_FWD):
16470         * symbols.c (guts_of_unbound_marker):
16471         Make all c_readonly objects also lisp_readonly and marked for life.
16472         * lrecord.h (struct lrecord_implementation):
16473         Document flags better.
16474         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16475         * lrecord.h (DECLARE_LRECORD):
16476         * lrecord.h (XSETRECORD):
16477         * lrecord.h (RECORDP):
16478         * lrecord.h (RECORD_TYPEP):
16479         * lrecord.h (RECORD_MARKER): New.
16480         * lrecord.h (error_check_*):
16481         * lrecord.h (CONCHECK_NONRECORD):
16482         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16483         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16484         * lrecord.h (set_lheader_implementation):
16485         * lrecord.h (enum lrecord_type): New.
16486         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16487         * alloc.c (disksave_object_finalization_1):
16488         * alloc.c (mark_object):
16489         * alloc.c (lrecord_type_index):
16490         * alloc.c (tick_lcrecord_stats):
16491         * alloc.c (Fgarbage_collect):
16492         * alloc.c (init_alloc_once_early):
16493         * alloc.c (pdump_load):
16494         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16495         * alloc.c (lrecord_type_index): Delete.
16496         Make lisp object type indexes be constant.
16497           Makes (byte-compile) 5% faster.
16498         Put all marker functions into their own array.
16499           Makes (garbage-collect) 5% faster.
16500         Optimize SYMBOL_VALUE_MAGIC_P.
16501           Makes (byte-compile) 2-3% faster.
16502         * config.h.in (gc_checking_assert): New.
16503         * alloc.c: Use gc_checking_assert().
16504         * .dbxrc: Make compatible with new object type implementation.
16505         * .gdbinit: Make compatible with new object type implementation.
16506         * alloc.c: Delete all symbols defined only for debugging, such as
16507         Lisp_Type_Vector and lrecord_charset.
16508
16509 2000-02-21  Andy Piper  <andy@xemacs.org>
16510
16511         * gui-msw.c (Fmswindows_shell_execute): fix file location
16512         problems.
16513
16514         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16515         unshowing so that set_window_buffer doesn't undo
16516         kill_buffer_hook's hard work.
16517
16518         * glyphs-widget.c (tab_control_query_geometry): don't count the
16519         first item when calculating geometry.
16520
16521         * glyphs.c (map_subwindow): remove redundant code.
16522         (update_frame_subwindows): be more circumspect about when to
16523         update subwindows.
16524
16525         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16526         when items haven't changed. Update faces if faces have changed as
16527         well as just the widget face.
16528         (x_tab_control_update): Update faces if faces have changed as well
16529         as just the widget face.
16530
16531 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16532
16533         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16534         registration.
16535         (build_syscolor_string): Use mswindows_color_to_string to try to
16536         get a named color.
16537         (mswindows_device_system_metrics): Reverse the foreground and
16538         background colors so that they match the documentation.
16539
16540         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16541         they match the default Windows palette.
16542         (mswindows_color_to_string): New function.
16543
16544 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16545
16546         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16547
16548 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16549
16550         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16551         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16552
16553         * symbols.c (init_symbols_once_early): Removed obsolete
16554         DATA_SEG_BITS related kludge.
16555         (defvar_magic): Ditto.
16556
16557         * malloc.c: Removed obsolete DATA_SEG_BITS
16558         * ralloc.c: Ditto.
16559         * mem-limits.h: Ditto.
16560
16561         * Makefile.in.in: Removed obsolete HAVE_SHM
16562         * emacs.c: Ditto.
16563
16564 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16565
16566         *  device-msw.c (mswindows_delete_device): Free DDE string
16567         handles.
16568
16569 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16570
16571         * keymap.c (get_keyelt):
16572         * unexnt.c (unexec):
16573         * vm-limit.c (memory_warnings):
16574         * ntheap.c (recreate_heap):
16575         * ntheap.h (UNINIT_PTR):
16576         * select-msw.c (Fmswindows_get_clipboard):
16577         (Fmswindows_set_clipboard):
16578         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16579         * objects-msw.c:
16580         * menubar-msw.c (displayable_menu_item):
16581         * glyphs-msw.c:
16582         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16583         * sysdep.c (sys_subshell):
16584         * process-nt.c (nt_create_process):
16585         * nt.c (normalize_filename):
16586         (dostounix_filename):
16587         (unixtodos_filename):
16588         * ntproc.c (win32_executable_type):
16589         * ntplay.c (play_sound_data_1):
16590         (play_sound_file):
16591         * editfns.c (get_home_directory):
16592         * event-msw.c (struct winsock_stream):
16593         (mswindows_dde_callback):
16594         * device-msw.c (msprinter_init_device):
16595         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16596
16597         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16598         mswindows_clear_toolbar were swapped!
16599
16600         * objects-msw.c:(colormap_t):
16601         (fontmap_t):
16602         * emacs.c (struct standard_args): Fixed const jumble.
16603
16604         * glyphs-widget.c (update_widget): Fixed comparison notation.
16605
16606         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16607
16608         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16609         __declspec(noreturn) syntax.
16610
16611 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16612
16613         * eldap.c (Fldap_open):
16614         (Fldap_search_basic):
16615         (Fldap_add):
16616         (Fldap_modify):
16617         Use new coding system conversion macros.
16618
16619 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16620
16621         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16622
16623 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16624
16625         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16626         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16627
16628         * eldap.c (Qadd, Qreplace): New constant symbols
16629         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16630         interruptions by XEmacs signals
16631         Remove unnecessary calls to slow_down_interrupts and
16632         speed_up_interrupts
16633         (Fldap_search_basic): Renamed from Fldap_search_internal
16634         Added new optional parameter VERBOSE that triggers the
16635         display of progress messages
16636         Remove unnecessary calls to slow_down_interrupts and
16637         speed_up_interrupts
16638         LDAP result code analysis rewritten
16639         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16640         (syms_of_eldap): Define the new symbols and functions
16641
16642
16643 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16644
16645         * realpath.c: Determine PATH_MAX maximally portably.
16646
16647         * insdel.c (bytecount_to_charcount): Optimize.
16648         The function used to be optimized for entirely ASCII sequences.
16649         Now it is optimized for successive characters from the same
16650         charset.  This also wins big for _mostly_ ASCII sequences.
16651
16652         * fileio.c (Ffile_truename): convert return from realpath() using
16653         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16654         - Rewrite GCPROing slightly.
16655
16656         * sysdep.c (sys_open): Do filename conversion, like all other
16657         sys_* functions.  Fixes bug:
16658         (let ((file-name-coding-system 'iso-8859-2))
16659            (write-region x y latin2-name))
16660         ==> writes filename using internal encoding.
16661
16662 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16663
16664         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16665         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16666         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16667         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16668         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16669         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16670         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16671         (CONST_IF_NOT_DEBUG): Delete.
16672         * alloc.c (this_one_is_unmarkable): Delete.
16673         (mark_object): Don't check for this_one_is_unmarkable. Use the
16674         c_readonly flag instead.
16675         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16676
16677 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16678
16679         * event-msw.c (mswindows_drain_windows_queue):
16680         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16681         away redundant repaint events.
16682
16683 2000-02-17  Andy Piper  <andy@xemacs.org>
16684
16685         * redisplay.h: declare mark_redisplay_structs.
16686
16687         * redisplay.c (redisplay_window):
16688         (redisplay_frame): don't check subwindows_state_changed.
16689         (mark_redisplay): mark gutters here.
16690
16691         * glyphs.c: (instantiate_image_instantiator): always layout if we
16692         haven't done so already.
16693         (allocate_image_instance): don't mark as dirty.
16694         (update_subwindow): bind inhibit_quit.
16695
16696         * gutter.c (mark_gutters): new function.
16697
16698         * glyphs-x.c (x_update_widget): Always resize to get round a
16699         widget bug.
16700
16701         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16702         breaking absolutely everything.
16703
16704         * gutter.h: declare mark_gutters.
16705
16706 2000-02-16  Martin Buchholz <martin@xemacs.org>
16707
16708         * XEmacs 21.2.29 is released.
16709
16710 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16711
16712         * fns.c (size_bit_vector): Fix computation of the size.
16713
16714 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16715
16716         * *.[ch]: Change CONST to const globally.
16717         find -name '*.[ch]' | \
16718         xargs global-replace \
16719         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16720         - Remove vestigial references to CONST_IS_LOSING
16721
16722 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16723
16724         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16725         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16726         events instead of dispatching them directly.
16727         (mswindows_handle_paint): New function to do repainting.
16728         (mswindows_wnd_proc):
16729         (emacs_mswindows_handle_magic_event): Call above function.
16730
16731 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16732
16733         * objects-msw.c (mswindows_create_font_variant): Return the new
16734         font handle.
16735         (initialize_font_instance): Get font metrics from the underlined
16736         variant of the font to cope with the case where the underlined
16737         font has a bigger descent.
16738
16739 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16740
16741         * gui.c (gui_item_accelerator): Return the first underlined
16742         character in item name.
16743
16744 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16745
16746         * lisp.h: Added Qprinter.
16747
16748         * general.c (syms_of_general): Initialized it.
16749
16750         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16751         (get_frame_dc):
16752         (get_frame_compdc): Made inline.
16753
16754         * console.h (struct console_methods): Added eject_page method.
16755
16756         * frame.h: Added FRAME_DISPLAY_P and friends.
16757         Aligned backslahes in many macros in more readable fashion.
16758         Added page_number to struct frame, and an accessor macro
16759         for it.
16760
16761         * defice.h: Added DEVICE_DISPLAY_P and friends.
16762
16763         * device.c (Fdevice_printer_p): Used these.
16764
16765         * frame.c (allocate_frame_core): Initialize page number.
16766         (Fprint_job_page_number):
16767         (Fprint_job_eject_page): Implemented.
16768
16769         * frame-msw.c (msprinter_eject_page): Added method.
16770         (msprinter_start_page): Added.
16771
16772         * window.c (Fwindow_truncated_p): Fixed docstring.
16773         (Fwindow_last_line_visible_height): Implemented.
16774
16775 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16776
16777         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16778
16779 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16780
16781         * syntax.c (scan_words): Always advance at least one character.
16782
16783 2000-02-13  Andy Piper  <andy@xemacs.org>
16784
16785         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16786         to make sure the glyph is in the cachels.
16787
16788         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16789         global image instance flag.
16790         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16791         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16792
16793         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16794         (Fset_image_instance_property): mark layout as changed.
16795         (invalidate_glyph_geometry_maybe): mark layout as changed.
16796         (glyph_width): use new NEEDS_LAYOUT macro.
16797         (glyph_ascent): ditto.
16798         (glyph_descent): ditto.
16799         (glyph_height): ditto.
16800         (image_instance_layout): mark layout as clean after laying out.
16801         (update_subwindow): don't mark layout as clean here.
16802
16803         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16804         should no longer be needed.
16805
16806         * glyphs-x.c (x_update_widget): sanitize asserts.
16807         (x_finalize_image_instance): sanitize assignment to widgets.
16808
16809         * glyphs-widget.c (widget_instantiate): don't need to clear the
16810         layout flag here.
16811
16812 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16813
16814         * sysdep.c (getcwd): Use standard prototype.
16815         * sysdep.h (getcwd): Use standard prototype.
16816
16817         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16818         (sequence, start, end).
16819         Remove redundant type checking.
16820         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16821         view of `caller-protects') to avoid a crash where the real fix was
16822         found elsewhere.
16823
16824 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16825
16826         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16827
16828         * s/sol2.h: Remove feature macro initialization.
16829
16830         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16831         (vector_hash): New.  Code from internal_hash.
16832         * lrecord.h:
16833         Fix up allocation subsystem comments.
16834
16835         * config.h.in: Add __EXTENSIONS__ for Solaris.
16836
16837         * systime.h (EMACS_GETTIMEOFDAY): New.
16838         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16839         Remove Solaris-specific code.
16840         Use void* for the (ignored) second arg for gettimeofday().
16841
16842         * elhash.c (hash_table_hash): Implement it, finally.
16843         * elhash.c:  Use hashcode_t.
16844
16845         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16846         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16847
16848         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16849         * fns.c (size_bit_vector):
16850         * alloc.c (size_vector):
16851         (make_vector_internal):
16852         (make_bit_vector_internal):
16853         (sweep_bit_vectors_1):
16854         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16855
16856 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16857
16858         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16859         Include strings.h to avoid warnings for bzero and strcasecmp.
16860
16861 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16862
16863         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16864         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16865
16866         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16867         sequence.
16868
16869 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16870
16871         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16872         use a value field instead.
16873         (symbol_value_forward_forward): Use value field.
16874         (DEFVAR_SYMVAL_FWD): Use value field.
16875         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16876         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16877         (DEFVAR_CONST_INT): Ditto.
16878         (DEFVAR_BOOL): Ditto.
16879         (DEFVAR_CONST_BOOL): Ditto.
16880         (DEFVAR_INT_MAGIC): Ditto.
16881         (DEFVAR_BOOL_MAGIC): Ditto.
16882
16883         * symbols.c (guts_of_unbound_marker): Use value field.
16884         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16885         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16886
16887         * lisp.h: Declare dumpopaque and noninteractive1.
16888
16889         * alloc.c (dumpopaque): Added.
16890         (pdump_dump_opaquevec): Added.
16891         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16892         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16893         noninteractive.
16894
16895 2000-02-10  Andy Piper  <andy@xemacs.org>
16896
16897         * glyphs.c (image_instance_layout): if the size changes, mark it
16898         as such.
16899
16900         * redisplay-output.c (redisplay_output_layout): Update the
16901         subwindow here.
16902         (redisplay_output_subwindow): ditto.
16903
16904         * glyphs.c (update_subwindow): make sure we reset flags for
16905         layouts as well as everything else.
16906
16907         * glyphs-widget.c (layout_layout): don't need to set the instances
16908         dimensions here.
16909
16910 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16911
16912         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16913         not HAVE_DLOPEN, which is a lower-level thing.
16914
16915         * .cvsignore: Ignore gmon.out
16916
16917 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16918
16919         * .cvsignore: Ignore portable dumper xemacs.dmp file
16920
16921 2000-02-09  Andy Piper  <andy@xemacs.org>
16922
16923         * redisplay-output.c (redisplay_output_layout): be more clever
16924         about when we output based on the changed flags.
16925
16926         * glyphs.h (struct image_instantiator_methods): add update_method.
16927         (struct Lisp_Image_Instance): add changed flags. Declare new
16928         macros for manipulating them.
16929
16930         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16931         (image_instance_parent_glyph): find an image_instance's parent
16932         glyph or image_instance.
16933         (image_instance_layout): mark the size as changed.
16934         (set_image_instance_dirty_p): new function. mark an image
16935         instance, plus all of its parents, as dirty.
16936         (Fset_image_instance_property): use it.
16937         (Fglyph_animated_timeout_handler): use it.
16938         (update_subwindow): call update_widget and device methods for
16939         update_subwindow. Mark all changed flags as clean.
16940         (Fresize_subwindow): mark size as changed.
16941
16942         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16943         failures.
16944         (x_update_subwindow): only resize subwindows here.
16945         (x_update_widget): new function. Update all changed properties of
16946         a widget.
16947         (x_resize_subwindow): deleted.
16948         (x_widget_set_property): deleted.
16949         (x_progress_gauge_set_property): deleted.
16950         (x_progress_gauge_update): new function. Implement recorded
16951         changes.
16952         (x_tab_control_update): ditto.
16953         (x_tab_control_set_property): deleted.
16954         (console_type_create_glyphs_x): declare new functions.
16955         (image_instantiator_format_create_glyphs_x): ditto.
16956
16957         * glyphs-widget.c (widget_set_property): mark text changed.
16958         (update_widget): new function. Update properties of a widget.
16959         (widget_instantiate): for layouts make sure we set their
16960         children's parent correctly.
16961         (tab_control_set_property): new function. Record changes that will
16962         take place under redisplay's control.
16963         (progress_gauge_set_property): ditto.
16964         (image_instantiator_progress_guage): declare new functions.
16965         (image_instantiator_tab_control): ditto.
16966
16967         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16968         now.
16969         (mswindows_update_widget): new function. Update all properties on
16970         a widget that have changed.
16971         (mswindows_button_update): new function. Update a button's set
16972         state.
16973         (mswindows_tab_control_update): new function. Update the items in
16974         a tab.
16975         (mswindows_tab_control_set_property): deleted.
16976         (mswindows_progress_gauge_update): new function. Update the
16977         progress gauge's progress.
16978         (mswindows_widget_set_property): deleted. This is all done
16979         asynchronously now.
16980         (mswindows_progress_gauge_set_property): ditto.
16981         (console_type_create_glyphs_mswindows): declare new methods.
16982         (image_instantiator_format_create_glyphs_mswindows): ditto.
16983
16984         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16985         (msprinter_set_frame_properties): ditto.
16986
16987         * console.h (struct console_methods): Add update_widget_method.
16988
16989 2000-02-09  Andy Piper  <andy@xemacs.org>
16990
16991         * gui-msw.c (Fmswindows_shell_execute): Make
16992         mswindows-shell-execute industrial strength.
16993
16994 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16995
16996         * lrecord.h: Make macro argument `props' match member function `plist'.
16997         * fns.c (Fget):
16998         * fns.c (Fput):
16999         * fns.c (Fremprop):
17000         * fns.c (Fobject_plist):
17001         * alloc.c:
17002         * symbols.c:
17003         Object property list frobbing cleanup.
17004         - Allow any lisp object (compared with `eq'), not just symbols, as
17005           keys in object plists.
17006         - Move symbol plist frobbing into symbols.c, where it belongs.
17007         - Move string plist frobbing into alloc.c, where it belongs.
17008         - Everything's an lrecord now, so no need to test for symbolp, etc.
17009         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
17010
17011         * extents.c: Reorder code to remove declarations.
17012
17013         * frame.h (store_in_alist): Remove useless declaration.
17014
17015 2000-02-07  Martin Buchholz  <martin@xemacs.org>
17016
17017         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
17018         * config.h.in: Add HAVE_XCONVERTCASE.
17019
17020 2000-02-07  Andy Piper  <andy@xemacs.org>
17021
17022         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
17023         it breaks many things.
17024
17025 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17026
17027         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17028         actually can start a common comment type.
17029         * src/syntax.h (SYNTAX_END_P): ditto for end.
17030
17031 2000-02-07  Martin Buchholz <martin@xemacs.org>
17032
17033         * XEmacs 21.2.28 is released.
17034
17035 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17036
17037         * event-Xt.c (x_keysym_to_character): New.
17038         (maybe_define_x_key_as_self_inserting_character): New.
17039         (x_has_keysym): New.
17040         Auto-define all keys on the keyboard as self-insert-key.
17041
17042 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17043
17044         * menubar.c (vars_of_menubar): A small code simplification.
17045
17046         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17047
17048         * ExternalShell.c:
17049         * ExternalClient.c:
17050         * EmacsShell-sub.c:
17051         * EmacsManager.c:
17052         * EmacsFrame.c:
17053         Use consistent style for specifying X resources.
17054
17055         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17056         This makes (dontusethis-set-symbol-value-handler) actually usable.
17057
17058         * lrecord.h (lrecord_decription_type):
17059         * alloc.c (pdump_register_sub):
17060         (pdump_dump_data):
17061         (pdump_reloc_one):
17062         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17063         Comply with XEmacs coding style.
17064         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17065         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17066
17067         * keymap.c (Faccessible_keymaps):
17068         Make (accessible-keymaps map "\C-h") do the Right Thing.
17069         Make (accessible-keymaps map []) do the Right Thing.
17070         Make (accessible-keymaps map "") do the Right Thing.
17071         (check_keymap_definition_loop): New function.
17072         (keymap_store_internal): Keep luser from shooting self in foot,
17073           via (define-key ctl-x-4-map "p" global-map).
17074         Remove fullness slot from struct Lisp_Keymap, since hash tables
17075         are now reliable.
17076         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17077
17078 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17079
17080         * redisplay.c (init_redisplay): Fix small memory leak.
17081         * elhash.h:
17082         * elhash.c (pdump_reorganize_hash_table):
17083         Rename from reorganize_hash_table. Change prototype.
17084         Reuse the original memory for hentries.  Save 100k.
17085         * alloc.c (PDUMP_READ): new macro.
17086         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17087         * alloc.c: No need to #ifndef before #undef.
17088
17089         * print.c: Allow debug_print() to print readably by modifying
17090         debug_print_readably.  Use consistent variable names.
17091
17092         * .dbxrc: Try to get things to work even if stopped in a function
17093         without source available by explicitly specifying source files.
17094 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17095
17096         * unexnt.c (_start): Removed bogus code which caused loading heap
17097         from differrent executable file.
17098         Removed bogus assignment to _fmode, which caused inconsistencies.
17099
17100 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17101
17102         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17103         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17104         Do not preliminary `#define signal sigset'.
17105
17106         * systime.h: Do not prototype environ on windows nt and cygwin,
17107         this conflicts with system header.
17108
17109         * syssignal.h: Use correct define for WINDOWSNT
17110
17111         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17112         with system header.
17113
17114         * sysdep.c (near start of file): Fixed commentary and rearranged
17115         ifdefs in readable order.
17116         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17117         (start_of_text):
17118         (end_of_text):
17119         (end_of_data): Do not compile in if using PDUMP.
17120
17121         * symsinit.h: Prototyped vars_of_nt().
17122
17123         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17124         (find_child_console): Use it.
17125         (sys_kill): Use it.
17126
17127         * ntheap.h: Do not extern os_subtype.
17128
17129         * ntheap.c (cache_system_info): Do not cache unneeded:
17130         nt_major_version, nt_minor_version and os_subtype.
17131         (recreate_heap): Do not compile in when PDUMPing.
17132
17133         * nt.c (geteuid and friends): Use the new varibale
17134         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17135         (init_user_info): Removed the above mentioned hackery.
17136         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17137         stat has been fixed in the C runtime.
17138         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17139
17140         * file-coding.c (struct file_coding_dump): Do not define
17141         ucs_to_mule_table in the struct if not MULE.
17142         (struct struct lrecord_description fcd_description_1): Do not dump
17143         the above.
17144
17145         * emacs.c (main_1): Call vars_of_nt().
17146         (right before Fdump_emacs_data): Don't need lastfile if using both
17147         portabe dumper and system malloc.
17148
17149         * alloc.c (Fmemory_limit): Conditionalized out.
17150         (pdump): Use OPEN_BINARY for the portable dump file.
17151         (pdump_load): Ditto.
17152
17153 2000-02-02  Mike Alexander  <mta@arbortext.com>
17154
17155         * nt.c (convert_time): Set tm_isdst before calling mktime and
17156         avoid calling it at all if the compiler supports 64 bit integers.
17157         Also initialize utc_base_ft before using it.
17158
17159 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17160
17161         * frame.c (change_frame_size_1): Take f->internal_border_width
17162         into consideration when calculating the width of the frame.
17163
17164 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17165
17166         * window.c (frame_min_height):
17167         (frame_size_valid_p):
17168         (frame_pixsize_valid_p): Added.
17169         (check_frame_size): Generalized.
17170
17171         * window.h: Prototyped the above.
17172
17173         * lisp.h:
17174         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17175         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17176         Deleted Vwin32_* and Vbinary_process_* unused variables.
17177
17178         * device-msw.c (msprinter_init_device): Do not get printer font
17179         list; Added DEVMODE functions.
17180
17181         * frame-msw.c: Added lots of printer code.
17182
17183         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17184         general.c.
17185
17186         * console-msw.h: Added more msprinter device private slots.
17187
17188 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17189
17190         * event-msw.c (key_needs_default_processing_p): Added.
17191         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17192
17193 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17194
17195         * glyphs.c (image_instance_layout): Mark image instance as clean
17196         after layout.
17197         (glyph_dirty_p): Removed redundant function.
17198         (invalidate_glyph_geometry_maybe): Added.
17199         (update_glyph_cachel_data): Call it.
17200
17201         * glyphs.h: Prototyped it.
17202
17203         * redisplay.c (add_glyph_rune): Call it.
17204         (redisplay_window): Reset glyphs cachels when frame faces have
17205         changed, thus forcing recomputation of built-in border glyphs.
17206
17207 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17208
17209         * Makefile.in.in: Make portable dumper and purify play well together.
17210         Add imperfect, but better than nothing, support for pdump.
17211         Remove xemacs.dmp when temacs is re-generated.
17212         Don't ignore errors when dumping xemacs.
17213
17214         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17215
17216 2000-01-28  Andy Piper  <andy@xemacs.org>
17217
17218         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17219         (setup_normal_frame): ditto.
17220         (setup_frame_without_minibuffer): ditto.
17221         (setup_minibuffer_frame): ditto.
17222         (delete_frame_internal): ditto.
17223         (Fmake_frame_invisible): ditto.
17224         (Ficonify_frame): ditto.
17225
17226         * window.h: change Fset_window_buffer signature.
17227
17228         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17229         (Fset_window_buffer): allow recording of buffer if the window is
17230         the selected window.
17231         (window_loop): Use new Fset_window signature.
17232
17233 2000-01-23  Daniel Pittman  <daniel@danann.net>
17234
17235         * config.h.in: Added template for `HAVE_ATHENA_3D'
17236
17237 2000-01-29  Andy Piper  <andy@xemacs.org>
17238
17239         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17240
17241         * gutter.c (output_gutter): Don't output if the window isn't live.
17242
17243 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17244
17245         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17246         of 01/12/00: Moved SetFocus back here where it belongs.
17247
17248 2000-01-23  Andy Piper  <andy@xemacs.org>
17249
17250         * s/cygwin32.h: declare printer things.
17251
17252 2000-01-26  Andy Piper  <andy@xemacs.org>
17253
17254         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17255         Alexander.
17256
17257 2000-01-24  Andy Piper  <andy@xemacs.org>
17258
17259         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17260         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17261
17262         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17263
17264         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17265
17266         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17267
17268         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17269         (mswindows_output_display_block): Avoid local shadows.
17270
17271         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17272         (mswindows_enqueue_mouse_button_event): ditto.
17273         (mswindows_handle_gui_wm_command): remove declaration.
17274
17275         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17276         warnings.
17277
17278         * console-msw.h: Avoid shadows.
17279         (mswindows_get_toolbar_button_text):
17280         (emacs_mswindows_create_stream_pair):
17281         (emacs_mswindows_delete_stream_pair):
17282         (mswindows_handle_toolbar_wm_command): declare.
17283
17284         * device-msw.c (build_syscolor_string): Avoid shadows.
17285
17286 2000-01-23  Andy Piper  <andy@xemacs.org>
17287
17288         * glyphs-widget.c (widget_instantiate): reverse the items for
17289         layouts so that children are in the expected order.
17290
17291 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17292
17293         * ralloc.c: safe_bcopy ==> memmove
17294         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17295         * s/msdos.h: Remove BCOPY macros.
17296         * insdel.c (gap_right): Remove BCOPY conditional code.
17297         * insdel.c (gap_left): Remove BCOPY conditional code.
17298         XEmacs demands a working ANSI C compiler - hence memmove.
17299
17300         * regex.c (regex_compile): Remove accidental use of trigraphs.
17301
17302 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17303
17304         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17305         event timestamp.
17306
17307 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17308
17309         * event-msw.c (mswindows_drain_windows_queue): Added the
17310         parameter.
17311         (mswindows_need_event): Commented the call to
17312         mswindows_drain_windows_queue().
17313         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17314         only.
17315
17316         * console-msw.h: Moved a few function prototypes here from
17317         event-msw.c.
17318
17319         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17320         parameter from unsigned short to unsigned long.
17321         (Fmswindows_shell_execute): Added return value.
17322
17323 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17324
17325         * sysdep.c (init_system_name):
17326           process-unix.c (unix_canonicalized_host_name):
17327         Don't call freeaddrinfo() if getaddrinfo() fails.
17328
17329         * process-unix.c (unix_open_unix_network_stream):
17330         Moved the code to get a port # into address loop.
17331
17332 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17333
17334         * buffer.c (reinit_vars_of_buffer):
17335         The right place to initialize conversion_in_dynarr and
17336         conversion_out_dynarr.
17337
17338         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17339
17340         * process-unix.c (unix_canonicalize_host_name): Muleize.
17341         (unix_open_network_stream): Muleize.
17342
17343         * buffer.h: Fix up prototypes for ralloc.c functions.
17344
17345 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17346         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17347         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17348                 instead of gethostbyname()
17349         * process-unix.c: In unix_canonicalize_host_name() and
17350                 unix_open_network_stream(), add code to use getaddrinfo()
17351                 instead of gethostbyname().
17352
17353 2000-01-27  Daniel Pittman <daniel@danann.net>
17354
17355         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17356         libs when built with flat Athena.
17357
17358 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17359
17360         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17361         Use coding standards for function prototypes.
17362
17363 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17364
17365         * dialog-msw.c (push_lisp_string_as_unicode):
17366         * doc.c (unparesseuxify_doc_string):
17367         * dired.c (Fuser_name_completion_1):
17368         * dired.c (Fuser_name_all_completions):
17369         * dired.c (free_user_cache):
17370         * dired.c (user_name_completion):
17371         * console-x.c (get_display_arg_connection):
17372         * minibuf.c (clear_echo_area_internal):
17373         * minibuf.c (echo_area_append):
17374         * eldap.c (Fldap_open):
17375         * eldap.c (Fldap_search_internal):
17376         * frame-x.c (x_set_frame_text_value):
17377         * frame-x.c (x_set_frame_properties):
17378         * frame-x.c (x_create_widgets):
17379         * redisplay-tty.c (term_get_fkeys_1):
17380         * objects-x.c (x_parse_nearest_color):
17381         * objects-x.c (x_valid_color_name_p):
17382         * objects-x.c (x_initialize_font_instance):
17383         * objects-x.c (x_list_fonts):
17384         * objects-x.c (x_find_charset_font):
17385         * tooltalk.c (Fadd_tooltalk_message_arg):
17386         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17387         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17388         * process-unix.c (unix_create_process):
17389         * ntproc.c (sys_spawnve):
17390         * sound.c (Fplay_sound_file):
17391         * sound.c (Fplay_sound):
17392         * buffer.c (init_initial_directory):
17393         * buffer.c (init_buffer):
17394         * editfns.c (init_editfns):
17395         * editfns.c (Ftemp_directory):
17396         * editfns.c (Fuser_full_name):
17397         * editfns.c (uncache_home_directory):
17398         * editfns.c (get_home_directory):
17399         * editfns.c (Fuser_home_directory):
17400         * editfns.c (Fformat_time_string):
17401         * editfns.c (Fcurrent_time_string):
17402         * gui-x.c (button_item_to_widget_value):
17403         * database.c (Fopen_database):
17404         * event-Xt.c (x_to_emacs_keysym):
17405         * event-Xt.c (x_event_to_emacs_event):
17406         * event-Xt.c (describe_event_window):
17407         * event-msw.c (mswindows_wnd_proc):
17408         * glyphs-eimage.c (jpeg_instantiate):
17409         * glyphs-eimage.c (gif_instantiate):
17410         * glyphs-eimage.c (png_instantiate):
17411         * glyphs-eimage.c (tiff_instantiate):
17412         * glyphs-x.c (xbm_instantiate_1):
17413         * glyphs-x.c (x_xbm_instantiate):
17414         * glyphs-x.c (x_xface_instantiate):
17415         * glyphs-x.c (autodetect_instantiate):
17416         * glyphs-x.c (cursor_font_instantiate):
17417         * glyphs-x.c (x_widget_instantiate):
17418         * glyphs-x.c (x_widget_set_property):
17419         * glyphs-x.c (x_widget_property):
17420         * glyphs-x.c (BUILD_GLYPH_INST):
17421         * print.c (write_string_to_stdio_stream):
17422         * print.c (output_string):
17423         * print.c (Falternate_debugging_output):
17424         * print.c (Fexternal_debugging_output):
17425         * glyphs-msw.c (extract_xpm_color_names):
17426         * glyphs-msw.c (mswindows_xpm_instantiate):
17427         * glyphs-msw.c (bmp_instantiate):
17428         * glyphs-msw.c (resource_name_to_resource):
17429         * glyphs-msw.c (mswindows_resource_instantiate):
17430         * glyphs-msw.c (xbm_instantiate_1):
17431         * glyphs-msw.c (mswindows_xbm_instantiate):
17432         * glyphs-msw.c (mswindows_xface_instantiate):
17433         * glyphs-msw.c (mswindows_widget_instantiate):
17434         * glyphs-msw.c (add_tree_item):
17435         * glyphs-msw.c (add_tab_item):
17436         * glyphs-msw.c (mswindows_combo_box_instantiate):
17437         * glyphs-msw.c (mswindows_widget_property):
17438         * glyphs-msw.c (mswindows_combo_box_property):
17439         * glyphs-msw.c (mswindows_widget_set_property):
17440         * console.c (stuff_buffered_input):
17441         * objects-msw.c (mswindows_initialize_color_instance):
17442         * objects-msw.c (mswindows_valid_color_name_p):
17443         * objects-msw.c (mswindows_list_fonts):
17444         * objects-msw.c (mswindows_font_instance_truename):
17445         * bytecode.c (optimize_compiled_function):
17446         * select-x.c (symbol_to_x_atom):
17447         * select-x.c (x_atom_to_symbol):
17448         * select-x.c (hack_motif_clipboard_selection):
17449         * select-x.c (selection_data_to_lisp_data):
17450         * select-x.c (lisp_data_to_selection_data):
17451         * select-x.c (Fx_get_cutbuffer_internal):
17452         * select-x.c (Fx_store_cutbuffer_internal):
17453         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17454         * buffer.h (TO_INTERNAL_FORMAT): New function.
17455         * emacs.c (make_arg_list_1):
17456         * emacs.c (make_argc_argv):
17457         * emacs.c (main_1):
17458         * emacs.c (Fdump_emacs):
17459         * emacs.c (split_string_by_emchar_1):
17460         * file-coding.h:
17461         * lisp.h:
17462         * lstream.h:
17463         * symsinit.h:
17464         * device-x.c (x_init_device):
17465         * device-x.c (Fx_valid_keysym_name_p):
17466         * device-x.c (Fx_get_font_path):
17467         * device-x.c (Fx_set_font_path):
17468         * glyphs.c (bitmap_to_lisp_data):
17469         * glyphs.c (pixmap_to_lisp_data):
17470         * alloc.c (make_ext_string): Use coding system arguments.  Update
17471         all callers.
17472         * alloc.c (build_string):
17473         * callproc.c (child_setup):
17474         * callproc.c (init_callproc):
17475         * fileio.c (lisp_strerror):
17476         * fileio.c (directory_file_name):
17477         * fileio.c (Fexpand_file_name):
17478         * fileio.c (Ffile_truename):
17479         * fileio.c (Fsysnetunam):
17480         * fileio.c (Fdo_auto_save):
17481         * sysdep.c (sys_readdir):
17482         * tests.c: New file.  Allow adding C tests.
17483         Replace GET_* macros with a more comprehensible and flexible
17484         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17485         Modify all calls.
17486         Any coding system can be used to do format conversion.
17487         Eliminate enum external_data_format.
17488         Eliminate convert_to_external_format.
17489         Eliminate convert_to_internal_format.
17490         Make sure file-name, keyboard, terminal, and ctext are always
17491         defined as coding systems or aliases.  Make
17492         file-name-coding-system, terminal-coding-system, and
17493         keyboard-coding-system magical variables that are equivalent to
17494         defining the corresponding coding system aliases.
17495
17496         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17497         * file-coding.c (Fcoding_system_alias_p): New function.
17498         * file-coding.c (Fcoding_system_aliasee): New function.
17499         * file-coding.c (append_suffix_to_symbol): New function.
17500         * file-coding.c (dangling_coding_system_alias_p): New function.
17501         * file-coding.c (Ffind_coding_system):
17502         * file-coding.c (Fcopy_coding_system):
17503         * file-coding.c (encode_coding_no_conversion):
17504         * file-coding.c (syms_of_file_coding):
17505         * file-coding.c (vars_of_file_coding):
17506         Rewrite coding system alias code.
17507         Allow nested aliases, like symbolic links.
17508         Allow redefinition of coding system aliases.
17509         Prevent existence of dangling coding system aliases.
17510
17511         * dired.c (Fuser_name_completion_1):
17512         * dired.c (Fuser_name_all_completions):
17513         A crash would happen if user did QUIT in the middle of building
17514         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17515
17516         * lisp.h:
17517         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17518
17519         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17520         an unsigned char *.  Update all callers.
17521
17522 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17523
17524         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17525
17526 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17527
17528         * elhash.c (hentry_description): Use more portable definition.
17529         (resize_hash_table): Initialize new hentries using
17530         xnew_array_and_zero, thereby simplifying the code.
17531
17532         * mule-charset.c (make_charset): Make sure entire object is
17533         initialized, to avoid Purify warnings.
17534
17535         * alloc.c (resize_string): Fix unlikely crash with big strings.
17536
17537 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17538
17539         * realpath.c (xrealpath):
17540         Don't call getwd().
17541
17542 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17543
17544         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17545
17546 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17547
17548         * unexelfsgi.c (unexec): Change the way we decide which segment
17549         should be extended.
17550
17551         Assumption that .bss section should be outside the PT_LOADable
17552         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17553         it's present) is inside the 'data' segment. This would fail the
17554         test which was used to find a segment to grow and cover new
17555         heap. Instead of this assumption, I created another one - on IRIX
17556         the segment to grow should start below .bss and it's address
17557         should extent above the end of .bss. Once this segment is
17558         identified, it's grown to accommodate the new heap and new
17559         zero-length .bss section is added at the end of .data2.
17560
17561 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17562
17563         * eval.c (Feval): Wrong number of arguments should use original
17564         function, not the indirect_function version of it.
17565
17566 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17567
17568         * glyphs-x.c (x_button_instantiate): Don't add image if
17569         it is not a pixmap.
17570         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17571         is relative.
17572
17573 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17574
17575         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17576         declaration.
17577         (DEFVAR_INT_MAGIC): Ditto.
17578         (DEFVAR_BOOL_MAGIC): Ditto.
17579         * glyphs.h: Reindent backslash.
17580
17581 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17582
17583         * glyphs-widget.c (layout_query_geometry):
17584         (layout_layout): Use correct types for gheight, gwidth.
17585
17586 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17587
17588         * EmacsManager.c (QueryGeometry): Purified.
17589
17590 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17591
17592         * alloc.c (make_float): Make sure entire object is initialized, to
17593         avoid Purify warnings.
17594         (pdump_register_sub): Remove useless assignment.
17595         (pdump): Use xmalloc, not malloc.
17596         (pdump_load): Use xmalloc, not malloc.
17597
17598 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17599
17600         * callproc.c:
17601         * dired-msw.c:
17602         * fileio.c:
17603         * process-nt.c:
17604         * redisplay-msw.c:
17605         * sysdep.c: Removed redundant #include <windows.h>
17606
17607 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17608
17609         * frame.c (delete_frame_internal): Do not delete device when its
17610         implementation so declares.
17611         (delete_frame_internal): Set device selected frame to nil when
17612         last frame goes away.
17613
17614         * device-msw.c (msprinter_device_system_metrics): Implemented.
17615         (mswindows_device_system_metrics): Added 'device-dpi property.
17616
17617         * device.c: (Fdevice_printer_p): Added.
17618         Added 'offset-workspace device metric.
17619
17620         * console.h (device_metrics): Declared DM_offset_workspace.
17621
17622 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17623
17624         * fileio.c (Ffile_truename): Remove pointless and confusing
17625         initialization of elen.
17626
17627         * glyphs-widget.c: Compiler warning fixes.
17628
17629 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17630
17631         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17632         instead of a Lisp_Object as argument to make it consistent with
17633         the other LIVE_P macros.
17634         (CHECK_LIVE_PROCESS): New macro.
17635
17636         * process.c: Declare Qprocess_live_p.
17637         (Fprocess_live_p): New function.
17638         (create_process): Use PROCESS_LIVE_P.
17639         (read_process_output): Ditto.
17640         (set_process_filter): Ditto.
17641         (Fdelete_process): Ditto.
17642         (kill_buffer_processes): Ditto
17643         (process_send_signal): Use CHECK_LIVE_PROCESS.
17644         (Fprocess_input_coding_system): Check whether process is still
17645         alive (fix PR#1061).
17646         (Fprocess_output_coding_system): Ditto.
17647         (Fprocess_coding_system): Ditto.
17648         (Fset_process_input_coding_system): Ditto.
17649         (Fset_process_output_coding_system): Ditto.
17650
17651 2000-01-23  Andy Piper  <andy@xemacs.org>
17652
17653         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17654         layout and widget.
17655
17656         * glyphs.c (mark_image_instance): take into account changed
17657         image_instance format.
17658         (image_instance_equal): ditto.
17659         (image_instance_hash): ditto.
17660
17661         * glyphs-widget.c (widget_instantiate): Incorporate layout
17662         instantiation here. Delay layout of the layout until later.
17663         (layout_instantiate): deleted.
17664         (layout_query_geometry): new function. get the geometry of a
17665         layout.
17666         (layout_layout): layout a layout dynamically.
17667         (image_instantiator_widget): New function - splitting up
17668         image_instantiator_format_create_glyphs_widget for netwinder
17669         compilation.
17670         (image_instantiator_buttons):
17671         (image_instantiator_edit_fields):
17672         (image_instantiator_combo_box):
17673         (image_instantiator_scrollbar):
17674         (image_instantiator_progress_guage):
17675         (image_instantiator_tree_view):
17676         (image_instantiator_tab_control):
17677         (image_instantiator_labels):
17678         (image_instantiator_layout): ditto.
17679         (image_instantiator_format_create_glyphs_widget): Call preceding
17680         functions.
17681
17682 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17683
17684         * process.c (Fset_process_coding_system):
17685         * device-x.c (Fx_keysym_hash_table):
17686         Docstring fixes.
17687
17688         * lstream.c (Lstream_write): Return documented value, not 0.
17689
17690         * fileio.c (directory_file_name):
17691         (Fsubstitute_in_file_name):
17692         (Fsubstitute_insert_file_contents_internal):
17693         (Fwrite_region_internal):
17694         * emacs.c:
17695         * sysdep.c:
17696         * getloadavg.c:
17697         * systty.h:
17698         Remove vestigial APOLLO-conditional code.
17699
17700 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17701
17702         * getpagesize.h: Add guard macros.
17703         * libsst.h: Add guard macros.
17704         * libst.h: Add guard macros.
17705         * line-number.h: Add guard macros.
17706         * ndir.h: Add guard macros.
17707         * sysfloat.h: Add guard macros.
17708         * sysfile.h: Add guard macros.
17709         * sysproc.h: Add guard macros.
17710         * syswait.h: Add guard macros.
17711         * xintrinsic.h: Add guard macros.
17712         * xintrinsicp.h: Add guard macros.
17713         * xmmanager.h: Add guard macros.
17714         * xmmanagerp.h: Add guard macros.
17715         * xmprimitive.h: Add guard macros.
17716         * xmu.h: Add guard macros.
17717         * gpmevent.h: Add copyright statement. Add guard macros.
17718         * miscplay.h: Add guard macros.
17719         * *.h: Use consistent C-standards-approved guard macro names.
17720
17721         * opaque.c (make_opaque): Switch parameter order.
17722         * opaque.h (make_opaque): Switch parameter order.
17723         Update all callers.
17724         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17725
17726         * config.h.in (type_checking_assert): Added.
17727         (bufpos_checking_assert): Added.
17728
17729 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17730
17731         * alloc.c: Harmless pdump changes.
17732         - Use countof().
17733         - spell alignment correctly.
17734         * sysdep.c: Use countof()
17735
17736 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17737
17738         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17739         initially_selected_for_input() console method, default to 0.
17740         (semi_canonicalize_console_connection): Try to delegate to
17741         canonicalize_console_connection if no such console method.
17742         (canonicalize_console_connection): Vice versa.
17743         (print_console): Do not print nil connection.
17744
17745         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17746         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17747         (XDEVIMPF_FRAMELESS_OK): Added.
17748         (CONSOLE_INHERITS_METHOD): Added.
17749
17750         * console-msw.c (mswindows_canonicalize_console_connection):
17751         Added.
17752         (mswindows_canonicalize_device_connection): Added.
17753
17754         * console-msw.h (struct msprinter_device): Added this struct and
17755         accessor macros.
17756         (mswindows_device): Made fontlist a lisp object.
17757
17758         * device.c (semi_canonicalize_device_connection):  Try to delegate
17759         to canonicalize_device_connection if no such console method.
17760         (canonicalize_device_connection): Vice versa.
17761         (print_device): Do not print nil connection.
17762
17763         * device-msw.c (mswindows_init_device): Call InitCommonControls
17764         when have widgets.
17765         (mswindows_delete_device): Removed fontlist deallocation.
17766         (mswindows_mark_device): Added.
17767
17768         * events.c (event_equal): Added abort() at unreached code.
17769         (event_hash): Ditto.
17770
17771         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17772         fallback tags of Windows devices.
17773
17774         * general.c (syms_of_general): Initialized Qmsprinter.
17775
17776         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17777         of fallback tags of Windows devices.
17778
17779         * lisp.h: Declared Qmsprinter.
17780
17781         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17782         of strings.
17783         (mswindows_list_fonts): Ditto.
17784         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17785         that it can be used by both mswindows and msprinter devices.
17786         (initialize_font_instance): Added.
17787         (mswindows_initialize_font_instance): Use it.
17788         (msprinter_initialize_font_instance): Added.
17789
17790         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17791         and implementation flags check.
17792         (redisplay_without_hooks): Changed the call to the above.
17793         (Fredraw_device): Ditto.
17794         (Fredisplay_device): Ditto.
17795
17796         * redisplay-msw.c (get_frame_dc): Implemented.
17797         (get_frame_compdc): Implemented.
17798         (many functions): Use the two functions above to get device
17799         contexts, ether for a window or a printer.
17800
17801 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17802
17803         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17804         initialization here.
17805         (init_symbols_once_early): Call it.
17806         * emacs.c (main_1): Call it.
17807         * symsinit.h: Declare it.
17808
17809 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17810
17811         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17812         Lisp_Object.
17813         (pdump_backtrace): Ditto.
17814         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17815         (pdump_get_entry): Abort if trying to register a null pointer.
17816         (pdump_dump_data): Cleanup types when relocating.
17817         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17818         (pdump_dump_rtables): Remove bad casts.
17819         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17820         Lisp_Object instead of a EMACS_INT for the hashtable
17821         reorganization.
17822
17823 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17824
17825         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17826
17827         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17828
17829         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17830
17831         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17832
17833 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17834
17835         * faces.h (FACE_STRIKETHRU_P): Added.
17836
17837         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17838         of font variants.
17839
17840         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17841         (mswindows_set_dc_font): New function, aware of font variants,
17842         separated from mswindows_update_dc.
17843
17844         * objects-msw.h (struct mswindows_font_instance_data): Added
17845         definition.
17846
17847         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17848         cached fonts and the data structure.
17849         (mswindows_initialize_font_instance): Added creation of font data
17850         structure.
17851         (mswindows_print_font_instance): Print at least something.
17852         (mswindows_create_font_variant): Implemented.
17853         (mswindows_get_hfont): Implemented.
17854
17855 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17856
17857         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17858         prototyping problem with msvc.
17859
17860         * emacs.c (main_1): added syms_of_gui_mswindows() call
17861
17862         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17863         syms_of_gui_mswindows() function
17864
17865         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17866
17867 2000-01-18  Martin Buchholz <martin@xemacs.org>
17868
17869         * XEmacs 21.2.27 is released.
17870
17871 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17872
17873         * glyphs-eimage.c (struct tiff_error_struct):
17874         (tiff_error_func):
17875         (tiff_warning_func):
17876         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17877
17878         * unexmips.c:
17879         * unexhp9k3.c:
17880         * unexfreebsd.c:
17881         * unexec.c: Remove vestigial Lucid C code.
17882         * unexalpha.c:
17883         * unexaix.c:
17884         * termcap.c:
17885         * libsst.c: Ansify.
17886         Remove declarations of errno and strerror().
17887
17888         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17889
17890         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17891
17892 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17893
17894         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17895         Optimize.
17896
17897 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17898
17899         * md5.c:
17900         * file-coding.c:
17901         * file-coding.h:
17902         Change enum eol_type to eol_type_t.
17903
17904 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17905
17906         * gui.c (get_gui_callback): Check cons before accessing car.
17907
17908 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17909
17910         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17911         (XSETSPECIFIER_TYPE): Ditto.
17912
17913 2000-01-17  Didier Verna  <didier@xemacs.org>
17914
17915         * redisplay.c (generate_fstring_runes): compute string size in
17916         characters, not bytes.
17917
17918 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17919
17920         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17921
17922 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17923
17924         * print.c (print_error_message): Call print_prepare().
17925
17926 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17927
17928         * .dbxrc: Renamed from dbxrc.
17929
17930         * events.c (event_to_character):
17931         Use `assert (foo)' instead of `if (!foo) abort()'
17932
17933         * .gdbinit (xtype): Add documentation.
17934         * .gdbinit (check-temacs): New function.
17935         * .gdbinit (check-xemacs): New function.
17936         * dbxrc (check-xemacs): New function.
17937         * dbxrc (check-xemacs): New function.
17938
17939 2000-01-14  Andy Piper  <andy@xemacs.org>
17940
17941         * glyphs-widget.c (widget_query_geometry): Make sure that we
17942         calculate default dimensions correctly.
17943
17944 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17945
17946         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17947
17948         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17949         pdump_wire'd variable.
17950
17951         * emacs.c: (main_1): Conditionalized calls to
17952         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17953
17954 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17955
17956         * window.c (Fset_window_configuration):
17957         * sysdep.c (_start):
17958         * input-method-motif.c (res):
17959         * event-Xt.c (Xt_process_to_emacs_event):
17960         Simple compiler warning fixes.
17961
17962         * bytecode.c (funcall_compiled_function): Use the original
17963         function symbol on the backtrace list in preference to the
17964         compiled_function object in error messages.
17965
17966 2000-01-13  Andy Piper  <andy@xemacs.org>
17967
17968         * glyphs-x.c (update_widget_face): Make sure we update the widget
17969         background as well as foreground.
17970
17971 2000-01-13  Andy Piper  <andy@xemacs.org>
17972
17973         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17974         fields to subwindow.
17975         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17976         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17977         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17978         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17979
17980         * glyphs-widget.c (check_valid_tab_orientation): new function.
17981         (initialize_widget_image_instance): zero orientation and
17982         justification.
17983         (widget_instantiate): pick up orientation.
17984         (tab_control_query_geometry): return appropriate values for
17985         vertical tabs.
17986
17987         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17988         appropriate creation flags for left, right and bottom tabs.
17989
17990         * s/cygwin32.h: add tab definitions.
17991
17992 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17993
17994         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17995         frame upon hiding a subwindow.
17996         (mswindows_button_instantiate): Changed the push button style to
17997         BS_PUSHBUTTON.
17998         (mswindows_button_instantiate): Removed button BS_NOTIFY
17999         style.
18000         (mswindows_button_instantiate): Removed redundant check for
18001         a disabled gui item.
18002         (mswindows_button_instantiate): Made use of WS_TABSTOP
18003         consistent: "operable" controls (edit, button, tree, scroll) have
18004         this style, "display-only" ones (static, progress gauge) do
18005         not. This style is currently ignored by XEmacs though. Also,
18006         removed the WS_EX_CONTROLPARENT style - it is not for children,
18007         it is for their parents!
18008         (mswindows_edit_field_instantiate): Ditto.
18009         (mswindows_progress_gauge_instantiate): Ditto.
18010         (mswindows_tree_view_instantiate): Ditto.
18011         (mswindows_tab_control_instantiate): Ditto.
18012         (mswindows_scrollbar_instantiate): Ditto.
18013         (mswindows_combo_box_instantiate): Ditto.
18014         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
18015         style to the "clip" window.
18016         (mswindows_button_instantiate): Removed compilation warning by
18017         equally typing terms of the ?: operator.
18018
18019 2000-01-12  Didier Verna  <didier@xemacs.org>
18020
18021         * redisplay.c (generate_fstring_runes): new parameter holding the
18022         last modeline-format extent.
18023         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
18024         extent, fill the glyph block with it.
18025         (generate_fstring_runes): handle these parameters.
18026         (generate_formatted_string_db): ditto.
18027
18028         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18029         glyphs'extents in the modeline.
18030
18031 1999-01-11  Mike Woolley  <mike@bulsara.com>
18032
18033         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18034         256Mb, as a workaround for the non-starting problem many people
18035         have experienced.
18036
18037 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18038
18039         * console-tty.c (Fset_console_tty_output_coding_system):
18040         Force redrawing tty frame.
18041
18042 2000-01-10  Didier Verna  <didier@xemacs.org>
18043
18044         * redisplay.c (generate_fstring_runes): fix size computation bug.
18045
18046 2000-01-09  William M. Perry <wmperry@aventail.com>
18047
18048         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18049
18050 2000-01-09  Andy Piper  <andy@xemacs.org>
18051
18052         * glyphs-msw.c: index -> i to avoid shadows.
18053         (xbm_create_bitmap_from_data): make static.
18054         (check_valid_string_or_int): deleted.
18055         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18056
18057         * glyphs-x.c (x_update_subwindow): remove unused args.
18058
18059         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18060         back pointer - this is done in allocate_image_instance.
18061         (query_string_font): return Qnil to make the compiler happy.
18062         (unmap_subwindow): set to ~0 to make the compiler happy.
18063         (glyph_query_geometry): comment out until used.
18064         (glyph_layout): ditto.
18065
18066 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18067
18068         * insdel.c (signal_after_change): Remove extraneous unbind_to().