update.
[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 2007-10-07  Vin Shelton  <acs@xemacs.org>
5982
5983         * XEmacs 21.4.21 is released
5984
5985 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
5986
5987         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
5988
5989 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
5990
5991         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
5992         (png_instantiate): Initialize setjmp_buffer early, and avoid
5993         recursive entry to error handler.
5994
5995 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
5996
5997         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
5998         a typo fix.
5999
6000 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
6001
6002         * event-Xt.c (x_reset_modifier_mapping):
6003         * event-gtk.c (gtk_reset_modifier_mapping):
6004         Zero out the device's modifier map once we've freed it, to prevent
6005         a double free on a re-entrant call. 
6006
6007 2007-05-17  Vin Shelton  <acs@xemacs.org>
6008
6009         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
6010         64-bit linux.  Patch from Hans de Graaff.
6011
6012 2007-05-02  Vin Shelton  <acs@xemacs.org>
6013
6014         * dumper.c (pdump): Don't close pdump_fd (already closed by
6015         fclose() call.  Patch from Steve Higham.
6016         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
6017         already closed.  Patch inspired by Steve Higham.
6018
6019 2007-05-01  Vin Shelton  <acs@xemacs.org>
6020
6021         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
6022         (mswindows_fstat): Ditto.
6023         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
6024
6025 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
6026
6027         * postgresql.c: Update Steve Baur's email address by his request.
6028         * postgresql.h: Ditto.
6029
6030 2007-01-04  Vin Shelton  <acs@xemacs.org>
6031
6032         * fileio.c (check_writable): Check old-style readonly bit only for
6033         non-directories.
6034
6035 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
6036
6037         * src/fileio.c (check_writable): 
6038         Cope with the fact that the read-only attribute trumps Windows NTFS
6039         ACLS.
6040
6041
6042 2006-12-09  Vin Shelton  <acs@xemacs.org>
6043
6044         * XEmacs 21.4.20 is released
6045
6046 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6047
6048         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6049         relocated the definitions to be used sooner in file.
6050         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6051         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6052         overflow.
6053
6054 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6055
6056         * sound.c (init_native_sound):
6057         Only X11 and GTK devices can possibly not be on the console of the
6058         associated machine. Fixes a crash when init_native_sound is called
6059         on a msprinter device. 
6060
6061 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6062
6063         * buffer.c (buffer-file-name): Document invariant.
6064         (buffer-file-truename): Sync wording to buffer-file-name.
6065         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6066         and discussion.
6067
6068 2006-11-19  Benson Margulies  <benson@dchbk.us>
6069
6070         * fileio.c: Add code to use full Win32 API to check for write
6071         access.  Win32 has the general design policy that you aren't
6072         supposed to ask this question, since security checks change
6073         depending on asynchronous processes.  Nonetheless, there is a way,
6074         by acting as if we are a server doing interpretive access
6075         control.
6076
6077 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6078
6079         * bytecode.c: Use xnew_array instead of alloca.
6080
6081 2006-07-04  Vin Shelton  <acs@xemacs.org>
6082
6083         * redisplay-msw.c: Fix tiny, but crucial typo.
6084
6085 2006-06-22  Jerry James  <james@xemacs.org>
6086
6087         * EmacsShell-sub.c (ChangeManaged):
6088         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6089         NULL.
6090         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6091         checking if it is NULL.  Also fix a memory leak.
6092         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6093         dereference it, not the other way around.
6094         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6095         overflow check.
6096         * dumper.c (pdump_register_struct): Ditto.
6097         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6098         to (short) warnpath overflow warnpath.
6099         * extents.c (detach_all_extents): Call extent_list_delete_all with
6100         a non-NULL parameter only.
6101         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6102         NULL width and height.
6103         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6104         xic before checking if they are NULL.
6105         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6106         allocated array.
6107         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6108         * nas.c (Err): Fix a memory leak.
6109         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6110         Don't create the buffer if there is nothing to do.
6111         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6112         * redisplay-output.c (redisplay_output_layout): Ditto.
6113         * redisplay-tty.c (tty_output_display_block): Ditto.
6114         * redisplay-x.c (x_output_display_block): Ditto.
6115         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6116         dereference instance->scrollbar_data if it is NULL.
6117         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6118         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6119         for sb->scrollbar_data.
6120         * sound.c (init_native_sound): Avoid a buffer overflow by
6121         allocating a buffer with the appropriate size.
6122
6123 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6124
6125         * EmacsShell-sub.c (RootGeometryManager):
6126         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6127         Based on a suggestion by Francois L'Archeveque.
6128
6129 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6130
6131         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6132         current values found in GNU Emacs.
6133
6134 2006-03-17  Vin Shelton  <acs@xemacs.org>
6135
6136         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6137         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6138
6139         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6140         'hex_initialized' because it conflicts with 'initialized' in
6141         lisp.h.
6142
6143 2006-01-28  Vin Shelton  <acs@xemacs.org>
6144
6145         * XEmacs 21.4.19 is released
6146
6147 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6148
6149         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6150
6151 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6152
6153         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6154         5000 to INT_MAX.
6155
6156 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6157
6158         * database.c: Suppress compiler warning under Cygwin.
6159         * database.c: Removed __FreeBSD__ check, should be handled by
6160         HAVE_U_xxx_T defines.
6161
6162 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6163
6164         * console.c (stuff_buffered_input): Compile body only if
6165         HAVE_TTY.
6166
6167 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6168
6169         * callproc.c: #include sysdir.h, so that any appropriate Mule
6170         magic happens with the chdir() call when calling a subprocess. 
6171
6172 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6173
6174         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6175         * mule-ccl.c: Check that a character set exists before using it
6176         to create a character. 
6177
6178 2005-12-06  Vin Shelton  <acs@xemacs.org>
6179
6180         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6181         to INT_MAX.
6182
6183 2005-12-03  Vin Shelton <acs@xemacs.org>
6184
6185         * XEmacs 21.4.18 is released
6186
6187 2005-11-27  Kean Johnston <kean@armory.com>
6188
6189         * redisplay-tty.c (set_tty_modes):
6190         (reset_tty_modes): disable auto-margins if the terminal supports
6191         them.
6192         (init_tty_for_redisplay): fix cursor shape.
6193
6194 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6195
6196         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6197         for control-1 characters properly, both when reading multibyte
6198         characters and writing them. 
6199
6200 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6201
6202         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6203         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6204         were seeing with incremental selection transfer failing. 
6205
6206 2005-11-26  Vin Shelton  <acs@xemacs.org>
6207
6208         * callproc.c (Fold_call_process_internal): Create the buffer if it
6209         does not already exist.  The original patch came from Ben Wing in
6210         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6211
6212 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6213
6214         * callproc.c: Process-related docstring improvements spurred by
6215         Norbert Koch.
6216
6217 2005-11-25  Vin Shelton  <acs@xemacs.org>
6218
6219         * depend: Regenerated.
6220
6221 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6222
6223         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6224         says it clashes with a global with the same name.
6225
6226 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6227
6228         * sysdll.c (dll_open): Under MacOS X return NULL under the
6229         filename is NULL.  Fixes problems finding local symbols under 10.4
6230         (Tiger)
6231
6232 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6233         
6234         * config.h.in: New HAVE_U_INT*_T defines.
6235         
6236         * database.c: Only use u_int*_t typedefs if not already
6237         defined.
6238
6239 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6240
6241         * src/process-unix.c (unix_open_network_stream): moved
6242           'portbuf' buffer out of an inner block as it is used in the
6243           entire function. With gcc4, the stack may get corrupted
6244           after leaving this block. This patches adjusts the size of
6245           the used buffer also; static '128' bytes are far too much
6246           currently and might not suffice for future architectures
6247           (e.g. for 512 bit ones ;)). Instead of, use only the really
6248           required space (max octets * ln(256)/ln(10) chars + space
6249           for '\0' and the sign)
6250
6251 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6252
6253         * callproc.c: Include sysdir.h, so any necessary Mule processing
6254         is done on the current directory name before starting a new
6255         process.
6256
6257 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6258
6259         * chartab.c (Fchar_table_p):
6260         (Fget_range_char_table):
6261         (Fput_char_table):
6262         (Fmap_char_table):
6263         Describe range representation and fix typo.
6264
6265 2005-02-12  Vin Shelton  <acs@xemacs.org>
6266
6267         * emacs.c (shut_down_emacs): Advise users to send email to the
6268         xemacs-beta list instead of crashes@xemacs.org.
6269
6270 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6271
6272         * process-unix.c (unix_send_process): Flush the last chunk, even
6273         when the pipe is blocked.
6274
6275 2005-02-06  Vin Shelton <acs@xemacs.org>
6276
6277         * XEmacs 21.4.17 is released
6278
6279 2005-01-31  Ben Wing  <ben@xemacs.org>
6280
6281         * emacs.c:
6282         Define assert_failed() always.
6283         * lisp.h:
6284         Always define ABORT().
6285
6286 2005-01-25  Ben Wing  <ben@xemacs.org>
6287
6288         * Makefile.in.in:
6289         * Makefile.in.in (%.o):
6290         Don't compile executable as Windows (-mwindows) under Cygwin.
6291         Semi-recent changes to Cygwin's executable-startup handling make
6292         it impossible to access the TTY this way.
6293
6294         Don't use special linker file under Cygwin (cygwin.sc) except
6295         when non-PDUMP (even in this case it is highly questionable); you
6296         get errors like
6297
6298       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6299    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6300
6301 2005-01-29  Ben Wing  <ben@xemacs.org>
6302
6303         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6304
6305         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6306
6307 2005-01-29  Ben Wing  <ben@xemacs.org>
6308
6309         * bytecode.c (optimize_compiled_function):
6310         * print.c (FROB):
6311         * print.c (long_to_string):
6312         Add casts to avoid warning.
6313         
6314         * glyphs-eimage.c:
6315         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6316         #### The better solution is to move the TIFF and JPEG code to
6317         different files.
6318         
6319         * glyphs-msw.c (mswindows_xbm_instantiate):
6320         Define __STDC__ to avoid problems with compface.h.
6321         
6322         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6323         * EmacsShell-sub.c:
6324         * EmacsShell-sub.c (ABORT):
6325         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6326         * EmacsShell-sub.c (RootGeometryManager):
6327         * EmacsShell.c:
6328         * EmacsShell.c (ABORT):
6329         * EmacsShell.c (EmacsShellUpdateSizeHints):
6330         * alloc.c (free_lcrecord):
6331         * alloca.c (i00afunc):
6332         * buffer.c (delete_from_buffer_alist):
6333         * buffer.c (MARKED_SLOT):
6334         * bytecode.c (execute_rare_opcode):
6335         * bytecode.c (optimize_byte_code):
6336         * bytecode.c (Ffetch_bytecode):
6337         * chartab.c (char_table_type_to_symbol):
6338         * chartab.c (Freset_char_table):
6339         * chartab.c (decode_char_table_range):
6340         * chartab.c (Fget_range_char_table):
6341         * chartab.c (check_valid_char_table_value):
6342         * chartab.c (map_char_table):
6343         * chartab.c (slow_map_char_table_fun):
6344         * chartab.c (chartab_instantiate):
6345         * cm.c (cmcheckmagic):
6346         * console-msw.c (DHEADER):
6347         * console.c (MARKED_SLOT):
6348         * data.c (finish_marking_weak_lists):
6349         * data.c (encode_weak_list_type):
6350         * debug.h (DASSERT):
6351         * device-gtk.c (gtk_init_device):
6352         * device-msw.c (mswindows_get_default_margin):
6353         * device-tty.c (tty_init_device):
6354         * device-x.c (get_device_from_display):
6355         * device-x.c (x_get_visual_depth):
6356         * doprnt.c (parse_doprnt_spec):
6357         * doprnt.c (get_doprnt_args):
6358         * dumper.c (pdump_get_indirect_count):
6359         * dumper.c (pdump_register_sub):
6360         * dumper.c (pdump_register_object):
6361         * dumper.c (pdump_register_struct):
6362         * dumper.c (pdump_dump_data):
6363         * dumper.c (pdump_reloc_one):
6364         * elhash.c (print_hash_table):
6365         * elhash.c (make_standard_lisp_hash_table):
6366         * elhash.c (hash_table_instantiate):
6367         * emacs.c:
6368         * emacs.c (Fforce_debugging_signal):
6369         * emacs.c (sort_args):
6370         * emacs.c (main):
6371         * emacs.c (assert_failed):
6372         * eval.c (throw_or_bomb_out):
6373         * eval.c (signal_1):
6374         * eval.c (Fsignal):
6375         * event-Xt.c:
6376         * event-Xt.c (emacs_Xt_mapping_action):
6377         * event-Xt.c (Xt_process_to_emacs_event):
6378         * event-msw.c:
6379         * event-stream.c (check_event_stream_ok):
6380         * event-stream.c (Fadd_timeout):
6381         * event-stream.c (Fadd_async_timeout):
6382         * event-stream.c (Fdiscard_input):
6383         * event-stream.c (execute_internal_event):
6384         * event-stream.c (Frecent_keys):
6385         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6386         * event-stream.c (lookup_command_event):
6387         * event-unixoid.c (poll_fds_for_input):
6388         * events.c:
6389         * events.c (mark_event):
6390         * events.c (event_equal):
6391         * events.c (event_hash):
6392         * events.c (Fmake_event):
6393         * events.c (Fdeallocate_event):
6394         * events.c (event_chain_find_previous):
6395         * events.c (event_to_character):
6396         * events.c (format_event_object):
6397         * events.c (Fevent_type):
6398         * events.c (event_pixel_translation):
6399         * events.c (Fevent_properties):
6400         * extents.c (extent_in_region_p):
6401         * extents.c (print_extent):
6402         * extents.c (process_extents_for_insertion_mapper):
6403         * extents.c (report_extent_modification_mapper):
6404         * extents.c (glyph_layout_to_symbol):
6405         * faces.c (face_validate):
6406         * file-coding.c (eol_type_to_symbol):
6407         * file-coding.c (subsidiary_coding_system):
6408         * file-coding.c (Fcoding_system_type):
6409         * file-coding.c (Fcoding_system_property):
6410         * file-coding.c (mule_decode):
6411         * file-coding.c (mule_encode):
6412         * file-coding.c (encode_coding_ucs4):
6413         * file-coding.c (encode_coding_utf8):
6414         * file-coding.c (parse_iso2022_esc):
6415         * file-coding.c (encode_coding_iso2022):
6416         * fileio.c:
6417         * fns.c (concat):
6418         * fns.c (Fsubseq):
6419         * fns.c (mapcar1):
6420         * fns.c (Fbase64_encode_region):
6421         * fns.c (Fbase64_encode_string):
6422         * fns.c (Fbase64_decode_region):
6423         * fns.c (Fbase64_decode_string):
6424         * font-lock.c (find_context):
6425         * font-lock.c (context_to_symbol):
6426         * frame-gtk.c (gtk_set_frame_pointer):
6427         * frame-gtk.c (gtk_update_frame_external_traits):
6428         * frame-x.c (x_wm_mark_shell_size_user_specified):
6429         * frame-x.c (x_wm_mark_shell_position_user_specified):
6430         * frame-x.c (x_wm_set_shell_iconic_p):
6431         * frame-x.c (x_wm_set_cell_size):
6432         * frame-x.c (x_wm_set_variable_size):
6433         * frame-x.c (x_wm_store_class_hints):
6434         * frame-x.c (x_wm_maybe_store_wm_command):
6435         * frame-x.c (x_initialize_frame_size):
6436         * frame-x.c (x_update_frame_external_traits):
6437         * frame.c:
6438         * frame.c (delete_frame_internal):
6439         * frame.c (mouse_pixel_position_1):
6440         * frame.c (change_frame_size_1):
6441         * free-hook.c (check_free):
6442         * free-hook.c (check_realloc):
6443         * free-hook.c (note_block_input):
6444         * free-hook.c (log_gcpro):
6445         * gccache-gtk.c (gc_cache_lookup):
6446         * glyphs-eimage.c (tiff_memory_write):
6447         * glyphs-gtk.c (gtk_finalize_image_instance):
6448         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6449         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6450         * glyphs-gtk.c (gtk_xpm_instantiate):
6451         * glyphs-gtk.c (gtk_unmap_subwindow):
6452         * glyphs-gtk.c (gtk_map_subwindow):
6453         * glyphs-gtk.c (gtk_button_redisplay):
6454         * glyphs-msw.c:
6455         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6456         * glyphs-x.c (init_image_instance_from_xbm_inline):
6457         * glyphs-x.c (extract_xpm_color_names):
6458         * glyphs-x.c (x_xpm_instantiate):
6459         * glyphs.c (get_image_instantiator_governing_domain):
6460         * glyphs.c (print_image_instance):
6461         * glyphs.c (image_instance_equal):
6462         * glyphs.c (image_instance_hash):
6463         * glyphs.c (encode_image_instance_type):
6464         * glyphs.c (make_image_instance_1):
6465         * glyphs.c (inherit_instantiate):
6466         * glyphs.c (image_instantiate):
6467         * glyphs.c (allocate_glyph):
6468         * glyphs.c (Fglyph_type):
6469         * glyphs.c (redisplay_subwindow):
6470         * glyphs.c (display_table_entry):
6471         * gtk-glue.c (xemacs_list_to_gtklist):
6472         * gtk-glue.c (xemacs_gtklist_to_list):
6473         * gtk-glue.c (xemacs_list_to_array):
6474         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6475         * gutter.c (gutter_was_visible):
6476         * gutter.c (get_gutter_coords):
6477         * input-method-xlib.c (get_XIM_input):
6478         * insdel.c (bufpos_to_bytind_func):
6479         * insdel.c (bytind_to_bufpos_func):
6480         * insdel.c (move_gap):
6481         * intl.c (x_get_composed_input):
6482         * keymap.c (keymap_lookup_directly):
6483         * keymap.c (keymap_delete_inverse_internal):
6484         * keymap.c (ensure_meta_prefix_char_keymapp):
6485         * keymap.c (accessible_keymaps_mapper_1):
6486         * keymap.c (where_is_recursive_mapper):
6487         * lisp.h:
6488         * lisp.h (ABORT):
6489         * lread.c (read_atom):
6490         * lstream.c (Lstream_delete):
6491         * lstream.c (make_lisp_buffer_stream_1):
6492         * macros.c (pop_kbd_macro_event):
6493         * malloc.c (malloc):
6494         * malloc.c (free):
6495         * marker.c (bi_marker_position):
6496         * marker.c (set_bi_marker_position):
6497         * menubar-gtk.c (menu_descriptor_to_widget_1):
6498         * menubar-msw.c (prune_menubar):
6499         * menubar-x.c (set_frame_menubar):
6500         * mule-charset.c (get_unallocated_leading_byte):
6501         * mule-charset.h (CHAR_LEADING_BYTE):
6502         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6503         * nt.c (init_environment):
6504         * nt.c (generate_inode_val):
6505         * ntproc.c (delete_child):
6506         * ntproc.c (_sys_read_ahead):
6507         * ntproc.c (create_child):
6508         * objects.c (color_instantiate):
6509         * objects.c (font_instantiate):
6510         * objects.c (face_boolean_instantiate):
6511         * print.c (printing_major_badness):
6512         * process-nt.c (nt_send_process):
6513         * process-unix.c (unix_send_process):
6514         * process.c (get_process):
6515         * ralloc.c (obtain):
6516         * ralloc.c (relinquish):
6517         * ralloc.c (relocate_blocs):
6518         * ralloc.c (resize_bloc):
6519         * ralloc.c (r_alloc_free):
6520         * ralloc.c (r_re_alloc):
6521         * ralloc.c (r_alloc_thaw):
6522         * ralloc.c (init_ralloc):
6523         * ralloc.c (Free_Addr_Block):
6524         * ralloc.c (r_alloc):
6525         * redisplay-gtk.c (gtk_output_display_block):
6526         * redisplay-msw.c (mswindows_output_display_block):
6527         * redisplay-output.c (get_next_display_block):
6528         * redisplay-output.c (get_cursor_size_and_location):
6529         * redisplay-output.c (redisplay_output_layout):
6530         * redisplay-output.c (redisplay_clear_region):
6531         * redisplay-tty.c (tty_output_display_block):
6532         * redisplay-x.c (x_output_display_block):
6533         * redisplay.c (add_propagation_runes):
6534         * redisplay.c (add_glyph_rune):
6535         * redisplay.c (create_text_block):
6536         * redisplay.c (add_margin_runes):
6537         * redisplay.c (create_left_glyph_block):
6538         * redisplay.c (create_right_glyph_block):
6539         * redisplay.c (create_string_text_block):
6540         * redisplay.c (regenerate_window):
6541         * redisplay.c (REGEN_INC_FIND_START_END):
6542         * redisplay.c (redisplay_frame):
6543         * redisplay.c (point_in_line_start_cache):
6544         * regex.c:
6545         * regex.c (ABORT):
6546         * regex.c (re_compile_fastmap):
6547         * regex.c (re_match_2_internal):
6548         * regex.c (regerror):
6549         * scrollbar-gtk.c (gtk_scrollbar_loop):
6550         * scrollbar-gtk.c (scrollbar_cb):
6551         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6552         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6553         * scrollbar-x.c (x_update_scrollbar_instance_status):
6554         * scrollbar-x.c (x_scrollbar_loop):
6555         * scrollbar-x.c (x_update_frame_scrollbars):
6556         * search.c (search_command):
6557         * search.c (Fmatch_data):
6558         * select-x.c (motif_clipboard_cb):
6559         * signal.c (interrupt_signal):
6560         * specifier.c (specifier_add_spec):
6561         * specifier.c (specifier_instance_from_inst_list):
6562         * specifier.c (specifier_instance):
6563         * specifier.h:
6564         * specifier.h (struct specifier_methods):
6565         * strftime.c (add_num_time_t):
6566         * sunplay.c (init_device):
6567         * symbols.c (Fsetplist):
6568         * symbols.c (do_symval_forwarding):
6569         * symbols.c (store_symval_forwarding):
6570         * symbols.c (Fset):
6571         * symbols.c (Fbuilt_in_variable_type):
6572         * symbols.c (decode_magic_handler_type):
6573         * symbols.c (handler_type_from_function_symbol):
6574         * syntax.c (update_syntax_cache):
6575         * sysdep.c (init_baud_rate):
6576         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6577         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6578         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6579         * toolbar.c (get_toolbar_coords):
6580         * ui-gtk.c (build_gtk_boxed):
6581         * ui-gtk.c (describe_gtk_arg):
6582         * ui-gtk.c (gtk_type_to_lisp):
6583         * ui-gtk.c (lisp_to_gtk_type):
6584         * ui-gtk.c (lisp_to_gtk_ret_type):
6585         * ui-gtk.c (lisp_to_flag):
6586         * unexnt.c (read_in_bss):
6587         * unexnt.c (map_in_heap):
6588         * window.c (real_window):
6589         * window.c (window_display_lines):
6590         * window.c (window_display_buffer):
6591         * window.c (set_window_display_buffer):
6592         * window.c (window_modeline_height):
6593         * window.c (unshow_buffer):
6594         * window.c (window_loop):
6595         * window.c (Fget_lru_window):
6596         * window.c (Fsplit_window):
6597         * window.c (Fset_window_configuration):
6598         * window.c (saved_window_index):
6599         * xgccache.c (gc_cache_lookup):
6600         abort() -> ABORT().  Eliminate preprocessor games with abort()
6601         since it creates huge problems in VC7, solvable only by including
6602         massive amounts of files in every compile (and not worth it).
6603
6604         * sysdep.c:
6605         * sysproc.h:
6606         Inclusion of process.h does not need to be before lisp.h any more.
6607         Move later and remove comment about abort().
6608
6609 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6610
6611         * regex.c (re_match_2_internal):
6612         Correctly initialize loop which clears uninitialized registers.
6613
6614 2005-01-28  Vin Shelton  <acs@xemacs.org>
6615
6616         * sheap.c (more_static_core): Applied Ben's version of the long
6617         string patch.
6618
6619 2005-01-24  Vin Shelton  <acs@xemacs.org>
6620
6621         * sheap.c (more_static_core): Reformatted printf string so
6622         gcc-3.3.3 will compile this on Cygwin.
6623
6624 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6625
6626         * console.c (function_key_map): Reference `key-binding'.
6627
6628         * keymap.c (Vkey_translation_map): Improve docstring.
6629
6630 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6631
6632         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6633         * window.c (window_loop): [fix] Take into account
6634         `allow-deletion-of-last-visible-frame' variable.
6635         * window.c (replace-buffer-in-windows): Ditto.
6636
6637 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6638
6639         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6640
6641 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6642
6643         * event-gtk.c: Recognise AltGr as a valid modifier.
6644
6645 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6646
6647         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6648
6649 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6650
6651         Fix backreference bug caught by test suite.
6652
6653         * regex.c (regex_compile):
6654         Make backref duplicate internal register.
6655
6656 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6657
6658         Documentation, code clarification, and warning suppression.
6659         
6660         * regex.c (regex_compile):
6661         Improve comments.
6662         (re_match_2_internal):
6663         Improve comments and avoid redundant braces.  [Most of the big hunk
6664         at l. 4710 is indentation; use diff -w to see the real changes.]
6665         (alt_match_null_string_p):
6666         (common_op_match_null_string_p):
6667         Avoid shadowing global on Mac OS X 10.4, at least.
6668
6669 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6670
6671         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6672         introduced with shy groups fix).  [Already applied, probably
6673         with the second "fix shy groups" patch of 2004-10-07.] 
6674
6675 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6676
6677         From Andrey Slusar <anrays@gmail.com>:
6678
6679         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6680
6681 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6682
6683         * Makefile (RECURSIVE_MAKE): Removed.
6684         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6685         handling parallel builds.
6686
6687 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6688
6689         * Makefile.in.in: Enable support for parallel builds.
6690
6691 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6692
6693         From Andrey Slusar <anrays@gmail.com>:
6694
6695         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6696         FreeBSD version is >= 199701 _and_ < 600006.
6697
6698 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6699
6700         * scrollbar.c (compute_scrollbar_instance_usage):
6701         Only call device method compute_scrollbar_instance_usage() if it
6702         is defined.
6703
6704 2004-12-05  Vin Shelton <acs@xemacs.org>
6705
6706         * XEmacs 21.4.16 is released
6707
6708 2004-12-04  Vin Shelton  <acs@xemacs.org>
6709
6710         * depend: Regenerated.
6711
6712 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6713
6714         * regex.c (re_match_2_internal): Map internal to external
6715         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6716         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6717
6718 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6719
6720         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6721         to fix a crash.  Also, check the buffer is live and it
6722         really exists in buffer_list.  If the buffer is not in the list,
6723         prepend it.
6724
6725 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6726
6727         Fix shy groups by implementing recording of all groups for
6728         repetition and backtracking.  Backport from 21.5.
6729         
6730         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6731         external_to_internal_register, external_to_internal_register_size,
6732         and update comments for re_nsub.
6733
6734         * regex.c (re_opcode_t): Update comments.
6735         (print_compiled_pattern): Ouput external_to_internal_register,
6736         external_to_internal_register_size, and re_ngroups for debugging.
6737         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6738         (regex_compile): Update header comment.
6739         Ensure that all groups are recorded so that repeat matches and
6740         backtracking work correctly.  Comment related warning for groups >
6741         255.
6742         (re_search_2): Construct map of API indexes (which count only
6743         nonshy groups) to internal register numbers, and keep it updated.
6744
6745 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6746
6747         * frame-gtk.c (gtk_make_frame_visible):
6748         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6749         show/hide.  This is what X uses and is prevents previously hidden
6750         widgets from suddenly reappearing.
6751         * gtk-xemacs.c (gtk_xemacs_paint):
6752         * gtk-xemacs.c (gtk_xemacs_draw):
6753         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6754         drawable.
6755         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6756         size and location changes so that they can be seen before the next
6757         idle event.  Without this rapid changes to scrollbar properties
6758         are not seen.
6759
6760 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6761
6762         * console-gtk.h:
6763         * console-gtk.h (struct gtk_frame):
6764         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6765           Add hash tables track tab_control callback data.
6766           Added #defines for GTK object data names.
6767           Declaration of gtk_widget_to_frame().
6768         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6769         * frame-gtk.c (gtk_widget_to_frame): New.
6770         * frame-gtk.c (gtk_create_widgets):
6771         * frame-gtk.c (allocate_gtk_frame_struct):
6772         * frame-gtk.c (gtk_mark_frame):
6773         Manage frame callbakc hash tables.
6774         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6775         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6776         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6777         of widget size.
6778         * glyphs-gtk.c (gtk_widget_query_geometry): New
6779         * glyphs-gtk.c (gtk_register_gui_item): New
6780         * glyphs-gtk.c (gtk_add_tab_item): New
6781         * glyphs-gtk.c (gtk_tab_control_callback): New
6782         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6783         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6784         Use correct list when loading item.
6785         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6786         Register new methods.
6787         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6788         default size, for widgets.
6789         * gui-x.c:  Improved comment.
6790         * menubar-gtk.c (__generic_button_callback): Use
6791         gtk_widget_to_frame instead of __get_channel.
6792         * scrollbar-gtk.c:
6793         * ui-gtk.c: Use symbolic names for GTK object data.
6794
6795 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6796
6797         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6798
6799 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6800
6801         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6802
6803 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6804
6805         * malloc.c (morecore): siz is a long because in some architectures
6806         (eg ia-64) an int cannot hold the address range.  Additional patch
6807         from the SuSe distribution.
6808
6809 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6810
6811         * emacs.c:
6812         * malloc.c: lim_data is a long because in some architectures
6813         (eg ia-64) an int cannot hold the address range.
6814         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6815         instead of ulimit() because ulimit() always returns -1.
6816
6817 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6818
6819         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6820
6821 2004-06-11  David Kastrup  <dak@gnu.org>
6822
6823         * search.c (match_limit): Don't flag an error if match-data
6824         exceeding the allocated search_regs.num_regs gets requested, just
6825         return Qnil.
6826
6827 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6828
6829         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6830         replace symbolic color entries with the real colors specified in
6831         xpm-color-symbols, before passing the XPM to gtk.
6832         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6833         instead of a GTK specific field, so that it is used in by generic
6834         code.
6835
6836 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6837
6838        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6839         coredump from deref of NULL ptr (ExtData)
6840
6841 2004-04-19  Jerry James  <james@xemacs.org>
6842
6843         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6844         VALBITS to compute the location of the sign bit.
6845         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6846         of VALBITS with EMACS_INT_MAX.
6847         * events.c (Fevent_timestamp): Ditto.
6848         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6849         compute the halfway point to timestamp wraparound.
6850         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6851         EMACS_INT_MIN instead of using VALBITS.
6852         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6853         incorrect number with VALBITS.
6854         * fns.c (Frandom): Correct number of integer bits in docstring.
6855         Use INT_VALBITS instead of VALBITS to compute the denominator.
6856         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6857         build random numbers.
6858
6859 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6860         * event-gtk.c:
6861         * event-gtk.c (gtk_event_to_emacs_event):
6862         * menubar-gtk.c:
6863         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6864         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6865         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6866         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6867         * menubar-gtk.c (__activate_menu):
6868         * menubar-gtk.c (convert_underscores):
6869         * menubar-gtk.c (remove_underscores):
6870         * menubar-gtk.c (menu_convert):
6871         * menubar-gtk.c (menu_descriptor_to_widget_1):
6872         * menubar-gtk.c (menu_descriptor_to_widget):
6873         * menubar-gtk.c (menu_can_reuse_widget):
6874         * menubar-gtk.c (menu_create_menubar):
6875         * menubar-gtk.c (gtk_popup_menu):
6876         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6877         Added support for Gtk menu bar and menu item mnemonics.
6878
6879 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6880
6881         * sysdll.c: (dll_function): Added support for finding symbols in
6882         Darwin shared libraries as well in Darwin bundles.
6883         * sysdll.c (image_for_address): New
6884         * sysdll.c (my_find_image): New
6885         * sysdll.c (search_linked_libs): New
6886
6887 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6888
6889         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6890         return to GTK requires a different API to marshalling data to use
6891         as GTK parameters.
6892         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6893
6894 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6895
6896         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6897
6898 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6899
6900         * glyphs.c (process_image_string_instantiator):
6901         (Fset_console_type_image_conversion_list):
6902         Stop GCC from warning about shadowing of `exp'.
6903
6904         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6905
6906 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6907
6908         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6909
6910 2004-02-03  Vin Shelton  <acs@xemacs.org>
6911
6912         * glyphs.c (image_instance_layout): Remove pointless assertion.
6913         * regex.c (regex_grow_registers): Return type is void.
6914
6915 2004-02-02  Vin Shelton <acs@xemacs.org>
6916
6917         * XEmacs 21.4.15 is released
6918
6919 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6920
6921         * device-x.c (x_error_handler): Don't call stderr_out
6922
6923 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6924
6925         * buffer.c (other-buffer): Clarify documentation of order of
6926         arguments for FSF Emacs.
6927
6928 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6929
6930         * window.c (Fdelete_window): Dirty the mirror structure _before_
6931         marking the window deleted.
6932
6933 2003-09-15  Jerry James  <james@xemacs.org>
6934
6935         * event-msw.c (debug_mswin_messages): Conditionally compile
6936         messages missing from the Cygwin headers.
6937
6938 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6939
6940         * data.c (eq_with_ebola_notice): Fix typo in comment.
6941         (Ftrue_list_p): Improve docstring.
6942
6943 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6944
6945         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6946
6947 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6948
6949         * search.c (trivial_regexp_p): Regexps containing "\{" are
6950         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6951         Stefan Monnier for suggesting a diagnosis.
6952
6953 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6954
6955         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6956
6957 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6958
6959         * search.c (Fsearch_forward):
6960         (Fsearch_backward):
6961         Document negative count.
6962
6963 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6964
6965         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6966
6967 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6968
6969         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6970
6971 2003-09-15  Vin Shelton  <acs@xemacs.org>
6972
6973         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6974         21.5.
6975
6976 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6977
6978         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6979         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6980         (re_match_2_internal): Use TRANSLATE instead of
6981         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6982         non-ASCII char case conversion.
6983
6984 2003-09-08  Mike Sperber  <mike@xemacs.org>
6985
6986         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6987         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6988
6989 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6990
6991        * .gdbinit (pobj): fix printing of symbol name.
6992
6993 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6994
6995         * frame-x.c (x_layout_widgets): When resizing is about to cause
6996         frame size slip, mark it for redisplay.
6997
6998 2003-08-18  Jerry James  <james@xemacs.org>
6999
7000         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
7001
7002 2003-09-03  Vin Shelton <acs@xemacs.org>
7003
7004         * XEmacs 21.4.14 is released
7005
7006 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
7007
7008         * config.h.in (REGEX_MALLOC): Make it configure'able.
7009
7010 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
7011
7012         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
7013         linking.
7014         * sysdll.c (dll_init):
7015         * sysdll.c (dll_open):
7016         * sysdll.c (dll_close):
7017         * sysdll.c (dll_function):
7018         * sysdll.c (dll_variable):
7019         * sysdll.c (dll_error):
7020         Add support for loading bundles using Darwin/MacOSX
7021         native API.
7022
7023 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
7024
7025         * process.c (start-process-internal): Document coding systems.
7026
7027 2003-07-30  Jerry James  <james@xemacs.org>
7028
7029         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
7030
7031 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
7032
7033         * event-msw.c (mswindows_enqueue_mouse_button_event):
7034         * event-msw.c (mswindows_wnd_proc):
7035           enqueue button event when scrollwheel event isn't handled by 
7036           mswindows_handle_mousewheel_event, such as when the scrollbars
7037           are not showing.
7038
7039 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7040
7041         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7042
7043 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7044
7045         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7046
7047 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7048
7049         * regex.c (re_match_2_internal): Fix matching degenerate word
7050         boundaries.
7051
7052 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7053
7054         * XEmacs 21.4.13 is released
7055
7056 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7057
7058         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7059         * lisp.h (<inttypes.h>):
7060         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7061         the definition.
7062
7063 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7064
7065         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7066         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7067         Result: "temacs can only be run in -batch mode."
7068         Fix: Check xemacs executable candidate for directory-ness.
7069
7070 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7071
7072         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7073           they conflict with <sys/types.h>.
7074
7075 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7076
7077         * database.c: Berkeley DB wants __STDC__ to be defined.
7078
7079 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7080
7081         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7082
7083 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7084
7085         * process-unix.c (unix_send_process): Fix C++ compile error.
7086
7087 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7088
7089         * Added .dylib as an acceptable shared library file extension
7090         * to support MacOSX.
7091
7092 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7093
7094         * EmacsFrameP.h (EmacsFramePart):
7095         Kludge to allow compiling with Motif1, but linking with Motif2.
7096
7097 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7098
7099         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7100
7101
7102 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7103
7104         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7105
7106 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7107
7108         * sysdll.c: Included lisp.h to define needed alloca_array.
7109
7110 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7111
7112         Make XEmacs redisplay 10 times faster.
7113         If, that is, you're using a slow X connection and MoveOpaque.
7114         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7115         Use compress_motion = TRUE.
7116         * EmacsFrame.c (emacsFrameClassRec): 
7117         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7118         * EmacsManager.c (emacsManagerClassRec):
7119         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7120
7121 2003-01-30  Vin Shelton  <acs@xemacs.org>
7122
7123         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7124
7125 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7126
7127         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7128         Patch by Martin Buchholz.
7129
7130 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7131
7132         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7133         Thanks to icc for warning and Martin Buchholz for reporting.
7134
7135 2003-01-29  Vin Shelton <acs@xemacs.org>
7136
7137         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7138
7139         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7140         remember to multiply by the element size.
7141
7142 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7143
7144         * XEmacs 21.4.12 "Portable Code" is released.
7145
7146 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7147
7148         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7149         * s/cygwin.sc: new linker file.
7150
7151 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7152
7153         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7154
7155         * redisplay-x.c (x_output_string): Use X11-specified types.
7156         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7157         * emacs.c (__free_hook): Use typeof with Intel compiler.
7158         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7159
7160 2003-01-08  Andy Piper  <andy@xemacs.org>
7161
7162         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7163         reserve size during unexec().
7164
7165 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7166
7167         * process-unix.c (unix_create_process): Don't let outchannel block.
7168
7169 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7170
7171         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7172         Needed for IsBadReadPtr().
7173
7174 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7175
7176         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7177
7178 2002-12-14  Ben Wing  <ben@xemacs.org>
7179
7180         * callint.c: Declaration error.
7181         * dumper.c (pdump):
7182         * dumper.c (pdump_load): Warning fix.
7183         * process.c: GCPRO error.
7184         * glyphs.c (unmap_subwindow):
7185         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7186         * event-stream.c (maybe_kbd_translate): Wrong argument to
7187         character_to_event().
7188
7189         * alloc.c (garbage_collect_1):
7190         * emacs.c:
7191         * emacs.c (debug_can_access_memory):
7192         * emacs.c (fatal_error_signal):
7193         * emacs.c (mswindows_handle_hardware_exceptions):
7194         * emacs.c (main_1):
7195         * emacs.c (main):
7196         * emacs.c (assert_failed):
7197         * emacs.c (syms_of_emacs):
7198         * lisp.h:
7199         * print.c:
7200         * print.c (std_handle_out_va):
7201         * print.c (write_string_to_stdio_stream):
7202         * print.c (write_fmt_string):
7203         * print.c (printing_badness):
7204         * print.c (printing_major_badness):
7205         * print.c (print_internal):
7206         * print.c (debug_print_no_newline):
7207         * print.c (debug_backtrace):
7208         Be more defensive in handling bad values when printing.  Add code
7209         from trunk involving inhibit_non_essential_printing_operations.
7210         When going down or in debug_print(), don't do external conversion
7211         and such and try really, really hard when printing to avoid core
7212         dumping.  Add force-debugging-signal, debug_break().
7213
7214 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7215
7216         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7217         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7218
7219 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7220
7221         * database.c: Fix open_database. Berkeley DB API has changed in
7222         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7223
7224 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7225
7226         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7227
7228 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7229
7230         * event-Xt.c (Xt_timeout):
7231         (Xt_timeout_callback):
7232         (emacs_Xt_add_timeout):
7233         (emacs_Xt_remove_timeout):
7234         (Xt_timeout_to_emacs_event):
7235         Turn completed_timeouts from a stack into a queue.  Fixes
7236         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7237
7238 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7239
7240         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7241         * emacs.c (main): Assert that mmap'd allocation is disabled.
7242
7243 2002-10-14  Andy Piper  <andy@xemacs.org>
7244
7245         * glyphs-widget.c (layout_query_geometry): add in fiddle
7246         factor. Include border text in width layout calculation.
7247         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7248
7249 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7250
7251         * XEmacs 21.4.10 "Military Intelligence" is released.
7252
7253 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7254
7255         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7256         using the NAS private array SoundFileInfo that no longer exists in
7257         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7258         and earlier.  This is broken for some versions between 1.5a and
7259         1.5f.
7260
7261 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7262
7263         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7264
7265         * emacs.c (shut_down_emacs): Improve crash message.
7266
7267 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7268
7269         * file-coding.c (determine_real_coding_system): Check for coding
7270         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7271         shebangs and Python PEP 263.
7272
7273 2002-10-08  Andy Piper  <andy@xemacs.org>
7274
7275         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7276         if static sizes haven't been set.
7277
7278 2002-08-30  Mike Alexander  <mta@arbortext.com>
7279
7280         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7281         to close a socket.
7282
7283 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7284
7285         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7286
7287 2002-09-20  Mike Sperber <mike@xemacs.org>
7288
7289         (This partially gets back my patch from 2002-07-20 without the
7290         bug.)
7291         * callproc.c (child_setup): Remove Ben's comment noting confusion
7292         over the file descriptors >= 3: close_process_descs() doesn't
7293         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7294         * process-unix.c (unix_create_process): Call
7295         begin_dont_check_for_quit to inhibit unwanted interaction (and
7296         thus breaking of X event synchronicity) in the child.
7297
7298 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7299
7300         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7301         widget.
7302
7303 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7304
7305         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7306         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7307         the xemacs process did not exit, but looped infinitely here.  This
7308         fixes that problem.
7309
7310 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7311
7312         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7313         (find_context): Improve comments.
7314
7315         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7316         (re_match_2): An XCHAR_TABLE operation was missing.
7317
7318         Many of the following changes were inspired by Andy Piper's (now
7319         obsolete) patch to make syntax-table text property lookup optional.
7320
7321         [Documentation]
7322
7323         * syntax.h (top level): Document semantics of syntax flags.
7324         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7325         * syntax.c, syntax.h (top level): Document syntax cache better in
7326         comments.
7327
7328         [Instrument syntax caching (temporary change)]
7329
7330         * syntax.h (enum syntax_cache_statistics_functions, struct
7331         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7332         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7333         * syntax.c (scan_words, Fforward_comment, scan_lists,
7334         Fbackward_prefix_characters):
7335         * font-lock.c (find_context):
7336         Use them to instrument syntax caching. 
7337         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7338         syntax_cache_statistics_function_names): New type and variables.
7339         * syntax.c (update_syntax_cache): Update and report statistics.
7340
7341         [Major syntax cache optimizations]
7342
7343         syntax.c (lookup_syntax_properties): Default off.
7344
7345         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7346         * syntax.c (update_syntax_cache):
7347         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7348
7349         [Minor syntax cache optimizations and code clarifications]
7350
7351         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7352         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7353         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7354         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7355         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7356         (Code clarification.)
7357
7358         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7359         scan_lists): Compute code from syncode, use Boolean macros instead
7360         of redundant masking operations.  (Code clarification; any decent
7361         compiler can do this optimization.)
7362
7363         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7364         for clarity.
7365
7366         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7367         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7368         use F*_single_property_change instead of F*_extent_change.
7369         Currently F*_single_property_change is _much_ less efficient.
7370
7371         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7372         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7373         syntax_cache.object properly, don't leave Qt or Qnil.
7374         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7375         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7376         tests for Qt or Qnil.
7377
7378 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7379
7380         * redisplay.c (point_in_line_start_cache): 
7381         * extents.c (print_extent_1):
7382         Fix warnings.
7383
7384         * extents.c (Fset_extent_property): Document `syntax-table' property.
7385
7386         * extents.h (Fnext_single_property_change): EXFUN it.
7387
7388 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7389
7390         * search.c (clear_unused_search_regs): New static function.
7391         (search_buffer): 
7392         (simple_search): 
7393         (boyer_moore):
7394         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7395         Minor clarifications in comments.
7396
7397         * regex.c (re_match_2_internal): Ensure no stale submatches.
7398
7399 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7400
7401         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7402
7403 2002-08-29  Jerry James  <james@xemacs.org>
7404
7405         * lisp.h: structrures -> structures.
7406
7407 2002-06-03  Andy Piper  <andy@xemacs.org>
7408
7409         * frame.c (frame_conversion_internal): add conversion appropriate
7410         for setting frame dimensions in pixels.
7411
7412         * console.h (struct console_methods): add device-specific widget
7413         layout functions.
7414
7415         * emacs.c (main_1): initialize glyph vars.
7416
7417         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7418         (handle_focus_event_2): new function. Allow focus to
7419         be set to a particular window and widget.
7420         (enqueue_focus_event): new function. Create a
7421         synthetic focus event.
7422         (emacs_Xt_handle_magic_event): call
7423         handle_focus_event_2.
7424
7425         * frame.c (Fset_frame_pixel_height): new function. Allow
7426         pixel-based sizing. Does the right thing on character-oriented
7427         displays.
7428         (Fset_frame_pixel_width): ditto.
7429         (Fset_frame_pixel_size): ditto.
7430         (syms_of_frame): declare.
7431
7432         * general-slots.h: add :vertically-justify and
7433         :horizontally-justify.
7434
7435         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7436         (mswindows_widget_border_width): new function.
7437         (mswindows_combo_box_instantiate): set border widths.
7438         (console_type_create_glyphs_mswindows): declare.
7439
7440         * glyphs-widget.c:
7441         (check_valid_justification): allow vertical and horizontal
7442         justification.
7443         (widget_border_width): new function. Call device methods.
7444         (widget_instance_border_width): ditto.
7445         (logical_unit_height): new function. Determine the height of a
7446         logical-unit. Logical units are intended to provide grid-like
7447         layout for subcontrols in a layout. If the layout is
7448         :vertically-justify top then subcontrols will be positioned on
7449         logical-unit boundaries, thus allowing adjacent subcontrols to
7450         line up.
7451         (widget_logical_unit_height): ditto for widgets.
7452         (redisplay_widget): misc cleanup.
7453         (widget_spacing): new function. Call device specific
7454         methods. Intended to be the default gap between adjacent widgets.
7455         (widget_query_geometry): use new spacing functions to determine
7456         appropriate geometry.
7457         (initialize_widget_image_instance): initialize horizontal and
7458         vertical justification.
7459         (widget_instantiate): use logica-units where appropriate for
7460         sizing large widgets.
7461         (button_query_geometry): use widget_instance_border_width.
7462         (tree_view_query_geometry): ditto.
7463         (tab_control_query_geometry): ditto.
7464         (edit_field_query_geometry): new function.
7465         (layout_update): pick up :justify, :horizontally-justify and
7466         :vertically-justify none of which worked previously. :justify is
7467         used as a fallback for both horizontal and vertical justification.
7468         (layout_query_geometry): use logical units to size appropriately.
7469         (layout_layout): ditto.
7470         (Fwidget_logical_to_character_width): new function. Allow users to
7471         convert from logical units to characters so that frame sizes can
7472         be set appropriately.
7473         (Fwidget_logical_to_character_height): ditto.
7474         (syms_of_glyphs_widget): declare.
7475         (image_instantiator_edit_fields): add edit_field_query_geometry.
7476         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7477         :horizontally-justify.
7478         (specifier_vars_of_glyphs_widget): new function. Declare
7479         Vwidget_border_width which is not yet used.
7480
7481         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7482         (x_widget_border_width): new function.
7483         (x_widget_instantiate): create a sensible name for widgets.
7484         (console_type_create_glyphs_x): declare x_widget_border_width.
7485
7486         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7487         (struct Lisp_Image_Instance): add :vertically-justify and
7488         :horizontally-justify.
7489         (LAYOUT_JUSTIFY_TOP): new.
7490         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7491         (ROUND_UP): new macro. Round argument up to next integral
7492         interval.
7493
7494         * redisplay-output.c (redisplay_output_layout): misc formatting.
7495
7496         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7497
7498 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7499
7500         * XEmacs 21.4.9 "Informed Management" is released.
7501
7502 2002-08-19  Andy Piper  <andy@xemacs.org>
7503
7504         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7505         win32 format.
7506
7507         * realpath.c (xrealpath): normalize drive spec also so that dir
7508         sep chars are not mixed on cygwin.
7509
7510 2002-08-06  Jerry James  <james@xemacs.org>
7511
7512         * window.c (Fsplit_window): Count only half of the divider width
7513         against the left window when splitting horizontally. 
7514
7515 2002-06-24  Andy Piper  <andy@xemacs.org>
7516
7517         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7518         toolbar was cleared.
7519
7520         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7521         function. Split out from mswindows_output_frame_toolbars.
7522         (mswindows_output_frame_toolbars): move clear pieces to
7523         mswindows_output_frame_toolbars.
7524
7525         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7526         out from gtk_output_frame_toolbars.
7527         (gtk_output_frame_toolbars): move clear pieces to
7528         gtk_clear_frame_toolbars.
7529
7530         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7531         the frame is cleared. How this ever worked before is a mystery.
7532         (x_output_frame_toolbars): Only output toolbars.
7533         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7534
7535         * gutter.c (update_gutter_geometry):
7536         Mark frame layout changed.
7537         (update_frame_gutter_geometry, update_frame_gutters):
7538         Respect frame_layout_changed.
7539
7540         * console.h (struct console_methods): add
7541         clear_frame_toolbars_method.
7542
7543         * redisplay.c (redisplay_frame): call
7544         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7545
7546         * toolbar.h: declare update_frame_toolbars_geometry.
7547
7548         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7549         out from update_frame_toolbars.  Call clear_frame_toolbars.
7550         (update_frame_toolbars): only output, do not change geometry.
7551
7552         * redisplay.c: add frame_layout_changed.
7553
7554         * redisplay.h: add frame_layout_changed.
7555         (CLASS_RESET_CHANGED_FLAGS): set it.
7556         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7557         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7558         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7559
7560         * device.h (struct device): add frame_layout_changed.
7561         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7562
7563         * frame.h (struct frame): add frame_layout_changed.
7564         (MARK_FRAME_LAYOUT_CHANGED): new.
7565
7566 2002-06-30  Mike Alexander  <mta@arbortext.com>
7567
7568         * event-msw.c (mswindows_need_event): Don't wait for a new message
7569         if the queue is not empty.  Suggested by Paul Moore.
7570
7571 2002-06-12  Andy Piper  <andy@xemacs.org>
7572
7573         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7574         for printing on accurately.
7575
7576 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7577
7578         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7579         WM_ACTIVATE message. Make sure that the frame is visible if the
7580         window is visible. This seemss to fix the problem where XEmacs
7581         appears to freeze after switching desktops with certain virtual
7582         window managers.
7583         (debug_output_mswin_message): Added code to output message
7584         parameters for WM_WINDOWPOSCHANGED, 
7585         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7586
7587 2002-05-25  Andy Piper  <andy@xemacs.org>
7588
7589         * select-x.c (vars_of_select_x): Fix docstring of
7590         x-selection-strict-motif-ownership
7591
7592 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7593
7594         * keymap.c (get_keymap):
7595         Add comment about do_autoload GCPROs own args.
7596
7597 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7598
7599         * bytecode.c (execute_optimized_program): check_opcode ifdef
7600         ERROR_CHECK_BYTE_CODE.
7601
7602 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7603
7604         Thanks to Ben Wing and Michael Sperber.
7605
7606         * eval.c (Fcommand_execute):
7607         (Feval):
7608         (Ffuncall):
7609         (Fmacroexpand_internal):
7610         (function_argcount):
7611         callint.c (Fcall_interactively):
7612         Add comment about do_autoload GCPROs own args.
7613
7614         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7615
7616         * eval.c (Ffuncall): Extra braces to placate GCC.
7617
7618 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7619
7620         * backtrace.h (grow_specpdl):
7621         (SPECPDL_RESERVE):
7622         * EmacsFrame.c (EmacsFrameSetValues):
7623         * eval.c (grow_specpdl):
7624         * ExternalShell.c (hack_event_masks_1):
7625         * glyphs-x.c (convert_EImage_to_XImage): 
7626         (x_finalize_image_instance):
7627         * ralloc.c (page_size):
7628         (r_alloc_sbrk):
7629         * xgccache.c (gc_cache_hash):
7630         Fix unsigned comparison warnings.
7631
7632 2002-07-29  Jerry James  <james@xemacs.org>
7633
7634         * lread.c (locate_file): Any nonnegative return value indicates
7635         success if MODE is nonnegative.
7636
7637 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7638
7639         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7640         argument. 
7641
7642 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7643
7644         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7645
7646         * dumper.c (pdump_get_indirect_count):
7647         (pdump_scan_by_alignment):
7648         (pdump_dump_root_struct_ptrs):
7649         (pdump_dump_rtables):
7650         (pdump_dump_root_objects):
7651         (pdump):
7652         * nas.c (WaveOpenDataForReading):
7653         * fns.c (print_bit_vector):
7654         * font-lock.c (SINGLE_SYNTAX_STYLE):
7655         * glyphs.c (check_for_ignored_expose):
7656         (find_matching_subwindow):
7657         * glyphs-eimage.c:
7658         * imgproc.c (get_histogram):
7659         * redisplay.c (point_in_line_start_cache):
7660         * redisplay-output.c (redisplay_unmap_subwindows):
7661         * symbols.c (defsymbol_massage_name_1):
7662         (defkeyword_massage_name):
7663         (deferror_massage_name_and_message):
7664         * redisplay-x.c (x_output_string): 
7665         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7666         * frame.h (struct frame):
7667         * filelock.c (current_lock_owner):
7668         * doprnt.c (emacs_doprnt_1):
7669         * lisp.h (struct Lisp_Bit_Vector):
7670         (DO_REALLOC):
7671         Fix warnings.
7672
7673 2002-02-13  Ben Wing  <ben@xemacs.org>
7674
7675         * event-stream.c (reset_key_echo):
7676         * event-stream.c (reset_this_command_keys):
7677         * event-stream.c (execute_command_event):
7678         If console is dead as a result of C-x 5 0, then post-command stuff
7679         needs to be careful and do only non-console-specific stuff.
7680
7681 2002-07-01  Mike Sperber <mike@xemacs.org>
7682
7683         * process-unix.c (unix_send_process): Mark coding_outstream as
7684         non-open upon SIGPIPE.
7685
7686         * event-stream.c (Fnext_event): Reorder switch cases to something
7687         that makes sense.
7688
7689 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7690
7691         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7692         Don't bogusly reinitialize ascii_character property.
7693
7694 2002-07-08  Mike Sperber <mike@xemacs.org>
7695
7696         * process.c (Fstart_process_internal): Do error checking before we
7697         fork off the child, so the child can't muck with the state of the
7698         parent.
7699
7700 2002-07-08  Mike Sperber <mike@xemacs.org>
7701
7702         * ralloc.c (init_ralloc): Allocate properly for pdump.
7703
7704 2002-06-12  Andy Piper  <andy@xemacs.org>
7705
7706         * glyphs.c (query_string_geometry): check the string.
7707
7708         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7709         widget names.
7710
7711 2002-06-17  Jerry James  <james@xemacs.org>
7712
7713         * sysdll.c: Remove RTLD_GLOBAL initialization.
7714         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7715
7716 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7717
7718         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7719
7720 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7721
7722         * sysdep.c (sys_rename): Make sys_rename work for the case where
7723         Windows rename sets errno to EACCES if target file exists.
7724
7725 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7726
7727         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7728         Fix detection of metric units to work on Win95
7729
7730 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7731
7732         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7733
7734 2002-04-25  Andy Piper  <andy@xemacs.org>
7735
7736         * redisplay.c (create_text_block): Remove extra comment trailer.
7737
7738 2002-04-24  Andy Piper  <andy@xemacs.org>
7739
7740         * redisplay.c (create_text_block): Don't actually add propagation
7741         data if the line ends after we have added a glyph.
7742
7743 2002-04-22  Andy Piper  <andy@xemacs.org>
7744
7745         * extents.c (extent_fragment_update): check for glyphs we have
7746         previously displayed.
7747         * extents.c (print_extent_1): warning removal.
7748         * extents.h: change prototype.
7749         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7750         widths correctly for wide glyphs.
7751         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7752         * redisplay.c (prop_type): add PROP_GLYPH.
7753         * redisplay.c (struct prop_block): add glyph type
7754         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7755         to the propagation data.
7756         * redisplay.c (create_text_block): if there is a glyph in the
7757         propagation data use it to salt extent_fragment_update.
7758         * redisplay.c (create_string_text_block): ditto.
7759
7760 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7761
7762         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7763         * redisplay-output.c (compare_runes): Compare them.
7764         * redisplay.c: Update copyright date.
7765         * redisplay.c (pos_data): Add need_baseline_computation field.
7766         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7767         need_baseline_computation; zero yoffset. Set max_pixmap_height
7768         for all pixmaps, not just automatically positioned ones.
7769         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7770         * redisplay.c (calculate_baseline): New, compute textual baseline.
7771         * redisplay.c (add_glyph_rune): Call them.
7772         * redisplay.c (create_text_block): Likewise.
7773         * redisplay.c (create_overlay_glyph_block): Likewise.
7774         * redisplay.c (add_margin_runes): Likewise.
7775         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7776
7777         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7778         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7779         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7780         * redisplay-msw.c (mswindows_output_string): Likewise.
7781         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7782         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7783         * redisplay-x.c (x_output_display_block): Likewise.
7784
7785 2002-03-28  Ben Wing  <ben@xemacs.org>
7786
7787         * redisplay.c: Fixed bug in redisplay
7788         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7789         and down of the lines, since they're bigger than the line
7790         size. (It was seen most obviously when there's a horizontal scroll
7791         bar, e.g. do C-h a glyph or something like that.) The problem was
7792         that the glyph-contrib-p setting on glyphs was ignored even if it
7793         was set properly, which it wasn't until now.
7794
7795 2002-04-24  Andy Piper  <andy@xemacs.org>
7796
7797         * lisp.h (Dynarr_end): Fix definition.
7798
7799 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7800
7801         * redisplay.c (mark_redisplay): Remove call to
7802         update_frame_window_mirror.
7803
7804 2001-11-15  Andy Piper  <andy@xemacs.org>
7805
7806         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7807         cygwin (again).
7808
7809 2002-02-13  Andy Piper  <andy@xemacs.org>
7810
7811         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7812         we did in fact enqueue the XM_MAPFRAME event.
7813
7814 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7815
7816         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7817         to fix problem switching between virtual desktops under virtuawin
7818         virtual window manager.
7819
7820 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7821
7822         * event-msw.c: Typo fix.
7823         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7824         magic XM_MAPFRAME event has been sent.
7825
7826 2001-11-23  Andy Piper  <andy@xemacs.org>
7827
7828         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7829
7830 2001-11-21  Andy Piper  <andy@xemacs.org>
7831
7832         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7833         mouse events outside the frame.
7834
7835 2002-03-20  Andy Piper  <andy@xemacs.org>
7836
7837         * menubar-msw.c (mswindows_popup_menu): warning removal.
7838         * dialog-msw.c (dialog_popped_down): ditto.
7839
7840 2001-12-11  Andy Piper  <andy@xemacs.org>
7841
7842         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7843         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7844         popup_up_p.
7845         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7846         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7847         * menubar-msw.c (mswindows_popup_menu): ditto.
7848
7849 2001-10-29  Andy Piper  <andy@xemacs.org>
7850
7851         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7852         cancels.
7853
7854 2002-01-03  Andy Piper  <andy@xemacs.org>
7855
7856         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7857         letters.
7858         (xrealpath): ditto.
7859
7860 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7861
7862         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7863         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7864         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7865         Detect and handle case where machine is set up for metric units
7866
7867 2002-04-02  Andy Piper  <andy@xemacs.org>
7868
7869         * dired-msw.c (mswindows_get_files): 
7870         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7871         completely handled by XEmacs. Suggested by Thomas Vogler
7872         <mail@thomas-vogler.de>.
7873
7874 2001-11-14  Andy Piper  <andy@xemacs.org>
7875
7876         * nt.c (REG_ROOT): change registry key to XEmacs.
7877
7878 2002-04-27  Andy Piper  <andy@xemacs.org>
7879
7880         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7881
7882 2002-04-26  Andy Piper  <andy@xemacs.org>
7883
7884         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7885         behavior.
7886
7887 2002-03-14  Mike Alexander  <mta@arbortext.com>
7888
7889         * event-msw.c (mswindows_unwait_process): New, remove process from
7890         wait list
7891         * process-nt.c (nt_finalize_process_data): Call
7892         mswindows_unwait_process
7893         * console-msw.h: Declare mswindows_unwait_process
7894
7895 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7896
7897         * editfns.c (Fdecode_time):
7898         (Fformat_time_string):
7899         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7900         (make_time): Warning elimination (change arg name).
7901
7902 2001-11-24  Andy Piper  <andy@xemacs.org>
7903
7904         * window.c (Fsplit_window): Doc return type.
7905
7906 2002-04-01  Andy Piper  <andy@xemacs.org>
7907
7908         * emacs.c (Fkill_emacs): Only output message box in interactive
7909         mode.
7910
7911 2002-04-26  Andy Piper  <andy@xemacs.org>
7912  
7913         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7914         cygwin.
7915
7916 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7917
7918         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7919         bit platform.
7920
7921 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7922
7923         * XEmacs 21.4.8 "Honest Recruiter" is released.
7924
7925 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7926
7927         Supersedes 2002-04-17 patch.
7928
7929         * process.h (PROCESS_LIVE_P): Use the process status as
7930         evidence of health, not the state of the input stream.
7931         (PROCESS_READABLE_P): Say if the process is readable
7932         from. (It may be dead nonetheless.)
7933         (CHECK_READABLE_PROCESS): Test for that condition.
7934
7935         * process.c (create_process): Use PROCESS_READABLE_P.
7936         (read_process_output, set_process_filter): Likewise.
7937
7938         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7939         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7940
7941         This code is #if 0'd, this is not the time to add new functions:
7942
7943         * process.c (Fprocess_readable_p): Report readability status.
7944         * process.c (Qprocess_readable_p): New, associated symbol...
7945         * process.c (syms_of_process): ... initialize it.
7946
7947 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7948
7949         * XEmacs 21.4.7 "Economic Science" is released.
7950
7951 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7952
7953         * process.h (PROCESS_LIVE_P): Use the process status as
7954         evidence of health, not the state of the input stream.
7955
7956 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7957
7958         * sysdep.c (sys_siglist): change "signum" to "signal"
7959
7960 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7961
7962         * s/darwin.h: New file.
7963         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7964         
7965 2002-04-23  Andreas Jaeger  <aj@suse.de>
7966
7967         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7968         which use lib64 for 64-bit libs.
7969         (START_FILES): Likewise.
7970
7971 2002-02-11  Mike Sperber  <mike@xemacs.org>
7972
7973         * device-x.c: 
7974         (x_IO_error_handler):
7975         (x_init_device): Temporarily keep device in static variable
7976         `device_being_initialized' so we can recover gracefully from
7977         internal XOpenDevice failure.  (XOpenDevice is documented to
7978         return NULL on failure, but sometimes calls the IO error handler
7979         instead.)
7980
7981 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7982
7983         * dired.c (Ffile_name_all_completions): Change documentation --
7984         remove reference to completion-ignored-extensions.
7985         * dired.c (vars_of_dired): Change documentation for
7986         completion-ignored-extensions -- remove reference to
7987         file-name-all-completions.
7988
7989 2002-03-06  Jerry James  <james@xemacs.org>
7990
7991         * emodules.c (emodules_load): Fix multiple loading of same module.
7992
7993 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7994         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7995         RTLD_LAZY to avoid incorrect symbol binding when using nested
7996         shared libraries on Solaris.
7997
7998 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7999
8000         * fileio.c (Ffind_file_name_handler): Improve docstring.
8001
8002 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
8003
8004         * fns.c (Fmapconcat): Improve docstring.
8005
8006 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
8007
8008         * device-gtk.c: Add prototype for
8009         emacs_gtk_selection_clear_event_handle.
8010         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
8011         selection.  Setup signal handler for "selection_clear_event"
8012         (emacs_gtk_selection_clear_event_handle).
8013
8014         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
8015         other applications owning the clipboard (based on
8016         x_handle_selection_clear).
8017
8018 2001-12-23  William M. Perry  <wmperry@gnu.org>
8019
8020         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
8021         
8022 2002-01-04  Martin Buchholz  <martin@xemacs.org>
8023
8024         * keymap.c (define_key_alternate_name): Parenthesize EQ.
8025
8026 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
8027
8028         * XEmacs 21.4.6 "Common Lisp" is released.
8029
8030 2001-12-16  Torsten Duwe  <duwe@caldera.de>
8031
8032         * search.c (Freplace_match): Add missing sub-expression functionality.
8033
8034         * buffer.c (decode_buffer): Add a check for pointer type to
8035         decode_buffer, before gcc's CSE optimization reorders a
8036         dereference in front of the allow_string test.
8037
8038 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8039
8040         * window.c (window_loop): Fix bug that sometimes prevented
8041         window_loop() from iterating across multiple devices.  Also, at
8042         Ben's request, changed infloop-detecting code to abort() instead
8043         of silently terminating window_loop().
8044
8045 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8046
8047         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8048         * editfns.c (make_time): New function.
8049         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8050         * lisp.h (make_time): Prototype and comment it.
8051         * dired.c (wasteful_word_to_lisp): Deprecate.
8052         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8053
8054 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8055
8056         * fileio.c (auto_save_1): Use current coding system, not
8057         escape-quoted.
8058
8059 2001-11-13  Ben Wing  <ben@xemacs.org>
8060
8061         * window.c:
8062         * window.c (window_truncation_on):
8063         * window.c (syms_of_window):
8064         truncate-partial-width-windows should respect the buffer being
8065         displayed, like other redisplay vars.
8066
8067 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8068
8069         * event-stream.c (Fread_key_sequence): save current buffer.
8070
8071 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8072
8073         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8074
8075 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8076
8077         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8078
8079 2001-10-26  Mike Alexander  <mta@arbortext.com>
8080
8081         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8082
8083 2001-10-25  Andy Piper  <andy@xemacs.org>
8084
8085         * ChangeLog:
8086         * dialog-msw.c (handle_directory_proc): new function.
8087          (handle_directory_dialog_box): new fucntion.
8088          (handle_file_dialog_box): use new directory dialog support.
8089          (mswindows_make_dialog_box_internal): ditto.
8090         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8091         handling.
8092         (mswindows_find_frame): make global.
8093         * fileio.c (Fexpand_file_name): build fix.
8094         * general-slots.h: add Qdirectory.
8095         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8096         handling.
8097         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8098         cygwin not leaving win32 paths unchanged.
8099         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8100         cygwin runtime to do path conversion.
8101         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8102         (syms_of_win32): add new function.
8103         * window.c (window_loop): build fix.
8104
8105 2001-10-15  Andy Piper  <andy@xemacs.org>
8106
8107         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8108
8109 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8110
8111         * XEmacs 21.4.5 "Civil Service" is released.
8112
8113 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8114
8115         * glyphs-x.c: Force buffer-tab highlight update when moving the
8116         buffer, avoiding an ugly black border, used for keyboard focus
8117         indication, on a widget that can never have keyboard focus, the
8118         buffer tab.
8119
8120 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8121
8122         * process-unix.c (unix_open_multicast_group): Remove too much
8123         conversion between host and network byte order.
8124
8125 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8126
8127         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8128         before replacing them.
8129
8130         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8131         operation.
8132
8133         * src/window.c (undedicate_windows): Use it.
8134         * src/window.h: Add prototype.
8135
8136 2001-09-17  Ben Wing  <ben@xemacs.org>
8137
8138         * fileio.c (normalize_filename):
8139         * fileio.c (Fexpand_file_name):
8140         Fix various C++ compile errors in Andy's recent code.
8141         
8142         * callint.c (Fcall_interactively):
8143         * editfns.c (Ftemp_directory):
8144         * editfns.c (Fuser_full_name):
8145         * emacs.c (argmatch):
8146         * lread.c (locate_file_map_suffixes):
8147         * redisplay-x.c (x_ring_bell):
8148         Fix sign-compare warnings.
8149         
8150 2001-09-08  Andy Piper  <andy@xemacs.org>
8151
8152         * fileio.c (normalize_filename): copied from nt.c
8153         * (Ffile_name_directory): enable win32 paths under cygwin.
8154         * (Ffile_name_nondirectory): ditto.
8155         * (directory_file_name): ditto.
8156         * (Fexpand_file_name): ditto.
8157         * (Ffile_truename): ditto.
8158         * (Fsubstitute_in_file_name): ditto.
8159         * (Ffile_name_absolute_p): ditto.
8160         * (Ffile_readable_p): ditto.
8161
8162 2001-09-08  Andy Piper  <andy@xemacs.org>
8163
8164         * device-msw.c (mswindows_finish_init_device): remove dde
8165         initialization.
8166         * device-msw.c (mswindows_init_dde): factor out from
8167         mswindows_finish_init_device()
8168         * device-msw.c (init_mswindows_very_early): new function
8169         initialize but don't enable dde.
8170         * emacs.c (main_1): call init_mswindows_very_early.
8171         * event-msw.c:
8172         * event-msw.c (mswindows_dde_callback): only execute when we are
8173         ready.
8174         * symsinit.h: declare init_mswindows_very_early.
8175
8176 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8177
8178         [sjt: This has been in 21.5 for months with no complaints.]
8179
8180         * console.h (struct console_methods): Added flags member.
8181         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8182         (CONMETH_IMPL_FLAG):
8183         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8184         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8185
8186         * device.c (window_system_pixelated_geometry): Use the above macros.
8187
8188         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8189         implememntation flag.
8190         * device.h (DEVICE_DISPLAY_P): Use it.
8191
8192         * frame.c (delete_frame_internal): Use the above macro.
8193
8194         * redisplay.c (redisplay_device): Use it.
8195         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8196         (redisplay_frame): Ditto.
8197
8198         * device-msw.c (mswindows_device_implementation_flags): Removed.
8199         (msprinter_device_implementation_flags): Removed.
8200         (console_type_create_device_mswindows): Removed references to
8201         implementation_flags methods, set implementation flags here.
8202         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8203
8204         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8205         (console_type_create_device_gtk): Removed method declaration.
8206         Added commented out statement which semantically matches the
8207         commented out statement in the above removed method.
8208
8209 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8210
8211         The attached patch fixes a few warnings. 
8212
8213         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8214         * src/frame-gtk.c: guard against GNOME calls in GTK only
8215         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8216         * src/select-gtk.c: prototype lisp_to_time
8217
8218 2001-06-08  Ben Wing  <ben@xemacs.org>
8219
8220         ------ gc-in-window-procedure fixes ------
8221         
8222         * alloc.c:
8223         * alloc.c (struct post_gc_action):
8224         * alloc.c (register_post_gc_action):
8225         * alloc.c (run_post_gc_actions):
8226         * alloc.c (garbage_collect_1):
8227         Create "post-gc actions", to avoid those dreaded "GC during window
8228         procedure" problems.
8229
8230         * event-msw.c:
8231         Abort, clean and simple, when GC in window procedure.  We want
8232         to flush these puppies out.
8233
8234         * glyphs-msw.c:
8235         * glyphs-msw.c (finalize_destroy_window):
8236         * glyphs-msw.c (mswindows_finalize_image_instance):
8237         Use a post-gc action when destroying subwindows.
8238
8239         * lisp.h:
8240         Declare register_post_gc_action().
8241
8242         * scrollbar-msw.c:
8243         * scrollbar-msw.c (unshow_that_mofo):
8244         Use a post-gc action when unshowing scrollbar windows, if in gc.
8245
8246         * redisplay.c (mark_redisplay):
8247         Add comment about the utter evilness of what's going down here.
8248
8249         ------ cygwin setitimer fixes ------
8250         
8251         * Makefile.in.in (sheap_objs):
8252         * Makefile.in.in (profile_objs):
8253         * Makefile.in.in (objs):
8254         Compile profile.c only when HAVE_SETITIMER.
8255         
8256         * nt.c (mswindows_sigset):
8257         * nt.c (mswindows_sighold):
8258         * nt.c (mswindows_sigrelse):
8259         * nt.c (mswindows_sigpause):
8260         * nt.c (mswindows_raise):
8261         * nt.c (close_file_data):
8262         Style fixes.
8263         
8264         * nt.c:
8265         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8266         
8267         * profile.c:
8268         * profile.c (Fstart_profiling):
8269         * profile.c (Fstop_profiling):
8270         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8271         instead of just plain setitimer().
8272         
8273         * signal.c:
8274         * signal.c (set_one_shot_timer):
8275         * signal.c (alarm):
8276         Define qxe_setitimer() as an encapsulation around setitimer() --
8277         call setitimer() directly unless Cygwin or MS Win, in which case
8278         we use our simulated version in win32.c.
8279         
8280         * systime.h:
8281         * systime.h (struct itimerval):
8282         * systime.h (ITIMER_REAL):
8283         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8284         comment about "qxe" and the policy regarding encapsulation.
8285
8286         * win32.c:
8287         * win32.c (setitimer_helper_proc):
8288         * win32.c (setitimer_helper_period):
8289         * win32.c (setitimer_helper):
8290         * win32.c (mswindows_setitimer):
8291         Move setitimer() emulation here, so Cygwin can use it.
8292         Rename a couple of functions and variables to be longer and more
8293         descriptive.  In setitimer_helper_proc(), send the signal
8294         using either mswindows_raise() or (on Cygwin) kill().  If for
8295         some reason we are still getting lockups, we'll change the kill()
8296         to directly invoke the signal handlers.
8297
8298         ------ windows shell fixes ------
8299         
8300         * callproc.c:
8301         * ntproc.c:
8302         Comments about how these two files must die.
8303
8304         * callproc.c (init_callproc):
8305         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8306         not just COMSPEC. (more correct and closer to FSF.) Don't
8307         force a value for SHELL into the environment. (Comments added
8308         to explain why not.)
8309         
8310         * nt.c (init_user_info):
8311         Don't shove a fabricated SHELL into the environment.  See above.
8312
8313 2001-06-01  Ben Wing  <ben@xemacs.org>
8314
8315         * Makefile.in.in (ldflags):
8316         eliminate that pesky "defaulting to 00401000" warning.
8317         * nt.h:
8318         eliminate warnings.
8319
8320 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8321
8322         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8323         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8324
8325 2001-04-24  Jerry James <james@xemacs.org>
8326
8327         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8328         correct order.
8329
8330 2001-06-01  Ben Wing  <ben@xemacs.org>
8331
8332         * event-msw.c (debug_mswin_messages):
8333         conditionalize the messages that were causing compile errors.
8334         (if only macros could generate #ifdef statements ...)
8335
8336 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8337
8338         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8339
8340 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8341
8342         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8343
8344 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8345
8346         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8347         * process-unix.c (unix_canonicalize_host_name):
8348         sysdep.c (init_system_name):
8349         Use it to conditionally support IPv6 canonicalization.
8350
8351 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8352
8353         * event-msw.c:
8354         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8355
8356 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8357
8358         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8359         attempt is made to scroll when no scroll bar is available.
8360
8361 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8362
8363         * input-method-motif.c (XIM_delete_frame): New callback.
8364         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8365         got deleted from 21.4.3.)
8366
8367 2001-06-01  Ben Wing  <ben@xemacs.org>
8368
8369         * nt.c (mswindows_utime):
8370         * nt.c (close_file_data):
8371         fix off-by-one-indirection error.
8372
8373 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8374
8375         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8376         because set_file_times() now takes Lisp_Object path, instead of
8377         char*.
8378         * nt.c: Include buffer.h.
8379         * nt.c (convert_from_time_t): New.
8380         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8381         not set mtime correctly.
8382         * nt.h: Declare mswindows_utime().
8383         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8384         path, instead of char*.
8385         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8386
8387 2001-05-30  Ben Wing  <ben@xemacs.org>
8388
8389         For 21.4:
8390
8391         (Stephen, just take all event-msw.c patches.  This includes
8392         the "iconify" fix below.)
8393
8394         * event-msw.c:
8395         * event-msw.c (mswindows_dequeue_dispatch_event):
8396         * event-msw.c (assert):
8397         * event-msw.c (emacs_mswindows_quit_p):
8398         * event-msw.c (debug_mswin_messages):
8399         * event-msw.c (debug_output_mswin_message):
8400         * event-msw.c (vars_of_event_mswindows):
8401         Fix yet more problems with C-g handling.
8402         Implement debug-mswindows-events.
8403         
8404 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8405
8406         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8407         
8408 2001-05-23  Ben Wing  <ben@xemacs.org>
8409
8410         * event-msw.c (winsock_writer):
8411         * event-msw.c (winsock_closer):
8412         prior kludgy code was clobbering the buffer, thinking it was
8413         "unused" space to store an unneeded return value; instead, use
8414         the variable we've already got staring us in the face.
8415
8416 2001-05-17  Andy Piper  <andy@xemacs.org>
8417
8418         * sysfile.h: don't assume that file attributes are boolean
8419
8420 2001-05-23  Ben Wing  <ben@xemacs.org>
8421
8422         * device-msw.c (msprinter_init_device):
8423         signal an error rather than crash with an unavailable network
8424         printer (from Mike Alexander).
8425         
8426         * event-msw.c:
8427         * event-msw.c (struct winsock_stream):
8428         * event-msw.c (winsock_writer):
8429         * event-msw.c (winsock_closer):
8430         * event-msw.c (make_winsock_stream_1):
8431         cleanup headers.  fix (hopefully) an error with data corruption
8432         when sending to a network connection.
8433
8434         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8435         to handle the ~user prefix by (a) always assuming we're referencing
8436         ourselves and not even verifying the user -- hence any file with
8437         a tilde as its first char is invalid! (b) if there wasn't a slash
8438         following the filename, the pointer was set *past* the end of
8439         file and we started reading from uninitialized memory.  Now we
8440         simply treat these as files, always.
8441
8442         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8443         
8444 2001-05-19  Ben Wing  <ben@xemacs.org>
8445
8446         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8447
8448         * process-nt.c:
8449         * process-nt.c (vars_of_process_nt):
8450         remove unused mswindows-quote-process-args.  rec for 21.4.
8451         
8452 2001-05-12  Ben Wing  <ben@xemacs.org>
8453
8454         * event-msw.c (mswindows_dde_callback):
8455         * event-msw.c (mswindows_wnd_proc):
8456         eliminate cygwin warnings.
8457
8458 2001-05-06  Ben Wing  <ben@xemacs.org>
8459
8460         * console-msw.h:
8461         * device-msw.c:
8462         * device-msw.c (print_dialog_worker):
8463         * device-msw.c (mswindows_handle_print_dialog_box):
8464         * device-msw.c (syms_of_device_mswindows):
8465         * dialog-msw.c (mswindows_make_dialog_box_internal):
8466         * general-slots.h:
8467         implement printing the selection when it's selected.
8468
8469 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8470
8471         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8472
8473 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8474
8475         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8476         EMACS_INT is signed.
8477
8478 2001-04-15  Michael Lausch  <mla@1012surf.net>
8479
8480         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8481         gtk_widget_request_size() to give scrollbar >0 width for
8482         GTK >1.2.8.
8483
8484 2001-05-30  William M. Perry  <wmperry@gnu.org>
8485
8486         * event-gtk.c: Check for buttons as modifier keys.
8487
8488 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8489
8490         * s\mingw32.h:
8491         Properly find MinGW's <process.h> inside Cygwin's restructured
8492         include directories.  Don't try to include <cygwin/version.h>
8493         since we are dropping support for MinGW in versions of Cygwin
8494         earlier than b21.
8495         * nt.c:
8496         Drop support for MinGW in versions of Cygwin before b21.
8497         * sysdep.c:
8498         Properly find MinGW's <process.h> inside Cygwin's restructured
8499         include directories.
8500         * syswindows.h:
8501         Drop support for MinGW in versions of Cygwin before b21.
8502         * unexcw.c:
8503         Even though a.out.h is no longer detected by configure, allow
8504         MinGW to use it until we figure out how to do the job with Win32.
8505
8506 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8507
8508         * syntax.c (find_start_of_comment):
8509         Fix `unbalanced parentheses' bug when dealing with mixed comment
8510         styles in c++/java/etc. mode
8511
8512 2001-05-29  Mike Alexander  <mta@arbortext.com>
8513
8514         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8515         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8516
8517 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8518
8519         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8520
8521 2001-03-31  Mike Sperber <mike@xemacs.org>
8522
8523         * search.c (Freplace_match): Support FSF-style specification of
8524         match subexpression when applied to a buffer.
8525
8526 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8527
8528         * event-stream.c (is_scrollbar_event): add missing semicolon
8529
8530 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8531
8532         * Makefile.in.in: Use TAR macro instead of hardcoding
8533           tar.  Allows use of GNU tar instead of system tar
8534
8535 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8536
8537         * event-stream.c (is_scrollbar_event): add missing semicolon
8538
8539 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8540
8541         * XEmacs 21.4.3 "Academic Rigor" is released.
8542
8543 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8544
8545         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8546
8547 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8548
8549         * buffer.c (Vcase_fold_search): Remove obsolete
8550           comment about non ASCII case-fold-search.  This
8551           bug has been fixed by case-table changes.
8552
8553 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8554
8555         * event-msw.c: Restore include of events-mod.h.
8556
8557 2001-04-22   zhaoway  <zw@debian.org>
8558
8559         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8560         !HAVE_SCROLLBARS.
8561
8562 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8563
8564         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8565
8566 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8567
8568         * mule-charset.c (Fmake_charset): Add missing else.
8569
8570 2001-04-23  Ben Wing  <ben@xemacs.org>
8571
8572         * event-msw.c (FAKE_MOD_QUIT):
8573         * event-msw.c (mswindows_dequeue_dispatch_event):
8574         * event-msw.c (mswindows_wnd_proc):
8575         * event-msw.c (emacs_mswindows_quit_p):
8576         Get critical quit working.
8577
8578 2001-05-05  Ben Wing  <ben@xemacs.org>
8579
8580         * console-msw.h:
8581         * device-msw.c:
8582         * device-msw.c (mswindows_get_default_margin):
8583         * frame-msw.c (mswindows_size_frame_internal):
8584         * frame-msw.c (msprinter_init_frame_1):
8585         * frame-msw.c (vars_of_frame_mswindows):
8586         Change top/bottom margin defaults to 0.5 inches.
8587
8588 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8589
8590         Fix link error with gcc 3.0 on Linux.
8591         * terminfo.c (UP): Remove.
8592         * terminfo.c (BC): Remove.
8593         * terminfo.c (PC): Remove.
8594         They weren't used, and in any case, these symbols should be
8595         defined in the *library*.
8596
8597 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8598
8599         * s/aix4.h: Fix crash with xlc -O3.
8600         Improve comment explaining how -O3 works.
8601
8602 2001-04-15  Ben Wing  <ben@xemacs.org>
8603
8604         * event-stream.c:
8605         * event-stream.c (Fnext_event):
8606         * event-stream.c (is_scrollbar_event):
8607         * event-stream.c (execute_command_event):
8608         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8609         crash' problem.  His fix introduces other problems.  We filter
8610         out scrollbar events specifically, making them somewhat invisible
8611         to command-building, and not appearing in `this-command-keys'.
8612         More work is still needed (see comments in event-stream.c), but
8613         this fixes all the major problems.
8614
8615 2001-04-20  Ben Wing  <ben@xemacs.org>
8616
8617         * .cvsignore: Added stuff for Windows.
8618
8619 2001-04-28  Ben Wing  <ben@xemacs.org>
8620
8621         * buffer.c (Ferase_buffer):
8622         * editfns.c (buffer_insert1):
8623         * editfns.c (Finsert_before_markers):
8624         * editfns.c (Finsert_string):
8625         * editfns.c (Finsert_char):
8626         * editfns.c (Fdelete_region):
8627         * editfns.c (Fwiden):
8628         * editfns.c (Fnarrow_to_region):
8629         remove bogus lines setting zmacs_region_stays to 0.
8630         
8631 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8632
8633         * process-unix.c (unix_open_network_stream): If connect() fails
8634         invalidate file descriptor after closing it.
8635
8636 2001-03-08  Mike Alexander  <mta@arbortext.com>
8637
8638         * event-msw.c (mswindows_need_event_in_modal_loop):
8639         Don't dispatch a message if we didn't get one.
8640         (mswindows_need_event):
8641         Terminate the correct process when one exits instead of the first
8642         one on Vprocess_list and look for process termination when in
8643         mswindows_protect_modal_loop.
8644
8645 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8646
8647         * XEmacs 21.4.1 "Copyleft" is released.
8648
8649 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8650
8651         * input-method-motif.c (XIM_delete_frame): New callback.
8652         (XIM_init_frame): Register it.
8653
8654 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8655
8656         * XEmacs 21.4.0 "Solid Vapor" is released.
8657
8658 2001-04-15  Ben Wing  <ben@xemacs.org>
8659
8660         * cmdloop.c (call_command_loop):
8661         Fix braino in bit-rotting code.
8662         
8663 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8664
8665         * extents.c (Fset_extent_endpoints): Force creation of extent info
8666         in buffer_or_string.
8667
8668         * extents.c (process_extents_for_insertion_mapper): Correctly
8669         check for open-open zero-length extents.
8670
8671 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8672
8673         * lisp.h: New typedefs Memory_count, Element_count.
8674         * regex.c:
8675         * regex.h:
8676         Sign-compare warning elimination: several unsigned -> signed.
8677         Based on work by Ben Wing <ben@xemacs.org>.
8678
8679 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8680
8681         * XEmacs 21.2.47 "Zephir" is released.
8682
8683 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8684
8685         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8686
8687 2001-04-03  Mike Sperber <mike@xemacs.org>
8688
8689         * search.c: Revert previous patch due because of release.
8690
8691 2001-03-30  Ben Wing  <ben@xemacs.org>
8692
8693         * s\cygwin32.h:
8694         Add missing killpg prototype.
8695
8696         * elhash.c:
8697         Add a comment about fixing problems when a new entry is added
8698         while mapping.
8699
8700         * frame-msw.c (mswindows_init_frame_1):
8701         Fix compile warnings.
8702
8703         * menubar.c (vars_of_menubar):
8704         Provide `menu-accelerator-support' to indicate that we properly
8705         support %_ in menu specifications, so that package code can
8706         conditionalize on this (and remove %_ from menu specifications
8707         on older versions).
8708
8709         * event-msw.c:
8710         * scrollbar-msw.c:
8711         * scrollbar-msw.c (can_scroll):
8712         * scrollbar-msw.h:
8713         Fix handling of mouse wheel under Windows to follow standards --
8714         now scrolls window under pointer, not selected window.
8715
8716 2001-03-31  Mike Sperber <mike@xemacs.org>
8717
8718         * search.c (Freplace_match): Support FSF-style specification of
8719         match subexpression when applied to a buffer.
8720
8721 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8722
8723         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8724         function to modify KEYMAP, so map over a copy of the hash table.
8725
8726 2001-03-21  Martin Buchholz <martin@xemacs.org>
8727
8728         * XEmacs 21.2.46 "Urania" is released.
8729
8730 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8731
8732         * realpath.c (xrealpath): Make file-truename work with symlinks to
8733         /cygdrive paths on cygwin. Always lowercase drive-letters on
8734         native windows.
8735         (cygwin_readlink): Don't try to find canonical filename unless
8736         file exists.
8737
8738 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8739
8740         * ChangeLog: Log GTK merge.
8741
8742         * dumper.c:
8743         * select-x.c:
8744         * specifier.c:
8745         * symeval.h:
8746         Revert gratuitous whitespace changes from GTK merge.
8747
8748         * emacs.c: Document end of complex #ifdef @ l. 1495.
8749
8750
8751 2001-03-12  Andy Piper  <andy@xemacs.org>
8752
8753         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8754         have to do likewise.
8755
8756 2001-03-12  Andy Piper  <andy@xemacs.org>
8757
8758         * sysdep.c: we only support mingw now.
8759
8760 2001-03-09  Andy Piper  <andy@xemacs.org>
8761
8762         * unexcw.c (copy_executable_and_dump_data_section): making approx
8763         overrun a warning only.
8764
8765 2001-03-10  William M. Perry  <wmperry@aventail.com>
8766
8767         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8768         satisfy Stephen's identical-after-cpp plea.
8769
8770 2001-03-02  Ben Wing  <ben@xemacs.org>
8771
8772         * cmds.c:
8773         * cmds.c (Fforward_char):
8774         * syntax.c:
8775         * window.c:
8776
8777         Augment documentation of the most common motion commands to make
8778         note of the shifted-motion support.
8779         
8780 2001-03-02  Ben Wing  <ben@xemacs.org>
8781
8782         * nt.c (mswindows_fstat):
8783         * nt.c (mswindows_stat):
8784         * search.c (boyer_moore):
8785         Fix compile warnings under Windows.
8786         
8787         * sysdep.c (sys_readdir):
8788         Fix buggy filename-conversion code under Mule.
8789
8790 2001-03-09  William M. Perry  <wmperry@aventail.com>
8791
8792         * Makefile.in.in:
8793         * config.h.in:
8794         * console.c:
8795         * console.h:
8796         * device.c:
8797         * device.h:
8798         * dragdrop.c:
8799         * emacs.c:
8800         * event-stream.c:
8801         * events.c:
8802         * events.h:
8803         * faces.c:
8804         * frame.h:
8805         * general-slots.h:
8806         * glyphs.c:
8807         * gutter.c:
8808         * inline.c:
8809         * lisp.h:
8810         * lrecord.h:
8811         * make-src-depend:
8812         * redisplay-output.c:
8813         * redisplay.c:
8814         * symsinit.h:
8815         * sysfile.h:
8816         * toolbar.c:
8817         * window.c:
8818         The Great GTK Merge.
8819
8820         * ChangeLog.GTK:
8821         * console-gtk.c:
8822         * console-gtk.h:
8823         * device-gtk.c:
8824         * emacs-marshals.c:
8825         * emacs-widget-accessors.c:
8826         * event-gtk.c:
8827         * frame-gtk.c:
8828         * gccache-gtk.c:
8829         * gccache-gtk.h:
8830         * glade.c:
8831         * glyphs-gtk.c:
8832         * glyphs-gtk.h:
8833         * gtk-glue.c:
8834         * gtk-xemacs.c:
8835         * gtk-xemacs.h:
8836         * gui-gtk.c:
8837         * gui-gtk.h:
8838         * menubar-gtk.c:
8839         * native-gtk-toolbar.c:
8840         * objects-gtk.c:
8841         * objects-gtk.h:
8842         * redisplay-gtk.c:
8843         * scrollbar-gtk.c:
8844         * scrollbar-gtk.h:
8845         * select-gtk.c:
8846         * toolbar-gtk.c:
8847         * ui-byhand.c:
8848         * ui-gtk.c:
8849         * ui-gtk.h:
8850         The Great GTK Merge: new files.
8851
8852 2001-02-26  Ben Wing  <ben@xemacs.org>
8853
8854         Reapplied Lstream change.
8855
8856 2001-02-26  Ben Wing  <ben@xemacs.org>
8857
8858         Undid the last change, since it is more controversial than I
8859         thought.  It should be back in at some point soon.
8860         
8861 2001-02-25  Ben Wing  <ben@xemacs.org>
8862
8863         * buffer.c:
8864         * callproc.c (Fold_call_process_internal):
8865         * event-msw.c (ntpipe_slurp_reader):
8866         * event-msw.c (ntpipe_shove_writer):
8867         * event-msw.c (winsock_reader):
8868         * event-msw.c (winsock_writer):
8869         * file-coding.c:
8870         * file-coding.c (detect_eol_type):
8871         * file-coding.c (detect_coding_type):
8872         * file-coding.c (determine_real_coding_system):
8873         * file-coding.c (Fdetect_coding_region):
8874         * file-coding.c (decoding_reader):
8875         * file-coding.c (decoding_writer):
8876         * file-coding.c (mule_decode):
8877         * file-coding.c (Fdecode_coding_region):
8878         * file-coding.c (encoding_reader):
8879         * file-coding.c (encoding_writer):
8880         * file-coding.c (mule_encode):
8881         * file-coding.c (Fencode_coding_region):
8882         * file-coding.c (detect_coding_sjis):
8883         * file-coding.c (decode_coding_sjis):
8884         * file-coding.c (encode_coding_sjis):
8885         * file-coding.c (detect_coding_big5):
8886         * file-coding.c (decode_coding_big5):
8887         * file-coding.c (encode_coding_big5):
8888         * file-coding.c (detect_coding_ucs4):
8889         * file-coding.c (decode_coding_ucs4):
8890         * file-coding.c (encode_coding_ucs4):
8891         * file-coding.c (detect_coding_utf8):
8892         * file-coding.c (decode_coding_utf8):
8893         * file-coding.c (encode_coding_utf8):
8894         * file-coding.c (detect_coding_iso2022):
8895         * file-coding.c (decode_coding_iso2022):
8896         * file-coding.c (encode_coding_iso2022):
8897         * file-coding.c (decode_coding_no_conversion):
8898         * file-coding.c (encode_coding_no_conversion):
8899         * glyphs-x.c (write_lisp_string_to_temp_file):
8900         * gpmevent.c (tty_get_foreign_selection):
8901         * lisp.h:
8902         * lstream.c:
8903         * lstream.c (Lstream_flush_out):
8904         * lstream.c (Lstream_adding):
8905         * lstream.c (Lstream_write_1):
8906         * lstream.c (Lstream_write):
8907         * lstream.c (Lstream_raw_read):
8908         * lstream.c (Lstream_read_more):
8909         * lstream.c (Lstream_read):
8910         * lstream.c (Lstream_unread):
8911         * lstream.c (Lstream_fputc):
8912         * lstream.c (stdio_reader):
8913         * lstream.c (stdio_writer):
8914         * lstream.c (filedesc_reader):
8915         * lstream.c (filedesc_writer):
8916         * lstream.c (lisp_string_reader):
8917         * lstream.c (struct fixed_buffer_stream):
8918         * lstream.c (make_fixed_buffer_input_stream):
8919         * lstream.c (make_fixed_buffer_output_stream):
8920         * lstream.c (fixed_buffer_reader):
8921         * lstream.c (fixed_buffer_writer):
8922         * lstream.c (struct resizing_buffer_stream):
8923         * lstream.c (resizing_buffer_writer):
8924         * lstream.c (dynarr_writer):
8925         * lstream.c (lisp_buffer_reader):
8926         * lstream.c (lisp_buffer_writer):
8927         * lstream.h:
8928         * lstream.h (lstream_implementation):
8929         * lstream.h (struct lstream):
8930         * md5.c (Fmd5):
8931         * process-nt.c (nt_send_process):
8932         * process-unix.c (unix_send_process):
8933         
8934         Correct Lstream lossage due to mixing of signed and unsigned
8935         quantities.  All Lstream uses of size_t and ssize_t are now a
8936         single signed data type Lstream_data_count.  This fixes problems
8937         under Windows with sending large quantities of data to a process,
8938         and may well fix other subtle bugs.
8939
8940 2001-02-23  Martin Buchholz <martin@xemacs.org>
8941
8942         * XEmacs 21.2.45 "Thelxepeia" is released.
8943
8944 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8945
8946         * lisp-union.h (XSETINT): 
8947         (XSETCHAR):
8948         (XSETOBJ): 
8949         Reverse previous change of 2001-02-06.
8950
8951 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8952
8953         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8954         buffers.
8955         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8956         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8957         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8958         * regex.c (POS_AS_IN_BUFFER): removed
8959         * regex.c (re_search_2):
8960         * regex.c (re_match_2):
8961         Don't use an offset of 1 when calculating buffer positions, since
8962         `BI_BUF_BEGV' does it already.
8963
8964 2001-02-18  Wim Dumon  <wim@easics.be>
8965
8966         * insdel.c (prepare_to_modify_buffer): Also check for
8967         supersession when clash-detection is enabled. 
8968
8969 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8970
8971         * regex.c (re_match_2_internal):
8972         Convert temp characters from 'const unsigned char' to 're_char'.
8973         Fix crashing bug with extended characters under mule.
8974         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8975         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8976         font-lock, pdump, and new syntax-table code.
8977         * syntax.c (find_start_of_comment):
8978         (find_end_of_comment):
8979         (forward-comment):
8980         Fix crashing bugs involving moving beyond end of buffer.
8981         * syntax.c (find_start_of_comment):
8982         Fixed logic to allow proper detection of cases where the same
8983         character is used to end both a two-char comment start and a
8984         two-char comment end sequence. Fixes `(forward-comment -1)'.
8985         * syntax.c (find_start_of_comment):
8986         Return position just past last comment-end character for all cases
8987         (previously was only done for two-char comment-end sequences).
8988         * syntax.c (forward-comment):
8989         Take value returned from `find_end_of_comment', rather than
8990         incrementing it.
8991         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8992         Properly deal with BUFFERP (syntax_cache.object)
8993
8994 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8995
8996         * alloc.c (Fgarbage_collect): 
8997         * alloc.c (make_bit_vector_from_byte_vector):
8998         -Wsign-compare-correctness.
8999
9000 2001-02-16  Martin Buchholz  <martin@xemacs.org>
9001
9002         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
9003         (XSETCHAR): Likewise.
9004         (XSETOBJ): Likewise.
9005
9006 2001-02-15  Martin Buchholz  <martin@xemacs.org>
9007
9008         * mule-canna.c (canna-func-delete_previous): 
9009         Rename to canna-func-delete-previous.
9010
9011 2001-02-14  Martin Buchholz  <martin@xemacs.org>
9012
9013         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
9014
9015 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
9016
9017         * font-lock.c (find_context): Fix C++ compile errors introduced by
9018         recent patch
9019
9020 2001-02-13  Martin Buchholz  <martin@xemacs.org>
9021
9022         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
9023         pragma, but earlier ones barf on the same pragma.
9024
9025 2001-02-06  Mike Sperber <mike@xemacs.org>
9026
9027         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
9028         `configure-mule-lisp-directory'.
9029
9030 2001-02-12  Martin Buchholz  <martin@xemacs.org>
9031
9032         Make sure dump-id.c is compiled in the same way as other .c's.
9033         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
9034         * dump-id.h: Remove.
9035         * emacs.c: Move dump-id.h into dumper.h.
9036         * dumper.h: Move dump-id.h into dumper.h.
9037         * Makefile.in.in:
9038         Use standard .c.o rule for building dump-id.o.
9039         Remove preprocessor flags from link command.
9040         Add dump-id.o to ${otherobjs} if PDUMP.
9041
9042 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9043
9044         Port FSF 20.7 syntax table improvements.
9045         * syntax.c.
9046         * syntax.h.
9047
9048         Fixups for new syntax table stuff.
9049         * dired.c: Include syntax.c.
9050         (Fdirectory_files): Initialize regex_match_object and
9051         regex_emacs_buffer.
9052         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9053         and Fget_char_property.
9054
9055         Use ported FSF 20.7 syntax table improvements.
9056         * font-lock.c.
9057         * regex.c.
9058         * search.c.
9059         
9060 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9061
9062         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9063         Unixware's enum boolean from sys/types.h.
9064
9065 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9066
9067         Fix support for building with latest Purify.
9068         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9069         (PURIFY_FLAGS): Likewise.
9070
9071 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9072
9073         * fileio.c (lisp_string_set_file_times): New.
9074         * fileio.c (Fcopy_file): Use it.
9075         Fixes bug:
9076         (copy-file filename non-ascii-filename t t)
9077         ==> No such file or directory, non-ascii-filename
9078
9079 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9080
9081         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9082         USHRT_MAX seems clearer than ~0 anyways.
9083
9084 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9085
9086         dumper improvements.  Inspired by Olivier.
9087         * dumper.c (pdump_max_align): New.
9088         * dumper.c (pdump_add_entry): Use pdump_max_align.
9089         * dumper.c (pdump_get_entry_list): Likewise.
9090         * dumper.c (pdump_scan_by_alignment): Likewise.
9091         Don't iterate through unnecessary alignments.
9092         * dumper.c (pdump_file_get): No need to align result of malloc().
9093         * dumper.c (pdump_mallocadr): Remove.  
9094         The result of malloc() is guaranteed to be maximally aligned.
9095         * dumper.c: s/elmt/elt/g;
9096         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9097         * dumper.c (pdump_alert_undump_object): Likewise.
9098         * dumper.c (pdump_align_table): 
9099         Don't support alignments > 64.
9100         Store ALIGNOF's, not shift counts, in table.
9101
9102 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9103
9104         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9105         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9106         * systime.h: Use HAVE_UTIME.
9107         * sysdep.c (struct utimbuf): Remove.
9108         * sysdep.c (set_file_times): Prefer utime() to utimes().
9109         * config.h.in (HAVE_UTIME): New.
9110         * config.h.in (HAVE_UTIME_H): Remove.
9111         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9112
9113 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9114
9115         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9116
9117 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9118
9119         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9120
9121 2001-02-08  Martin Buchholz <martin@xemacs.org>
9122
9123         * XEmacs 21.2.44 "Thalia" is released.
9124
9125 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9126
9127         Fixes crashes in kill-emacs on some systems.
9128         * process-unix.c (unix_kill_child_process):
9129         It's OK for kill() to fail with ESRCH.
9130
9131 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9132
9133         Contortions to make .gdbinit tricks work on most systems.
9134         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9135         * alloc.c (dbg_valmask): Make non-const.
9136         * alloc.c (dbg_typemask): Make non-const.
9137         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9138         * alloc.c (dbg_valbits): Make non-const.
9139         * alloc.c (dbg_gctypebits): Make non-const.
9140         * .gdbinit (decode_object): Make it work with AIX cc.
9141
9142 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9143
9144         * elhash.c (make_general_lisp_hash_table):
9145         Use simpler and more efficient calloc to clear entries.
9146
9147 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9148
9149         * window.c (window_scroll): Work around an AIX C compiler bug.
9150         Fixes 'scroll-up' does nothing problem with xlC.
9151
9152 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9153
9154         * .gdbinit: Remove obsolete comment.
9155
9156 2001-01-31  Mike Alexander  <mta@arbortext.com>
9157
9158         * select.c (Fown_selection_internal): Set owned_p for device
9159         method correctly.
9160
9161 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9162
9163         Port to g++ 2.97.
9164         "not" cannot be used as a macro name as it is an operator in C++
9165         * config.h.in: Stop #defining `not'.
9166         * chartab.c (check_category_char): not ==> not_p
9167         * chartab.h: Likewise.
9168         * regex.c (re_match_2_internal): Likewise.
9169
9170 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9171
9172         * lisp-disunion.h: Fix up comments.
9173
9174 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9175
9176         * keymap.c (define_key_check_and_coerce_keysym):
9177         (syms_of_keymap):
9178         Support mouse-6 and mouse-7 bindings in the obvious way.
9179
9180 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9181
9182         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9183
9184 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9185
9186         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9187         Previous patch missed DEFVAR_INT_MAGIC.
9188         Make sure future DEFVAR_foo use correct types.
9189         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9190         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9191         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9192         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9193         * (DEFVAR_INT): Likewise.
9194         * redisplay.c (vertical_clip): Should be of type Fixnum.
9195         * redisplay.c (horizontal_clip): Likewise.
9196         * lisp.h (dump_add_opaque_int): New.
9197         (dump_add_opaque_fixnum): New.
9198
9199 2001-01-29  Andy Piper  <andy@xemacs.org>
9200
9201         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9202         since they can be eval'ed
9203
9204 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9205
9206         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9207         Oops, XEmacs redefines `class'.  Use `typename' instead.
9208
9209 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9210
9211         * dumper.c: Fix C++ compile errors.
9212
9213 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9214
9215         * tparam.c: Use correct prototypes.
9216
9217 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9218
9219         * sysproc.h: #include util.h for NetBSD's openpty.
9220
9221 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9222
9223         More 64-bit correctness.
9224         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9225         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9226         Fix up comments.
9227         This finally finishes the 64-bit SGI port.
9228         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9229         * symbols.c: Fix up comments and type casts.
9230         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9231         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9232         * symeval.h (Fixnum): New type.
9233         * symeval.h (symbol_value_type): Fix up comment.
9234
9235         * commands.h:
9236         * nt.c:
9237         * emacs.c:
9238         * data.c:
9239         * redisplay.c:
9240         * abbrev.c:
9241         * dired-msw.c:
9242         * event-Xt.c:
9243         * eldap.c:
9244         * window.c:
9245         * sound.c:
9246         * event-stream.c:
9247         * eval.c:
9248         * buffer.c:
9249         * mule-canna.c: A million DEFVAR_INTs here...
9250         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9251         * extents.c:
9252         * cmdloop.c:
9253         * lisp.h:
9254         * select-x.c:
9255         * console-x.h:
9256         * event-msw.c:
9257         * mule-wnnfns.c:
9258         * hpplay.c:
9259         * ralloc.c:
9260         * alloc.c:
9261         * keymap.c:
9262         * profile.c:
9263         s/int/Fixnum/g in DEFVAR_INT declarations.
9264
9265 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9266
9267         Port pdump to SGI alignment-sensitive environment.
9268         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9269         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9270         properly aligned.
9271         Define and use aligned reading and writing macros.
9272         Use buffered stdio instead of posix i/o for faster dumping.
9273         Eliminate kludgy 256 byte space for header.
9274         Read and write from dump file using structs for alignment safety.
9275         * dumper.c (pdump_align_stream): New.
9276         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9277         * dumper.c (PDUMP_READ_ALIGNED): New.
9278         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9279         * dumper.c (pdump_static_Lisp_Object): New struct.
9280         * dumper.c (pdump_static_pointer): New struct.
9281         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9282         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9283         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9284         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9285
9286         * dumper.c (pdump_backtrace):
9287         * dumper.c (pdump_get_indirect_count):
9288         * dumper.c (pdump_register_object):
9289         * dumper.c (pdump_register_struct):
9290         * dumper.c (pdump_reloc_one):
9291         * dumper.c (pdump_scan_by_alignment):
9292         * dumper.c (pdump_dump_from_root_struct_ptrs):
9293         * dumper.c (pdump_dump_opaques):
9294         * dumper.c (pdump_dump_rtables):
9295         * dumper.c (pdump_dump_from_root_objects):
9296         * dumper.c (pdump):
9297         * dumper.c (pdump_load_finish):
9298         Use aligned reading and writing.
9299
9300         * dumper.c (pdump_free): Make static.
9301         * dumper.c (pdump_hFile): Likewise.
9302         * dumper.c (pdump_hMap): Likewise.
9303
9304 2001-01-26  Martin Buchholz <martin@xemacs.org>
9305
9306         * XEmacs 21.2.43 "Terspichore" is released.
9307
9308 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9309
9310         Type fiddling for window_config.saved_windows_count
9311         * window.c (struct window_config): 
9312         Make saved_windows_count member unsigned.
9313         * window.c (sizeof_window_config_for_n_windows): 
9314         Make parameter unsigned.
9315         * window.c (mark_window_config):
9316         * window.c (window_config_equal):
9317         * window.c (free_window_configuration):
9318         * window.c (Fset_window_configuration):
9319         * window.c (count_windows):
9320         * window.c (Fcurrent_window_configuration):
9321         * window.c (reinit_vars_of_window):
9322         Update all callers and users.
9323
9324 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9325
9326         Alignment correctness for flexible arrays.
9327         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9328         Make alignment-correct. Add interesting comments.
9329         * alloc.c (size_vector):
9330         * alloc.c (make_vector_internal):
9331         * alloc.c (make_bit_vector_internal):
9332         * alloc.c (sweep_bit_vectors_1):
9333         * fns.c (size_bit_vector):
9334         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9335         * window.c (sizeof_window_config_for_n_windows): 
9336         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9337
9338 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9339
9340         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9341
9342 2001-01-23  Andy Piper  <andy@xemacs.org>
9343
9344         * select.c (Fown_selection_internal): pass owned_p
9345
9346         * select-msw.c (mswindows_own_selection): New Signature.
9347
9348         * console.h (struct console_methods): add owned_p to
9349         _own_selection.
9350
9351         * select-x.c (x_own_selection): pass owned_p
9352         (hack_motif_clipboard_selection): use owned_p
9353         (vars_of_select_x): new variable -
9354         x_selection_strict_motif_ownership.
9355
9356 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9357
9358         * specifier.h (specifier_data_offset): Remove pointless parens.
9359         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9360
9361 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9362
9363         Make Lisp_Object sizeof methods be alignment-correct.
9364         pdump must restore objects to the same alignment as the C compiler
9365         assumes.  It really matters on SGIs.
9366         * lstream.c (aligned_sizeof_lstream): New.
9367         (sizeof_lstream): Use aligned_sizeof_lstream.
9368         (Lstream_new): Likewise.
9369         * opaque.c (aligned_sizeof_opaque): New.
9370         (sizeof_opaque): Use aligned_sizeof_opaque.
9371         (make_opaque): Likewise.
9372         * specifier.c (aligned_sizeof_specifier): New.
9373         (sizeof_specifier): Use aligned_sizeof_specifier.
9374         (make_specifier_internal): Likewise.
9375
9376 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9377
9378         * lstream.h (struct lstream): Use max_align_t for trailing data.
9379         * specifier.h (struct Lisp_Specifier): Likewise.
9380
9381 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9382
9383         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9384         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9385         (CCL_SUSPEND): Likewise.
9386         (CCL_INVALID_CMD): Likewise.
9387         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9388         (ccl_driver): Likewise.
9389         (CCL_WRITE_CHAR): Macro hygiene.
9390         (CCL_WRITE_STRING): Macro hygiene.
9391
9392 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9393
9394         Port "portable" dumper to SunOS 4 and HP-UX.
9395         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9396         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9397         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9398
9399 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9400
9401         * lisp.h (ALIGNOF): A better definition for C++.
9402
9403 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9404
9405         Macro hygiene.
9406         Fix printf warnings: int format, long int arg.
9407         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9408         (PUSH_FAILURE_POINT): Use correct printf formats.
9409         (POP_FAILURE_POINT): Use correct printf formats.  
9410         Use do {...} while (0)
9411
9412 2001-01-20  Martin Buchholz <martin@xemacs.org>
9413
9414         * XEmacs 21.2.42 "Poseidon" is released.
9415
9416 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9417
9418         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9419
9420 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9421
9422         De-kludgify FIXED_TYPE free list frobbing.
9423         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9424         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9425         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9426         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9427         * alloc.c (LRECORD_FREE_P): New.
9428         * alloc.c (MARK_LRECORD_AS_FREE): New.
9429         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9430         * alloc.c (STRUCT_FREE_P): Deleted.
9431         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9432         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9433         * alloc.c (STRING_CHARS_FREE_P): New.
9434         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9435         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9436         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9437         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9438         * alloc.c (resize_string): Use new definitions.
9439         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9440         * alloc.c (verify_string_chars_integrity): Use new definitions.
9441         * alloc.c (compact_string_chars): Use new definitions.
9442         * alloc.c: Update monster comments.
9443         * lrecord.h (lrecord_type): Add some new lrecord types for
9444         alloc.c's use.
9445
9446 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9447
9448         Improve alignment hackery.
9449         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9450         (max_align_t): Moved from opaque.h - general purpose.
9451         (ALIGN_PTR): Use size_t, not long.
9452         * opaque.h (max_align_t): Move to lisp.h.
9453
9454 2001-01-18  Norbert Koch  <nk@LF.net>
9455
9456         * gui.h: Fix and add prototypes to fix build problems.
9457
9458 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9459
9460         temacs is going away, so `dump-temacs' is now a bad name.
9461         * .dbxrc (dump-temacs): Rename to `dmp'.
9462         * .gdbinit (dump-temacs): Rename to `dmp'.
9463
9464 2001-01-17  Andy Piper  <andy@xemacs.org>
9465
9466         * glyphs.c (print_image_instance): comment to make martin happy.
9467
9468         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9469         change.
9470
9471         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9472         activation.
9473         (mswindows_tab_control_redisplay): warning suppression.
9474
9475         * glyphs-widget.c (widget_update): re-write to cope with updated
9476         items.
9477         (widget_instantiate): use new gui_item functions.
9478         (tab_control_update): deleted.
9479         (progress_gauge_update): deleted.
9480         (image_instantiator_progress_guage): take out update reference.
9481         (image_instantiator_tree_view): ditto.
9482         (image_instantiator_tab_control): ditto.
9483
9484         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9485         Right the new way.
9486         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9487         return whether anything was changed.
9488         (update_gui_item_keywords): as it sounds.
9489
9490         * gui.h: declare widget_gui_parse_item_keywords.
9491
9492         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9493         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9494
9495 2001-01-17  Martin Buchholz <martin@xemacs.org>
9496
9497         * XEmacs 21.2.41 "Polyhymnia" is released.
9498
9499 2001-01-16  Didier Verna  <didier@xemacs.org>
9500
9501         * glyphs.c (image_instantiate): don't use fallbacks when
9502         instantiating a face's background pixmap by inheritance.
9503
9504 2001-01-14  Mike Sperber <mike@xemacs.org>
9505
9506         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9507         Conditionalize accordingly.
9508
9509 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9510
9511         * dumper.c (pdump_file_get): Fix a compiler warning.
9512
9513 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9514
9515         Make Purify happy when pdumping.
9516         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9517         iniitalizing all bits of new lisp object memory.
9518         * symbols.c (Fmake_local_variable): Likewise.
9519         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9520         * symbols.c (Fdefvaralias): Likewise.
9521         * mule-charset.c (vars_of_mule_charset): Likewise.
9522
9523 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9524         Add the `-nd' flag when running pre-dump operations under the debugger.
9525         * .dbxrc (run-temacs): Add `-nd'.
9526         * .dbxrc (update-elc): Likewise.
9527         * .dbxrc (dump-temacs): Likewise.
9528         * .gdbinit (run-temacs): Likewise.
9529         * .gdbinit (check-temacs): Likewise.
9530         * .gdbinit (update-elc): Likewise.
9531         * .gdbinit (dump-temacs): Likewise.
9532
9533 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9534
9535         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9536         export OBJECT_MODE=64
9537         configure --pdump --use-union-type=no
9538         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9539         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9540
9541         * miscplay.c (sndcnv8U_2mono):
9542         Avoid two uses of `++' in the same expression.
9543         Suppresses a GCC warning.
9544
9545 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9546
9547         Make sure future compilers don't miscompile alloc.c.
9548         * alloc.c:
9549         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9550         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9551
9552 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9553
9554         * dumper.c: A little post-pdump-rename comment fixup.
9555
9556 2001-01-09  Jerry James  <james@eecs.ku.edu>
9557
9558         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9559
9560 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9561
9562         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9563         script:
9564         #!/bin/sh
9565         replace_symbol () {
9566           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9567         }
9568
9569         replace_symbol pdump_wire_lists pdump_weak_object_chains
9570         replace_symbol pdump_wire_list dump_add_weak_object_chain
9571
9572         replace_symbol pdump_wires pdump_root_objects
9573         replace_symbol pdump_wire dump_add_root_object
9574
9575         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9576         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9577
9578         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9579         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9580         replace_symbol dumpstructinfo pdump_root_struct_ptr
9581         replace_symbol dumpstruct dump_add_root_struct_ptr
9582
9583         replace_symbol dumpopaque dump_add_opaque
9584         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9585         replace_symbol dumpopaqueinfos pdump_opaques
9586         replace_symbol dumpopaqueinfo pdump_opaque
9587
9588         replace_symbol nb_structdump nb_root_struct_ptrs
9589         replace_symbol nb_opaquedump nb_opaques
9590
9591         replace_symbol align_table pdump_align_table
9592         replace_symbol dump_header pdump_header
9593
9594         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9595         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9596
9597
9598 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9599
9600         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9601         optimizing bytecount_to_charcount().
9602
9603 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9604
9605         * config.h.in:
9606         (HAVE_DLFCN_H): Removed.
9607         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9608
9609 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9610
9611         Portable dumper maintainability improvements.
9612         * alloc.c (staticpro):
9613         * alloc.c (staticpro_nodump):
9614         * alloc.c (garbage_collect_1):
9615         * alloc.c (reinit_alloc_once_early):
9616         * alloc.c (init_alloc_once_early):
9617         * alloc.c: Move dumper functions to alloc.c.
9618         * dumper.c (pdump_backtrace):
9619         * dumper.c (pdump_dump_structs):
9620         * dumper.c (pdump_dump_opaques):
9621         * dumper.c (pdump_dump_rtables):
9622         * dumper.c (pdump_dump_wired):
9623         * dumper.c (pdump):
9624         * dumper.c (pdump_load_check):
9625         * dumper.c (pdump_load_finish):
9626         * dumper.c (pdump_file_unmap):
9627         * dumper.c (pdump_file_get):
9628         * dumper.c (pdump_resource_free):
9629         * dumper.c (pdump_resource_get):
9630         * dumper.c (pdump_file_free):
9631         * dumper.c (pdump_file_try):
9632         * dumper.c (pdump_load):
9633         Remove fixed size limits on staticpro(), staticpro_nodump(),
9634         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9635         Remove custom code for dumping lrecord_implementations_table - use
9636         dumpopaque instead.
9637         Remove (most of the) custom code for dumping staticpros - dump it
9638         like any other dynarr.
9639
9640         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9641         * dumper.c: Moved functions from alloc.c.
9642         * alloc.c (dumpstruct): Moved to dumper.c.
9643         * alloc.c (dumpopaque): Likewise.
9644         * alloc.c (pdump_wire): Likewise.
9645         * alloc.c (pdump_wire_list): Likewise.
9646
9647         * lisp.h (Dynarr_sizeof): New.
9648         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9649         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9650         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9651
9652         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9653         * lisp.h (dumpopaque): ditto.
9654         * lisp.h (pdump_wire): ditto.
9655         * lisp.h (pdump_wire_list): ditto.
9656
9657 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9658
9659         * make-src-depend (PrintPatternDeps):
9660         Use `sort' to make output independent of perl version.
9661
9662 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9663
9664         Port to Netbsd 1.5.
9665         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9666         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9667
9668 2001-01-03  Didier Verna  <didier@xemacs.org>
9669
9670         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9671         that `focus_frame' is alive before thinking of calling
9672         `redisplay_redraw_cursor' on it.
9673
9674 2001-01-08  Martin Buchholz <martin@xemacs.org>
9675
9676         * XEmacs 21.2.40 is released.
9677
9678 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9679
9680         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9681
9682 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9683
9684         * alloc.c (dbg_valmask): Make const.
9685         * alloc.c (dbg_typemask): Make const.
9686         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9687         * alloc.c (dbg_valbits): Make const.
9688         * alloc.c (dbg_gctypebits): Make const.
9689
9690 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9691
9692         * redisplay-x.c (x_bevel_area):
9693         redisplay.h (struct rune):
9694         Typo fixes in comments.
9695
9696 2001-01-05  Andy Piper  <andy@xemacs.org>
9697
9698         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9699         adjustment.
9700
9701         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9702
9703 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9704
9705         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9706
9707         * mule-ccl.c (stack_idx_of_map_multiple):
9708         Non const global data must not be initialized!
9709         Found by MIYASHITA Hisashi.
9710
9711 2001-01-02  Andy Piper  <andy@xemacs.org>
9712
9713         * frame.c (change_frame_size): make sure frame size is always
9714         marked as changed.
9715
9716         * glyphs.c (image_instance_layout): minor code reuse.
9717
9718         * window.c (Fcurrent_window_configuration): revert previous
9719         change.
9720
9721 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9722
9723         * glyphs.h:
9724         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9725
9726 2000-12-31  Andy Piper  <andy@xemacs.org>
9727
9728         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9729         when widget gets unmapped.
9730
9731         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9732         function. Make sure widgets losing focus don't just drop it.
9733         (handle_focus_event_1): record the widget with focus.
9734
9735 2000-12-31  Andy Piper  <andy@xemacs.org>
9736
9737         * window.c (allocate_window): use
9738         make_image_instance_cache_hash_table.
9739         (make_dummy_parent): ditto.
9740         (Fset_window_configuration): ditto.
9741
9742         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9743
9744         * glyphs.c (process_image_string_instantiator): use
9745         INSTANTIATOR_TYPE.
9746         (get_image_instantiator_governing_domain): ditto.
9747         (normalize_image_instantiator): ditto.
9748         (instantiate_image_instantiator): ditto.
9749         (make_image_instance_1): ditto.
9750         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9751         (instantiator_eq_equal): new function for use with instance hash
9752         tables.
9753         (instantiator_eq_hash): ditto.
9754         (make_image_instance_cache_hash_table): create a suitable hash
9755         table for storing image instances.
9756
9757         * elhash.h (hash_table_weakness): new internal weakness type
9758         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9759         declare new functions.
9760
9761         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9762         another weakness type for glyphs.
9763         (make_standard_lisp_hash_table): new function split out from
9764         make_general_lisp_hash_table.
9765         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9766         (hash_table_instantiate): ditto.
9767         (Fmake_hash_table): ditto.
9768
9769 2000-12-31  Martin Buchholz <martin@xemacs.org>
9770
9771         * XEmacs 21.2.39 is released.
9772
9773 2000-12-29  Andy Piper  <andy@xemacs.org>
9774
9775         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9776
9777         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9778         the frame has changed so that we pick up geometry changes such as
9779         menubar visibility.
9780
9781 2000-12-28  Andy Piper  <andy@xemacs.org>
9782
9783         * lastfile.c (my_ebss): make a char array so we can pad the
9784         bss. Fixes cygwin unexec.
9785
9786         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9787
9788 2000-12-26  Andy Piper  <andy@xemacs.org>
9789
9790         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9791         comments and try and be more precise about a non-/SIGIO world.
9792         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9793         SIGIO.
9794
9795         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9796         we don't normalize to zero width or height.
9797
9798 2000-12-24  Andy Piper  <andy@xemacs.org>
9799
9800         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9801
9802 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9803
9804         * s/sco5.h: SCO 5 has pty support.
9805
9806 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9807
9808         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9809         input-method-xlib.c contains whole contents of input-method-xfs.c,
9810         so we can use input-method-xlib.c's code for USE_XFONTSET
9811         using #ifdefs.
9812         * input-method-xfs.c: removed.
9813
9814 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9815
9816         * file-coding.h (enum coding_category_type): reorder enumerators to
9817         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9818         (now one greater than largest real coding_category_type enumerator).
9819         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9820         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9821         Fcoding_category_list, Fset_coding_priority_list,
9822         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9823         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9824
9825 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9826
9827         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9828         * redisplay-output.c (redisplay_output_window): Clear top of window
9829         when face is changed.
9830         * redisplay-x.c (x_redraw_exposed_window): Call
9831         redisplay_clear_top_of_window.
9832         * redisplay.h: Publish redisplay_clear_top_of_window.
9833
9834 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9835
9836         * buffer.c (Fkill_buffer): Map over all devices.
9837         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9838         (list_windows): New function.
9839         (list_all_windows): Ditto.
9840         (Freplace_buffer_in_windows): Use them.
9841
9842 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9843
9844         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9845         (Fopen_database): Use `db_create' instead of `db_open'.
9846         (syms_of_database): Initialize Qqueue.
9847
9848 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9849
9850         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9851         buffer_local_face_property.
9852         * buffer.h (struct buffer): New member buffer_local_face_property.
9853         * window.c (Fset_window_buffer):  Mark window's face as changed
9854         when buffer has buffer local face.
9855         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9856         * objects.c (color_after_change): Set buffer_local_face_property
9857         when locale of face specifier is buffer.
9858         * objects.c (font_after_change): Ditto.
9859         * objects.c (face_boolean_after_change): Ditto.
9860         * glyphs.c (image_after_change): Ditto.
9861
9862 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9863
9864         * nt.c (mswindows_fstat): Report file permissions, volume serial
9865         number, etc. Code adapted from FSF Emacs 20.7.
9866
9867 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9868
9869         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9870         of stat when we don't have symbolic links, to make sure
9871         mswindows_stat is called on mswindows.
9872
9873 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9874
9875         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9876
9877 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9878
9879         * doprnt.c (emacs_doprnt_1): More printing fixes.
9880         Make printing of numbers compatible with libc and FSF Emacs.
9881         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9882         Use the system printf to do most of the hard work of formatting,
9883         instead of doprnt_1().
9884         Calculate memory to allocate for format string.
9885         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9886         (doprnt_1): Cleaner code and documentation.
9887
9888 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9889
9890         * Makefile.in.in: Use the loop variable to install headers.
9891
9892 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9893
9894         * window.c (Fsplit_window): Don't invalidate face cache.
9895
9896 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9897
9898         * minibuf.c (Fall_completions): Undo the previous change
9899         which removed checking elements start with space.
9900
9901 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9902
9903         * mule-canna.c: Didier suppression.
9904
9905 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9906
9907         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9908         (warning suppression).  Add English comment translations.
9909
9910 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9911
9912         * unexelfsgi.c (unexec): Better test for mmap failure.
9913
9914 2000-12-05  Martin Buchholz <martin@xemacs.org>
9915
9916         * XEmacs 21.2.38 is released.
9917
9918 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9919
9920         * redisplay.c (bar-cursor): Make a user variable.
9921
9922         * symsinit.h: Add init_postgresql_from_environment.
9923
9924 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9925
9926         * regex.c: Convert to clean C.
9927
9928 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9929
9930         * realpath.c:
9931         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9932         initialization.
9933         (sys_readlink): renamed to system_readlink to avoid conflict with
9934         the other sys_readlink.
9935
9936 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9937
9938         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9939
9940 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9941
9942         * postgresql.c (init_postgresql_from_environment): new function.
9943         (vars_of_postgresql): Move code initializing Lisp variables out and
9944         into init_postgresql_from_environment.
9945         emacs.c (main_1): Call init_postgresql_from_environment if and only
9946         if running a dumped XEmacs.
9947
9948 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9949
9950         * buffer.c: Make find-file-compare-truenames default to true on
9951         windows.
9952
9953         * realpath.c (win32_abs_start):
9954         (cygwin_readlink):
9955         (win32_readlink): New functions.
9956         (xrealpath): Return really real filenames on windows.
9957
9958         * fileio.c (Ffile_truename): Make file-truename work on windows.
9959
9960 2000-11-29  Didier Verna  <didier@xemacs.org>
9961
9962         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9963         * faces.c (update_face_cachel_data): use it.
9964         * faces.c (add_face_cachel): use it. Complete background pixmap
9965         frobbing in face cache if `update_face_cachel_data' has not done so.
9966
9967 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9968
9969         * search.c (string_match_1): Don't set last_thing_searched
9970         when search failed.
9971
9972 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9973
9974         * buffer.c: Include casetab.h
9975         (common_init_complex_vars_of_buffer): Use new case-table object.
9976         * buffer.h: Include casetab.h
9977         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9978         (DOWNCASE_TABLE_OF): Ditto.
9979         * bufslots.h: Remove char-tables and add case-table.
9980         * casetab.c: Include casetab.h
9981         (CASE_TABLE_P): Removed.
9982         (mark_case_table): New function.
9983         (allocate_case_table): New function.
9984         (Fcase_table_p): Use new case-table.
9985         (case_table_char): New function.
9986         (Fget_case_table): Ditto.
9987         (Fput_case_table): Ditto.
9988         (Fput_case_table_pair): Ditto.
9989         (Fcopy_case_table): Ditto.
9990         (Fcurrent_case_table): Return case-table.
9991         (Fstandard_case_table): Return case-table.
9992         (Fset_case_table): Fix doc-string.
9993         (set_case_table): Use case-table
9994         (syms_of_casetab): DEFSUBR new functions.
9995         (complex_vars_of_casetab): Set up standard case-table.
9996         * casetab.h: New file.
9997         * editfns.c: Include casetab.h
9998         (Fcompare_buffer_substrings): Use case-table.
9999         * inline.c: Include casetab.h
10000         * lisp.h: Remove bogus extern.
10001         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
10002         * search.c: Include casetab.h
10003         (TRANSLATE_ASCII): Removed.
10004         (TRANSLATE): Unconditionally translate character.
10005         (looking_at_1): Use case-table.
10006         (string_match_1): Ditto.
10007         (fast_string_match): Ditto.
10008         (search_command): Ditto.
10009         (search_buffer): Separate boyer_moore.  Check whether
10010         boyer_moore is possible.
10011         (simple_search): New function.
10012         (boyer_moore): Separated from search_buffer. Translate char.
10013
10014 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
10015
10016         * regex.c (RE_TR_ASCII): Removed.
10017         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
10018         (PATFETCH): Call PATFETCH_RAW.
10019         (PATFETCH_RAW): Fetch Emchar.
10020         (PATUNFETCH): Decrement charptr.
10021         (GET_BUFFER_SPACE): Rename b to buf_end.
10022         (BUF_PUSH): Ditto.
10023         (BUF_PUSH_2): Ditto.
10024         (BUF_PUSH_3): Ditto.
10025         (EXTEND_BUFFER): Ditto.
10026         (SET_LIST_BIT): Ditto.
10027         (regex_compile): Ditto.  Translate non ASCII char.
10028         (compile_range): Ditto.
10029         (re_search_2): Ditto.
10030         (re_match_2_internal): Compare Emchar.
10031         (bcmp_translate): Ditto.
10032
10033 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
10034
10035         * lisp.h (basic char/int typedefs):  comment improvement.
10036
10037 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10038
10039         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10040         unstomp inhibit_site_lisp.  Improve comments.
10041
10042 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10043
10044         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10045
10046 2000-11-28  Andy Piper  <andy@xemacs.org>
10047
10048         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10049         clipped display for windows in the gutter also.
10050         (redisplay_display_boxes_in_window_p): change semantics of return
10051         codes to be more intuitive.
10052
10053         * gutter.h: declare display_boxes_in_gutter_p.
10054
10055         * gutter.c (display_boxes_in_gutter_p): new function for
10056         redisplay.
10057
10058 2000-11-22  Andy Piper  <andy@xemacs.org>
10059
10060         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10061         autodetect domain.
10062
10063 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10064
10065         * callproc.c (Fold_call_process_internal):
10066         * gpm.c (Freceive_gpm_event):
10067         (tty_get_foreign_selection): Might be just warning supression.
10068         * fileio.c (Fwrite_region_internal):
10069         (Fset_visited_file_modtime):
10070         * keymap.c (event_matches_key_specifier_p):
10071         Initialize GCPROed variable.
10072
10073         * menubar-x.c (command_builder_find_menu_accelerator):
10074         Initialize before use.
10075
10076 2000-11-23  Andy Piper  <andy@xemacs.org>
10077
10078         * unexcw.c (unexec): make the resulting executable executable.
10079
10080 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10081
10082         * doc.c (get_doc_string):
10083         Use size_t, not int, for result of XSTRING_LENGTH.
10084
10085         * cmds.c (Fdelete_char):
10086         * cmds.c (Fpoint_at_eol):
10087         * cmds.c (Fself_insert_command):
10088         Use EMACS_INT, not int, for result of XINT.
10089         Someday, someone will want to insert more than 2**31 identical characters.
10090
10091         * cmds.c (Fdelete_char):
10092         * cmds.c (Fdelete_backward_char):
10093         * syntax.c (Fforward_word):
10094         * syntax.c (Fforward_comment):
10095         Make COUNT argument optional, for consistency with forward-char et al.
10096
10097 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10098
10099         * lisp.h:
10100         * print.c (long_to_string):
10101         Return a useful value: the pointer at end of data written.
10102
10103         * doprnt.c:
10104         Use `static const char * const' for constant strings.
10105         (union printf_arg): Delete `i', `ui' members.
10106         (get_doprnt_args):
10107         (emacs_doprnt_1):
10108         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10109         Do all printf-ing via the `l' specifier.
10110         Use EMACS_INT instead of int.
10111         Optimize.
10112
10113 2000-11-20  Didier Verna  <didier@xemacs.org>
10114
10115         * faces.c (update_face_cachel_data): don't frob the background
10116         pixmap when the window is being created. The face is needed but
10117         does not exist yet.
10118
10119 2000-11-20  Andy Piper  <andy@xemacs.org>
10120
10121         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10122         messing with a debug environment.
10123
10124 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10125
10126         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10127
10128 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10129
10130         * casetab.c (Fcase_table_p): Fix compile error and crash.
10131
10132 2000-11-18  Philip Aston  <philipa@mail.com>
10133
10134         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10135
10136 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10137
10138         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10139         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10140
10141 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10142
10143         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10144         * unexelf.c: Use HAVE_ELF_H.
10145         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10146         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10147         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10148         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10149         for testing.
10150         So this is an unexelfsgi.c from a different line of development.
10151
10152 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10153
10154         * regex.c (RE_TR_ASCII): New function.
10155         (RE_TRANSLATE): Call it.
10156
10157 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10158
10159         * buffer.h (TRT_TABLE_OF): Remove assert.
10160         (IN_TRT_TABLE_DOMAIN): Removed.
10161
10162 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10163
10164         * free-hook.c (log_gcpro):
10165         (show_gcprohist): Add support for GCPRO5.
10166
10167 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10168
10169         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10170
10171 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10172
10173         * symeval.h: Declare flush_all_buffer_local_cache.
10174
10175         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10176         (flush_buffer_local_cache): Added.
10177         (flush_all_buffer_local_cache): Added.
10178
10179         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10180
10181         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10182         (pdump_dump_data): Ditto.
10183         (pdump_reloc_one): Ditto.
10184         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10185         before dumping.
10186
10187
10188 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10189
10190         * buffer.c: Remove if 0'ed entry.
10191         * buffer.h: Rewrite TRT to use char-table.
10192         * bufslots.h: Remove mirror tables.
10193         * casetab.c: Remove mirror tables.
10194         (CASE_TABLE_P): New macro.
10195         (Fcase_table_p): Element of a case table is string or char-table.
10196         (make_mirror_trt_table): Removed.
10197         (set_case_table): Setup char-table from strings for backward
10198         compatibility.
10199         * dired.c (Fdirectory_files):
10200         * dired-msw.c: (mswindows_get_files):
10201         * lisp.h: Change prototype of re_pattern_buffer.
10202         * regex.c: (RE_TRANSLATE): New macro.
10203         (TRANSLATE_P): Ditto.
10204         Change translate to type RE_TRANSLATE_TYPE.
10205         * regex.h: Define RE_TRANSLATE_TYPE
10206         * search.c (TRANSLATE): New macro.
10207         (TRANSLATE_ASCII): New macro.
10208         Translate table is changed to Lisp_Object.
10209         (signal_failure): Inhibit return.
10210
10211 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10212
10213         * device-msw.c:
10214         * eldap.c:
10215         * event-Xt.c:
10216         * event-stream.c:
10217         * print.c:
10218         Do UNGCPRO before return.
10219
10220 2000-11-14  Martin Buchholz <martin@xemacs.org>
10221
10222         * XEmacs 21.2.37 is released.
10223
10224 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10225
10226         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10227         Add comments about discarded return value.
10228
10229 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10230
10231         * callint.c:
10232         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10233
10234 2000-10-27  Andy Piper  <andy@xemacs.org>
10235
10236         * gutter.c (Fset_default_gutter_position): default left and right
10237         gutters to visible.
10238         (calculate_gutter_size): calculate resonable heuristic for left
10239         and right gutter sizes.
10240         (specifier_vars_of_gutter): change left and right gutter sizes to
10241         autodetect.
10242         (calculate_gutter_size_from_display_lines): new function.
10243         (output_gutter): check for resizing on left and right gutters.
10244         (clear_gutter): don't special case top and left gutters.
10245         (specifier_vars_of_gutter): use new signature for
10246         set_specifier_caching.
10247
10248         * glyphs-x.c (x_redisplay_widget): spelling fix.
10249         * glyphs.c (specifier_vars_of_glyphs):
10250         * menubar.c (specifier_vars_of_menubar):
10251         * redisplay.c (specifier_vars_of_redisplay):
10252         * toolbar.c (specifier_vars_of_toolbar):
10253         * window.c (specifier_vars_of_window):
10254         * scrollbar.c (specifier_vars_of_scrollbar):
10255         (complex_vars_of_scrollbar): use new signature for
10256         set_specifier_caching.
10257
10258         * specifier.c (set_specifier_caching): include recompute flag.
10259         (recompute_one_cached_specifier_in_window): always recompute if
10260         flag set.
10261         (recompute_one_cached_specifier_in_frame): ditto.
10262
10263         * specifier.h (struct specifier_caching): add recompute flag.
10264
10265 2000-10-24  Andy Piper  <andy@xemacs.org>
10266
10267         * unexcw.c (copy_executable_and_dump_data_section): add new
10268         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10269         5.0 happy.
10270
10271 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10272
10273         * console-x.h (x_device): New member modifier_release_time.
10274         * event-Xt.c (x_handle_sticky_modifiers):
10275         Bound interval modifier keys are sticky.
10276         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10277         * events.h: extern it.
10278
10279 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10280
10281         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10282
10283 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10284
10285         * event-stream.c (execute_command_event): Preserve current_events
10286         and the like when event is misc-user-event.
10287         Inhibit quit during the call to maybe_echo_keys.
10288
10289 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10290
10291         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10292         symlink when buffer is killed.
10293         (inhibit_clash_detection): New variable.
10294
10295 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10296
10297         * console.c (Fset_input_method): Trigger redisplay on tty.
10298
10299 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10300
10301         * process.c (Fprocess_status): Revert to previous behavior:
10302         (process-status "nosuchprocess") ==> nil
10303
10304 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10305
10306         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10307         Work around another GCC 2.95.2 optimizer bug.
10308
10309 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10310
10311         * process.c (Fget_process): Use LIST_LOOP_2.
10312         (kill_buffer_processes): Use LIST_LOOP_2.
10313
10314         * minibuf.c (Fall_completions):
10315         Delete old non-functional code for FSF fourth argument.
10316
10317         * frame.c (frame_matches_frame_spec):
10318         Renamed from `frame_matches_frametype'.  Update all callers.
10319         (device_matches_device_spec):
10320         Renamed from 'device_matches_console_spec'.  Update all callers.
10321
10322         * doc.c (Fsubstitute_command_keys):
10323         Remove buffer overflow crash.  Small code cleanups.
10324
10325         * casetab.c (check_case_table): Simpler code.
10326
10327         * window.c (Freplace_buffer_in_windows):
10328         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10329         (and similar implementation) as Fdelete_windows_on.
10330         Update all callers.
10331
10332         * alloc.c (Fmake_list):
10333         * alloc.c (make_vector):
10334         * alloc.c (Fmake_vector):
10335         * alloc.c (make_bit_vector):
10336         * alloc.c (Fmake_bit_vector):
10337         * alloc.c (Fbit_vector):
10338         * alloc.c (Fmake_string):
10339         * alloc.c (Fpurecopy):
10340         * alloc.c (Fmemory_limit):
10341         * buffer.c:
10342         * buffer.c (Fget_buffer):
10343         * buffer.c (Fkill_buffer):
10344         * buffer.c (complex_vars_of_buffer):
10345         * bytecode.c (Fcompiled_function_stack_depth):
10346         * callint.c (Fprefix_numeric_value):
10347         * event-stream.c:
10348         * event-stream.c (Fread_key_sequence):
10349         * casetab.c:
10350         * casetab.c (Fcase_table_p):
10351         * casetab.c (check_case_table):
10352         * casetab.c (Fset_case_table):
10353         * casetab.c (Fset_standard_case_table):
10354         * chartab.c:
10355         * chartab.c (Fchar_table_type):
10356         * chartab.c (Freset_char_table):
10357         * chartab.c (Fget_char_table):
10358         * chartab.c (Fget_range_char_table):
10359         * chartab.c (Fput_char_table):
10360         * chartab.c (Fmap_char_table):
10361         * chartab.c (Fcategory_table_p):
10362         * chartab.c (Fcheck_category_at):
10363         * chartab.c (Fchar_in_category_p):
10364         * chartab.c (Fcategory_table):
10365         * chartab.c (Fcopy_category_table):
10366         * chartab.c (Fset_category_table):
10367         * chartab.c (Fcategory_designator_p):
10368         * chartab.c (Fcategory_table_value_p):
10369         * cmds.c (Fdelete_char):
10370         * cmds.c (Fdelete_backward_char):
10371         * cmds.c (Fself_insert_command):
10372         * cmds.c (Fself_insert_internal):
10373         * console.c (Fvalid_console_type_p):
10374         * console.c (Fcdfw_console):
10375         * console.c (Fconsole_type):
10376         * console.c (Fconsole_name):
10377         * console.c (Fconsole_device_list):
10378         * console.c (Fconsole_on_window_system_p):
10379         * data.c:
10380         * data.c (Feq):
10381         * data.c (Fold_eq):
10382         * data.c (Fsubr_interactive):
10383         * data.c (Fchar_to_int):
10384         * data.c (Fint_to_char):
10385         * data.c (Fsetcar):
10386         * data.c (Fsetcdr):
10387         * data.c (Fnumber_to_string):
10388         * data.c (Fstring_to_number):
10389         * data.c (Frem):
10390         * database.c (mark_database):
10391         * database.c (finalize_database):
10392         * database.c (Fdatabase_live_p):
10393         * database.c (Fdatabasep):
10394         * device-x.c (Fx_get_resource):
10395         * device.c (Fdfw_device):
10396         * dired.c:
10397         * dired.c (Ffile_name_completion):
10398         * dired.c (Ffile_name_all_completions):
10399         * dired.c (Fuser_name_completion):
10400         * dired.c (Fuser_name_completion_1):
10401         * dired.c (Fuser_name_all_completions):
10402         * doc.c (Fdocumentation):
10403         * doc.c (Fdocumentation_property):
10404         * doc.c (Fsubstitute_command_keys):
10405         * editfns.c:
10406         * editfns.c (Fchar_to_string):
10407         * editfns.c (Fstring_to_char):
10408         * editfns.c (Ftemp_directory):
10409         * editfns.c (Finsert_char):
10410         * editfns.c (Fbuffer_substring_no_properties):
10411         * editfns.c (Fnarrow_to_region):
10412         * editfns.c (Fchar_equal):
10413         * editfns.c (Fchar_Equal):
10414         * editfns.c (Ftranspose_regions):
10415         * emacs.c (Fdump_emacs):
10416         * eval.c (Fthrow):
10417         * eval.c (Fcommand_execute):
10418         * eval.c (Fautoload):
10419         * eval.c (Fbacktrace):
10420         * eval.c (Fbacktrace_frame):
10421         * events.c:
10422         * events.c (Fcopy_event):
10423         * events.c (Fcharacter_to_event):
10424         * events.c (Fevent_button):
10425         * events.c (Fevent_process):
10426         * extents.c:
10427         * extents.c (Fnext_extent_change):
10428         * extents.c (Fextent_property):
10429         * faces.c (Ffacep):
10430         * faces.c (Fmake_face):
10431         * file-coding.c:
10432         * file-coding.c (Fencode_shift_jis_char):
10433         * file-coding.c (Fencode_big5_char):
10434         * fileio.c (Ffile_name_directory):
10435         * fileio.c (Ffile_name_nondirectory):
10436         * fileio.c (Ffile_name_as_directory):
10437         * fileio.c (Fdirectory_file_name):
10438         * fileio.c (Ffile_truename):
10439         * fileio.c (Fsubstitute_in_file_name):
10440         * fileio.c (Ffile_modes):
10441         * fileio.c (Fset_file_modes):
10442         * fileio.c (Fset_default_file_modes):
10443         * fileio.c (Fverify_visited_file_modtime):
10444         * floatfns.c (Facos):
10445         * floatfns.c (Fasin):
10446         * floatfns.c (Fatan):
10447         * floatfns.c (Fcos):
10448         * floatfns.c (Fsin):
10449         * floatfns.c (Ftan):
10450         * floatfns.c (Fbessel_j0):
10451         * floatfns.c (Fbessel_j1):
10452         * floatfns.c (Fbessel_jn):
10453         * floatfns.c (Fbessel_y0):
10454         * floatfns.c (Fbessel_y1):
10455         * floatfns.c (Fbessel_yn):
10456         * floatfns.c (Ferf):
10457         * floatfns.c (Ferfc):
10458         * floatfns.c (Flog_gamma):
10459         * floatfns.c (Fexp):
10460         * floatfns.c (Fexpt):
10461         * floatfns.c (Flog):
10462         * floatfns.c (Flog10):
10463         * floatfns.c (Fsqrt):
10464         * floatfns.c (Fcube_root):
10465         * floatfns.c (Facosh):
10466         * floatfns.c (Fasinh):
10467         * floatfns.c (Fatanh):
10468         * floatfns.c (Fcosh):
10469         * floatfns.c (Fsinh):
10470         * floatfns.c (Ftanh):
10471         * floatfns.c (Fabs):
10472         * floatfns.c (Ffloat):
10473         * floatfns.c (Flogb):
10474         * floatfns.c (Fceiling):
10475         * floatfns.c (Ffloor):
10476         * floatfns.c (Fround):
10477         * floatfns.c (Ftruncate):
10478         * floatfns.c (Ffceiling):
10479         * floatfns.c (Fffloor):
10480         * floatfns.c (Ffround):
10481         * floatfns.c (Fftruncate):
10482         * fns.c (Fstring_equal):
10483         * fns.c (Fstring_lessp):
10484         * fns.c (concat2):
10485         * fns.c (concat3):
10486         * fns.c (vconcat2):
10487         * fns.c (vconcat3):
10488         * fns.c (Fsubstring):
10489         * fns.c (Fassoc):
10490         * fns.c (Fold_assoc):
10491         * fns.c (assoc_no_quit):
10492         * fns.c (Fassq):
10493         * fns.c (Fold_assq):
10494         * fns.c (assq_no_quit):
10495         * fns.c (Frassoc):
10496         * fns.c (Fold_rassoc):
10497         * fns.c (Frassq):
10498         * fns.c (Fold_rassq):
10499         * fns.c (rassq_no_quit):
10500         * fns.c (Fremassoc):
10501         * fns.c (remassoc_no_quit):
10502         * fns.c (Fremassq):
10503         * fns.c (remassq_no_quit):
10504         * fns.c (Fremrassoc):
10505         * fns.c (Fremrassq):
10506         * fns.c (remrassq_no_quit):
10507         * fns.c (Fsort):
10508         * fns.c (Fplist_get):
10509         * fns.c (Fplist_put):
10510         * fns.c (Fplist_remprop):
10511         * fns.c (Fplist_member):
10512         * fns.c (Flax_plist_get):
10513         * fns.c (Flax_plist_put):
10514         * fns.c (Flax_plist_remprop):
10515         * fns.c (Flax_plist_member):
10516         * fns.c (Fequal):
10517         * fns.c (Fold_equal):
10518         * fns.c (Frequire):
10519         * fns.c (Fbase64_encode_region):
10520         * fns.c (Fbase64_encode_string):
10521         * fns.c (Fbase64_decode_region):
10522         * frame.c:
10523         * frame.c (frame_matches_frame_spec):
10524         * frame.c (device_matches_device_spec):
10525         * frame.c (next_frame):
10526         * frame.c (previous_frame):
10527         * frame.c (Fnext_frame):
10528         * frame.c (Fprevious_frame):
10529         * frame.c (Fframe_property):
10530         * frame.c (Fset_frame_height):
10531         * frame.c (Fset_frame_size):
10532         * frame.h:
10533         * glyphs.c:
10534         * glyphs.c (if):
10535         * glyphs.c (decode_error_behavior_flag):
10536         * glyphs.c (Fmake_image_instance):
10537         * indent.c (Findent_to):
10538         * intl.c (Fignore_defer_gettext):
10539         * keymap.c (Fkeymapp):
10540         * keymap.c (Flookup_key):
10541         * lread.c:
10542         * lread.c (Fload_internal):
10543         * lread.c (Feval_buffer):
10544         * lread.c (Feval_region):
10545         * macros.c (Fexecute_kbd_macro):
10546         * marker.c (set_marker_internal):
10547         * marker.c (Fset_marker):
10548         * marker.c (set_marker_restricted):
10549         * marker.c (Fcopy_marker):
10550         * marker.c (noseeum_copy_marker):
10551         * menubar.c:
10552         * menubar.c (Fpopup_menu):
10553         * minibuf.c:
10554         * mule-charset.c (Fcharset_name):
10555         * mule-charset.c (Fchar_charset):
10556         * mule-charset.c (Fchar_octet):
10557         * mule-charset.c (Fsplit_char):
10558         * mule-wnnfns.c (Fwnn_open):
10559         * mule-wnnfns.c (Fwnn_dict_comment):
10560         * mule-wnnfns.c (Fwnn_quit_henkan):
10561         * mule-wnnfns.c (Fwnn_word_toroku):
10562         * mule-wnnfns.c (Fwnn_word_sakujo):
10563         * mule-wnnfns.c (Fwnn_word_use):
10564         * mule-wnnfns.c (Fwnn_hindo_set):
10565         * objects.c:
10566         * objects.c (Fmake_color_instance):
10567         * objects.c (Fmake_font_instance):
10568         * print.c (Fwrite_char):
10569         * process.c:
10570         * process.c (mark_process):
10571         * process.c (print_process):
10572         * process.c (get_process_from_usid):
10573         * process.c (Fprocessp):
10574         * process.c (Fprocess_live_p):
10575         * process.c (Fget_process):
10576         * process.c (Fget_buffer_process):
10577         * process.c (get_process):
10578         * process.c (Fprocess_id):
10579         * process.c (Fprocess_name):
10580         * process.c (Fprocess_command):
10581         * process.c (init_process_io_handles):
10582         * process.c (start_process_unwind):
10583         * process.c (Fstart_process_internal):
10584         * process.c (Fopen_multicast_group_internal):
10585         * process.c (Fset_process_window_size):
10586         * process.c (read_process_output):
10587         * process.c (send_process):
10588         * process.c (Fprocess_tty_name):
10589         * process.c (Fset_process_buffer):
10590         * process.c (Fprocess_buffer):
10591         * process.c (Fprocess_mark):
10592         * process.c (set_process_filter):
10593         * process.c (Fset_process_filter):
10594         * process.c (Fprocess_filter):
10595         * process.c (Fprocess_send_region):
10596         * process.c (Fprocess_send_string):
10597         * process.c (exec_sentinel):
10598         * process.c (Fset_process_sentinel):
10599         * process.c (Fprocess_sentinel):
10600         * process.c (status_notify):
10601         * process.c (Fprocess_status):
10602         * process.c (Fprocess_exit_status):
10603         * process.c (process_send_signal):
10604         * process.c (Fprocess_send_eof):
10605         * process.c (deactivate_process):
10606         * process.c (remove_process):
10607         * process.c (Fdelete_process):
10608         * process.c (kill_buffer_processes):
10609         * process.c (Fprocess_kill_without_query):
10610         * process.c (Fprocess_kill_without_query_p):
10611         * rangetab.c:
10612         * rangetab.c (Fget_range_table):
10613         * rangetab.c (Fput_range_table):
10614         * rangetab.c (Fremove_range_table):
10615         * rangetab.c (Fclear_range_table):
10616         * search.c:
10617         * search.c (Fskip_chars_forward):
10618         * search.c (Fskip_chars_backward):
10619         * search.c (Fskip_syntax_forward):
10620         * search.c (Fskip_syntax_backward):
10621         * search.c (search_command):
10622         * search.c (Freplace_match):
10623         * search.c (Fregexp_quote):
10624         * select.c (Fown_selection_internal):
10625         * select.c (Fselection_owner_p):
10626         * select.c (Fselection_exists_p):
10627         * select.c (Fget_selection_internal):
10628         * specifier.c:
10629         * symbols.c:
10630         * symbols.c (Fintern):
10631         * symbols.c (Fintern_soft):
10632         * symbols.c (Funintern):
10633         * symbols.c (Fapropos_internal):
10634         * symbols.c (Fset_default):
10635         * syntax.c:
10636         * syntax.c (Fsyntax_table_p):
10637         * syntax.c (Fcopy_syntax_table):
10638         * syntax.c (Fset_syntax_table):
10639         * syntax.c (Fchar_syntax):
10640         * syntax.c (syntax_match):
10641         * syntax.c (Fmatching_paren):
10642         * syntax.c (Fforward_word):
10643         * syntax.c (scan_lists):
10644         * syntax.c (Fscan_lists):
10645         * syntax.c (Fscan_sexps):
10646         * syntax.c (Fparse_partial_sexp):
10647         * toolbar.c (Fcheck_toolbar_button_syntax):
10648         * tooltalk.doc:
10649         * window.c:
10650         * window.c (Fwindowp):
10651         * window.c (Fwindow_live_p):
10652         * window.c (Fwindow_point):
10653         * window.c (Fdelete_window):
10654         * window.c (Fnext_window):
10655         * window.c (Fprevious_window):
10656         * window.c (Fother_window):
10657         * window.c (window_loop):
10658         * window.c (Fget_lru_window):
10659         * window.c (Fsplit_window):
10660         * window.c (Fenlarge_window):
10661         * window.c (Fenlarge_window_pixels):
10662         * window.c (Fshrink_window):
10663         * window.c (Fshrink_window_pixels):
10664         * window.c (change_window_height):
10665         * window.c (Fwindow_configuration_p):
10666         * window.c (Fcurrent_window_configuration):
10667         * window.h:
10668         * casefiddle.c (casify_object):
10669         * casefiddle.c (Fupcase):
10670         * casefiddle.c (Fdowncase):
10671         * casefiddle.c (Fcapitalize):
10672         * casefiddle.c (Fupcase_initials):
10673         * casefiddle.c (casify_region_internal):
10674         * casefiddle.c (casify_region):
10675         * casefiddle.c (Fupcase_region):
10676         * casefiddle.c (Fdowncase_region):
10677         * casefiddle.c (Fcapitalize_region):
10678         * casefiddle.c (Fupcase_initials_region):
10679         * casefiddle.c (Fupcase_word):
10680         * casefiddle.c (Fdowncase_word):
10681         * casefiddle.c (Fcapitalize_word):
10682         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10683         Replace 0 with '\0' when working with bytes.
10684         Replace initial "(" with "\(" in docstrings.
10685
10686 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10687
10688         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10689
10690         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10691
10692 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10693
10694         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10695
10696 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10697
10698         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10699         correctly.
10700
10701 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10702
10703         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10704         (inhibit_auto_save_session): New variable.
10705         (vars_of_fileio): Declare and initialize them.
10706         * fileio.c (Fdo_auto_save): Don't create session file if
10707         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10708
10709 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10710
10711         * sgiplay.c (play_internal): C++ compilability.
10712         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10713         * callproc.c (Fold_call_process_internal):
10714         Remove unused vars `env', `first'.
10715         * scrollbar.c (update_scrollbar_instance):
10716         #### unused var `current_window'.
10717         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10718         etc. within #ifdef NOT_YET.
10719         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10720         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10721         * specifier.c (specifier_instance):
10722         #### unused var `tag'.
10723         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10724
10725 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10726
10727         * fns.c (Fbutlast):
10728         * fns.c (list_sort):
10729         * fns.c (Ffillarray):
10730         * fns.c (bytecode_nconc2):
10731         * fns.c (Fnconc):
10732         * fns.c (mapcar1):
10733         * fns.c (Fmapconcat):
10734         Be pedantically 64-bit correct.  For the time when someone will
10735         want to have a list with length > 2**32.
10736
10737         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10738         Work around MIPSpro compiler bug.
10739
10740         * process-unix.c (unix_kill_child_process): Add snarky comment.
10741         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10742
10743         * config.h.in: Oops, _getpt ==> _getpty
10744
10745 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10746
10747         * config.h.in:
10748         * regex.c:
10749         Use void*, not char*, as return type of alloca().
10750
10751         * alloc.c (free_marker): Side effect inside assert expression!
10752
10753 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10754
10755         * mule-charset.c (Fset_charset_ccl_program): To check
10756         if the given ccl program is valid, use setup_ccl_program()
10757         instead of CHECK_VECTOR().
10758         (Fmake_charset): Likewise.
10759
10760 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10761
10762         * faces.c (get_extent_fragment_face_cache_index):
10763         Fix cachel.merged_faces memory leak.
10764
10765 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10766
10767         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10768         Reset MSB of octets obtained by DECODE_SJIS
10769         because of the incompatibility with Emacs.
10770         (ccl_driver)<CCL_ENCODE_SJIS>:
10771         Set MSB of octets before passing them to
10772         ENCODE_SJIS because of the incompatibility
10773         with Emacs.
10774
10775 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10776
10777         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10778         (DECLARE_LRECORD): Undo the last change.
10779         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10780
10781 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10782
10783         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10784         the implementation to lrecord_implementations_table.
10785
10786 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10787
10788         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10789         initial value of `lrecord_type_##c_name' and
10790         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10791         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10792         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10793         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10794         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10795
10796 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10797
10798         * miscplay.c (sndcnv8S_2mono):
10799         (sndcnv2monounsigned):
10800         (sndcnvULaw_2linear):
10801         (sndcnv16swap):
10802         Remove implementation-defined behavior.
10803
10804 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10805
10806         * input-method-xlib.c: Warning suppression.
10807
10808 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10809
10810         * mule-ccl.c: Sync up with Emacs 21.0.90.
10811         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10812         Do nothing.
10813         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10814         Likewise.
10815         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10816         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10817         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10818         leading char belongs to official 2-dimensional charset.
10819         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10820         write the given character as is.  Otherwise,
10821         if it is a multibyte char, convert it by
10822         non_ascii_set_charptr_emchar, then write it.
10823         (CCL_WRITE_STRING): Likewise.
10824         (ccl_get_compiled_code): New function.
10825         (setup_ccl_program): When ccl_prog is invalid,
10826         return -1.
10827         (Fregister_code_conversion_map): New function.
10828         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10829
10830         * mule-ccl.h: Sync up with Emacs 21.0.90.
10831         (Fregister_ccl_program): export it.
10832
10833         * redisplay-msw.c (separate_textual_runs):
10834         If ccl program is not valid, don't do ccl conversion.
10835
10836         * redisplay-x.c (separate_textual_runs): Ditto.
10837
10838         * file-coding.c (Fmake_coding_system):
10839         When type is ccl and value is vector, register it
10840         with a proper symbol.  And checks whether the
10841         given ccl program is valid.
10842         (mule_decode): When calling ccl_driver, if src indicates
10843         NULL pointer, set an empty string instead.
10844         (mule_encode): Likewise.
10845
10846 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10847
10848         The following large batch of changes gets us back to a state of
10849         C++ compilability.  Extbyte is now a char, which means that
10850         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10851
10852         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10853
10854         * sound.c (Fplay_sound): Type correctness.
10855
10856         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10857         (x_get_window_property): Type correctness.
10858         (receive_incremental_selection): unsigned char ==> Extbyte
10859         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10860         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10861         (Fx_store_cutbuffer_internal): Type correctness.
10862
10863         * process-unix.c (try_to_initialize_subtty): Type correctness.
10864
10865         * objects-x.c (x_print_color_instance): Type correctness.
10866         (x_print_font_instance): Type correctness.
10867         (x_list_fonts): SExtbyte ==> Extbyte.
10868         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10869         (x_find_charset_font): SExtbyte ==> Extbyte.
10870         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10871         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10872         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10873         Use bufbyte_strcmp.
10874
10875         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10876         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10877         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10878         (BYTE_C0_P): Use bit ops for char-signedness safety.
10879         (BYTE_C1_P): Use bit ops for char-signedness safety.
10880         (CHARSET_BY_LEADING_BYTE):
10881         (CHARSET_BY_ATTRIBUTES):
10882         Always use inline function.
10883         Use type_checking_assert.
10884         Hide chlook.
10885
10886         * mule-charset.c (non_ascii_charptr_copy_char):
10887         Modify to work with both ASCII and non-ASCII characters.
10888         Improve docs and variable names.
10889         Replace over-clever fall-through switch with a simple loop.
10890         (Lstream_get_emchar_1):
10891         Replace over-clever fall-through switch with a simple loop.
10892
10893         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10894         Warning suppression.
10895
10896         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10897         the return value of Lstream_getc, which could be EOF as well.
10898
10899         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10900
10901         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10902         APIs can be used on Extbytes without casts.  Risky!
10903         (SExtbyte): Remove.
10904         (UExtbyte): Remove.
10905
10906         * input-method-xlib.c (XIM_init_device):
10907         Use Xlib.h instead of IntrinsicP.h.
10908         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10909         which will break in X11R7.
10910         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10911         to call XRegisterIMInstantiateCallback with correct types.
10912
10913         * gui-x.c (button_item_to_widget_value): Type correctness.
10914
10915         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10916
10917         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10918         (xbm_instantiate_1): Type correctness.
10919         (BUILD_GLYPH_INST):  Type correctness.
10920
10921         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10922
10923         * file-coding.c:
10924         (decode_coding_sjis):
10925         (decode_coding_big5):
10926         (decode_coding_ucs4):
10927         (decode_coding_utf8):
10928         (decode_coding_iso2022):
10929         (decode_coding_no_conversion):
10930         Make all decoding functions take an Extbyte * arg.
10931         (encode_coding_sjis):
10932         (encode_coding_big5):
10933         (encode_coding_ucs4):
10934         (encode_coding_utf8):
10935         (encode_coding_iso2022):
10936         (encode_coding_no_conversion):
10937         Make all encoding functions take a Bufbyte * arg.
10938         Use size_t instead of unsigned int for memory sizes.
10939         Only cast to unsigned char whenever dereferencing Extbyte *.
10940
10941         * doc.c (unparesseuxify_doc_string): Type correctness.
10942
10943         * console-x.c (split_up_display_spec):
10944         Rewrite without using details of internal string representation.
10945         (x_semi_canonicalize_device_connection): Type correctness.
10946
10947         * config.h.in:
10948         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10949         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10950         (HAVE_XFREE386): Removed.
10951
10952         * buffer.h (DEC_CHARPTR): `const' correctness.
10953         (bufbyte_strcmp): New.
10954         (bufbyte_memcmp): New.
10955
10956         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10957
10958         * buffer.h (XCHAR_OR_CHAR_INT):
10959         Always use inline function.
10960         Remove redundant type checking assert() - XINT will abort quite nicely.
10961
10962 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10963
10964         * search.c (Freplace_match): Set newtext to an empty string.
10965
10966 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10967
10968         * s/decosf1-3.h: Remove #include of stropts.h
10969         * s/ptx.h: Remove #include of stropts.h
10970         * s/usg5-4.h: Remove #include of stropts.h
10971         * sysproc.h:
10972         * config.h.in:
10973         Use stropts.h, not sys/stropts.h.
10974         Use strtio.h, not sys/strtio.h.
10975
10976 2000-10-04  Martin Buchholz <martin@xemacs.org>
10977
10978         * XEmacs 21.2.36 is released.
10979
10980 2000-09-21  Andy Piper  <andy@xemacs.org>
10981
10982         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10983         changes still involve copying the widget tree.
10984         (update_widget_face): make sure a change is register in the widget
10985         tree. Call update_tab_widget_face appropriately.
10986         (update_tab_widget_face): ditto.
10987         (x_tab_control_redisplay): make sure non-structural changes still
10988         involve copying the widget tree.
10989
10990 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10991
10992         * lread.c (locate_file): Check the path element is non-nil.
10993
10994 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10995
10996         * lisp.h: Warning suppression for SCO compilers.
10997
10998         * redisplay-tty.c (reset_tty_modes): Fix crash.
10999         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
11000
11001 2000-09-27  Martin Buchholz  <martin@xemacs.org>
11002
11003         Big signal/process handling overhaul.  Bugs fixed:
11004         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
11005         M-x comint-kill-subjob should work for both values nil and t of
11006         process-connection-type. It was broken on most platforms.
11007         Testing on Irix and Cygwin still needed.  Other plaforms tested.
11008         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
11009         * process-unix.c: Signal/Process handling overhaul.
11010         (pty_name): make 64 bytes, as `expect' does, for paranoia.
11011         (allocate_pty): Use all available modern methods of allocating
11012         ptys, falling back to old style BSD allocation as a last resort.
11013         Use allegedly more secure Unix98 pty allocation by default.
11014         (allocate_pty_the_old_fashioned_way): New. the last resort.
11015         (unix_create_process): Push ptem, ldterm, ttcompat where
11016         available.  Autoconfiscate.
11017         (try_to_initialize_subtty): New.
11018         (unix_kill_child_process): Proper signal handling for ptys on most
11019         platforms, using special knowledge of AIX, BSD, etc...
11020         (unix_create_process): Always disconnect_controlling_terminal() for
11021         subprocesses, whether using ptys or not.
11022         * process.h: Remove old getpt-dependent PTY code.
11023         * process.c (Fprocess_send_signal): New, obvious generic function.
11024         (decode_signal): New.
11025         (Finterrupt_process):
11026         (Fkill_process):
11027         (Fquit_process):
11028         (Fstop_process):
11029         (Fcontinue_process):
11030         (Fsignal_process): Use decode_signal.
11031         (process_send_signal):
11032         Many docstring corrections.
11033         Allow any signal to be sent to a process object.
11034         * config.h.in: Add symbols for big signal/process overhaul.
11035         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
11036         * sysproc.h: Include process-related headers, where available:
11037         sys/stropts.h sys/strtio.h pty.h libutil.h
11038         * s/irix4-0.h:
11039         * s/irix5-0.h:
11040         * s/cygwin32.h:
11041         * s/gnu.h:
11042         * s/linux.h:
11043         * s/hpux.h:
11044         * s/aix3-1.h:
11045         Remove old S&M pty stuff.
11046         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11047         * systty.h: Simplify cpp hackery, improve comments.
11048         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11049
11050         * editfns.c (Fformat_time_string):
11051         Be a little more paranoid with the return value of ctime.
11052
11053         * fileio.c (check_executable):
11054         (check_writable):
11055         Use symbolic constants X_OK, W_OK.
11056
11057         * console-x.c (split_up_display_spec): Fix a warning.
11058
11059 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11060
11061         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11062         * ntproc.c (sys_spawnve): make_string ==> build_string
11063         Small clarity improvements.
11064
11065 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11066
11067         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11068
11069         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11070
11071         * config.h.in (HAVE_STRCASECMP): Remove.
11072
11073 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11074
11075         * redisplay-output.c (redisplay_output_pixmap):
11076         Cleaner and possibly more 64-bit correct code.
11077
11078 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11079
11080         * dumper.c (pdump_load_finish): move restoration of
11081         `noninteractive1' to emacs.c (main_1).
11082         * emacs.c (main_1): protect LISP-visible command-line flags
11083         from pdump_load().
11084
11085 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11086
11087         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11088         DUMP_TARGET instead of literal program names.
11089
11090 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11091
11092         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11093
11094 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11095
11096         * *: Spelling mega-patch
11097
11098 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11099
11100         * fns.c (bad_bad_turtle):
11101         Delete "Eek!" comment, since we fixed the bug to which it refers.
11102
11103 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11104
11105         * alloca.c: Replace REGISTER with register.
11106
11107 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11108
11109         * file-coding.c (ucs_to_char): Use countof.
11110
11111 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11112
11113         * file-coding.c: (ucs_to_char):
11114         (complex_vars_of_file_coding):
11115         Use countof instead of sizeof.
11116         Use CHECK_NATNUM instead of CHECK_INT.
11117
11118         * sysdep.c (strcasecmp): Remove.
11119         * device-x.c (ascii_strcasecmp): New.
11120         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11121         Avoid using non-standard non-portable strcasecmp.
11122
11123 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11124
11125         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11126         * font-lock.c: remove reference to emacsfns.h.
11127         * search.c: small doc improvement.
11128         * event-Xt.c: correct file names in comments.
11129         * console-x.h Correct file names in comments.
11130         * frame.c: Correct file names in comments.
11131         * event-stream.c: remove Energize from comments.
11132
11133 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11134
11135         * symeval.h (DEFERROR_STANDARD):
11136         (DEFERROR):
11137         (DEFSYMBOL):
11138         (DEFSYMBOL_NO_DUMP):
11139         (DEFSYMBOL_MULTIWORD_PREDICATE):
11140         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11141         (DEFKEYWORD):
11142         The construct &##name is not sensible C.
11143         Fixes compilation errors with Unixware native compiler.
11144
11145 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11146
11147         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11148         (next_frame_internal): Removed.  We now just have next_frame.
11149         (next_frame):
11150         Write a simpler and cleaner one-pass algorithm.
11151         Remove called_from_delete_device arg and #ifdefed-out code.
11152         (previous_frame):
11153         Renamed from prev_frame.  Update callers.
11154         Cleaned up to have an analogous implementation to next_frame.
11155         (other_visible_frames_internal): Remove the
11156         called_from_delete_device bogus arg, and hence, remove this
11157         function.  Just use other_visible_frames().
11158
11159         * window.c (Fnext_window):
11160         Prettify docstring.
11161         Since next_frame() is guaranteed to return a frame, remove check
11162         for nil inserted in previous patch.
11163         (Fprevious_window):
11164         Prettify docstring.
11165         Make code look more like Fnext_window.
11166         (window_loop):
11167         Respect the `console' arg when iterating through windows.
11168         Fixes bug: (get-buffer-window buffer t device) not respecting
11169         the `device' arg.
11170         This function needs more work, as others have pointed out.
11171
11172         * frame.h: Rename prev_frame to previous_frame.
11173         device_matches_console_spec no longer takes a `frame' arg.
11174
11175         * s/gnu.h:
11176         * s/linux.h:
11177         * s/hpux.h:
11178         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11179         From "Golubev I. N." <gin@mo.msk.ru>.
11180
11181         * make-src-depend: Fix typo.
11182
11183 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11184
11185         * window.c (Fnext_window):
11186         next_frame() might return nil, not a frame.
11187         Fixes this crash:
11188         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11189
11190         * frame.c (next_frame_internal):
11191         We've passed a frame if we've passed its device.
11192         Fixes this crash:
11193         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11194 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11195
11196 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11197
11198         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11199         Allow option to suppress accelerators in menu/dialog items.
11200         (populate_or_checksum_helper): Pass dialog title through above.
11201
11202 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11203
11204         * event-msw.c (mswindows_key_to_emacs_keysym):
11205         Add "pause" key, fix "menu" key.
11206
11207 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11208
11209         * eval.c (reinit_vars_of_eval):
11210         Increase max_lisp_eval_depth to 1000,
11211         required for thai-xtis.el to byte-compile under some circumstances.
11212
11213 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11214
11215         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11216         From Kenichi Handa.
11217
11218 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11219
11220         * make-src-depend: Make the generated Makefiles smaller.
11221
11222         * s/hpux.h (SETUP_SLAVE_PTY):
11223         Provide a %d in the format string for the errno argument.
11224
11225         * editfns.c (Ftemp_directory):
11226         Warning fix.
11227         Avoid buffer overrun on very long file name.
11228
11229         * input-method-xlib.c (XIM_init_device):
11230         6th parameter of XRegisterIMInstantiateCallback has different
11231         pointer types on different OSes, so simply cast to (void *).
11232
11233         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11234
11235         * sysdll.c (dll_open):
11236         shl_load will hang hard if passed a NULL filename.
11237         Simply return NULL for compatibility with dlopen.
11238         * sysdll.c: Conform to XEmacs coding standards.
11239
11240         * sysdep.c (get_pty_max_bytes):
11241         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11242
11243 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11244
11245         * tooltalk.c: Add #include <syssignal.h>
11246
11247 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11248
11249         * s/hpux.h: Don't use undefined function sigunblock().
11250
11251 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11252
11253         * config.h.in: Add HAVE_BALLOON_HELP.
11254         * emacs.c: Use HAVE_BALLOON_HELP.
11255         * Makefile.in.in (x_objs):
11256         Make Balloon Help conditional on finding shape.h.
11257
11258 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11259
11260         * syntax.c (regex_emacs_buffer_p): New variable.
11261         * syntax.h (regex_emacs_buffer_p): extern.
11262         * search.c (looking_at_1):
11263         (string_match_1):
11264         (fast_string_match):
11265         (search_buffer): Set regex_emacs_buffer_p.
11266         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11267         when before_dot, at_dot, after_dot.
11268
11269 2000-08-23  Andy Piper  <andy@xemacs.org>
11270
11271         * gui-x.c (popup_selection_callback): Only set action_occurred
11272         when we really have an image instance.
11273         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11274
11275 2000-08-23  Andy Piper  <andy@xemacs.org>
11276
11277         * gui-msw.c (mswindows_handle_gui_wm_command): set
11278         action_occurred.
11279         * gui-x.c (popup_selection_callback): ditto.
11280
11281         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11282         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11283         (struct Lisp_Image_Instance): add action_occurred flag.
11284
11285         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11286         (image_instance_changed): ditto.
11287         (reset_frame_subwindow_instance_cache): only unmap windows - do
11288         not remove them from the cache also.
11289
11290         * glyphs-widget.c (tab_control_update): better debug.
11291         (progress_gauge_update): ditto.
11292         (layout_update): ditto.
11293         (layout_instantiate): ditto.
11294         (tab_control_order_only_changed): cope with null pending items.
11295
11296         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11297         debug. Force selection of an item when an action occurred. Cope
11298         with null pending_items.
11299         (mswindows_progress_gauge_redisplay): better debug.
11300         * glyphs-x.c (x_tab_control_redisplay): ditto.
11301
11302         * redisplay.c (redisplay_frame): reset the frame cache if the
11303         frame is garbaged.
11304
11305         * window.c (Fset_window_configuration): potentially re-enable
11306         frame cache reset.
11307         (window_unmap_subwindows): need to finalize instances here since
11308         it is only used in mark_window_as_deleted.
11309
11310 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11311
11312         * nas.c (SndOpenDataForReading):
11313         nas.c (WaveOpenDataForReading):
11314         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11315         Somehow escaped from the 2000-08-14 patch.
11316
11317 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11318
11319         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11320         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11321
11322 2000-08-21  Andy Piper  <andy@xemacs.org>
11323
11324         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11325         window if it is not already displayed.
11326
11327         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11328         it is not already displayed.
11329
11330         * window.c (Fset_window_configuration): don't reset the frame
11331         cache.
11332
11333         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11334         instances from the frame cache if we are actually finalizing them.
11335         (reset_frame_subwindow_instance_cache): reset frame cache only
11336         after unmapping everything.
11337         (map_subwindow): set displayed flag after mapping.
11338
11339 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11340
11341         * data.c (indirect_function):
11342         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11343
11344         * eval.c (function_argcount):
11345         Use original function when signaling errors.
11346
11347 2000-08-18  Andy Piper  <andy@xemacs.org>
11348
11349         * frame.c (delete_frame_internal): use new
11350         free_frame_subwindow_instances name.
11351
11352         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11353         (add_tab_item): make return type correct.
11354         (mswindows_tab_control_instantiate): assert index of tab.
11355         (mswindows_tab_control_redisplay): Re-code to use
11356         gui_item_equal_sans_selected and gui_item_list_find_selected.
11357
11358         * glyphs-widget.c (tab_control_update): Correct comment.
11359
11360         * window.c (window_unmap_subwindows): use new
11361         unmap_subwindow_instance_cache_mapper.
11362         (window_unmap_subwindows_cache_mapper): deleted.
11363         (Fset_window_configuration): comparisons should now be with
11364         EQ. Preserve the subwindow instance cache across configuration
11365         changes.
11366         (allocate_window): ditto.
11367         (make_dummy_parent): ditto.
11368
11369         * glyphs.c (free_frame_subwindow_instances): rename from
11370         free_frame_subwindow_instance_cache. finalize all instances rather
11371         than just those in the display cache.
11372         (finalize_all_subwindow_instances): walk windows unmapping and
11373         finalizing subwindows.
11374         (unmap_subwindow_instance_cache_mapper): moved from
11375         window.c. Allow finalization as well as unmapping.
11376
11377         * gui.c (gui_item_list_find_selected): new function.
11378
11379         * gui.h (gui_item_list_find_selected): declare.
11380
11381         * glyphs-x.c (x_tab_control_redisplay): pick tab
11382         explicitly. Re-code to use gui_item_equal_sans_selected and
11383         gui_item_list_find_selected.
11384
11385         * glyphs-x.h: add lwlib-utils.h
11386
11387         * buffer.c (Frecord_buffer): undo previous change.
11388
11389 2000-08-09  Vin Shelton  <acs@xemacs.org>
11390
11391         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11392         possible.  Create temporary files more securely.  The patch was
11393         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11394         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11395         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11396         for details.
11397
11398 2000-08-07  Ben Wing  <ben@xemacs.org>
11399
11400         * getloadavg.c: remove duplicate (and windows-breaking)
11401         includes of fcntl.h and sys/file.h.
11402
11403         * nt.c: remove duplicate getloadavg() definition.
11404
11405         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11406         encodings.
11407
11408 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11409
11410         * eval.c (function_argcount): If function needs to be autoloaded
11411         actually use the loaded definition.
11412         GCPRO function.
11413
11414 2000-08-05  Ben Wing  <ben@xemacs.org>
11415
11416         * getloadavg.c: add prototype for getloadavg().  remove
11417         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11418         of the code).  remove duplicate header includes.
11419
11420         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11421
11422         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11423         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11424         useful load average.
11425
11426         * alloc.c (reinit_alloc_once_early): removed references to
11427         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11428         the lisp vars are the only things referencing the malloc_sbrk_*
11429         vars, and they were already if 0'd out.  these vars only exist
11430         in the older malloc.c, which is basically unused, and they're
11431         only for informational purposes.
11432
11433         * m\*.h: removed useless VIRT_ADDR_VARIES.
11434
11435         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11436
11437 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11438
11439         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11440         color if the image is a mono pixmap.
11441
11442 2000-07-30  Ben Wing  <ben@xemacs.org>
11443
11444         * Makefile.in.in (release):
11445         Remove stray @.
11446
11447         * buffer.c (directory_is_current_directory):
11448         * dired-msw.c (mswindows_get_files):
11449         * dired.c:
11450         * dired.c (Fdirectory_files):
11451         * dired.c (file_name_completion_stat):
11452         * dired.c (Ffile_attributes):
11453         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11454         preprocessor tricks, to avoid problems on some machines
11455         (e.g. SCO).
11456
11457         * callproc.c (egetenv): GC docs.
11458
11459         * console-msw.h:
11460         * console-msw.h (struct mswindows_dialog_id):
11461         * lrecord.h (lrecord_type):
11462         New object for use with MSW dialogs.
11463
11464         * console.h (struct console_methods):
11465         New enable/disable frame methods, for proper modal dialogs.
11466
11467         * device-msw.c (msprinter_default_printer): Fix to follow
11468         proper Mule conventions.
11469
11470         * device-msw.c:
11471         * device-msw.c (signal_open_printer_error):
11472         * device-msw.c (msprinter_init_device):
11473         * device-msw.c (ensure_not_printing):
11474         * device-msw.c (plist_get_margin):
11475         * device-msw.c (Fmsprinter_select_settings):
11476         * device-msw.c (finalize_devmode):
11477         * device-msw.c (Fmsprinter_settings_despecialize):
11478         * device-msw.c (signal_enum_priner_error):
11479         * extents.c (decode_extent):
11480         * extents.c (decode_map_extents_flags):
11481         * extents.c (decode_extent_at_flag):
11482         * extents.c (Fextent_at):
11483         * extents.c (Fextents_at):
11484         * extents.c (symbol_to_glyph_layout):
11485         [[[[2]]]] Use structured errors.
11486
11487         * dialog-msw.c:
11488         * dialog-msw.c (mswindows_is_dialog_msg):
11489         * dialog-msw.c (mark_mswindows_dialog_id):
11490         * dialog-msw.c (dialog_proc):
11491         * dialog-msw.c (handle_question_dialog_box):
11492         * dialog-msw.c (syms_of_dialog_mswindows):
11493         Define new object to clean up marking; use it as a dialog identifier.
11494         Call new delete-dialog-box-hook.
11495
11496         * dialog-x.c (dbox_selection_callback):
11497         * dialog-x.c (dbox_descriptor_to_widget_value):
11498         * dialog-x.c (x_make_dialog_box_internal):
11499         Call new delete-dialog-box-hook.
11500         Return an id.
11501
11502         * dialog.c:
11503         * dialog.c (syms_of_dialog):
11504         * dialog.c (vars_of_dialog):
11505         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11506
11507         * eval.c:
11508         * eval.c (signal_call_debugger):
11509         when noninteractive, output stack traces on the console instead
11510         of in a (never-seen) buffer.
11511
11512         * eval.c (signal_type_error):
11513         * eval.c (invalid_argument_2):
11514         * lisp.h:
11515         new funs for use w/structured errors.
11516
11517         * event-Xt.c:
11518         * event-Xt.c (x_to_emacs_keysym):
11519         * event-Xt.c (describe_event):
11520         * event-Xt.c (emacs_Xt_event_handler):
11521         * event-Xt.c (vars_of_event_Xt):
11522         * event-msw.c:
11523         * event-msw.c (mswindows_wnd_proc):
11524         * event-msw.c (vars_of_event_mswindows):
11525         rename {x,mswindows}-debug-events to debug-{}-events for
11526         consistency with other debug-foo variables.
11527
11528         * event-stream.c:
11529         document next-event more clearly.
11530
11531         * fileio.c (Ffile_name_directory):
11532         * fileio.c (Ffile_name_nondirectory):
11533         * fileio.c (Funhandled_file_name_directory):
11534         * fileio.c (file_name_as_directory):
11535         * fileio.c (Ffile_name_as_directory):
11536         * fileio.c (directory_file_name):
11537         * fileio.c (Fdirectory_file_name):
11538         * fileio.c (Fmake_temp_name):
11539         * fileio.c (Ffile_truename):
11540         * fileio.c (Fsubstitute_in_file_name):
11541         * fileio.c (expand_and_dir_to_file):
11542         * fileio.c (barf_or_query_if_file_exists):
11543         * fileio.c (check_executable):
11544         * fileio.c (Ffile_exists_p):
11545         * fileio.c (Ffile_writable_p):
11546         * fileio.c (Ffile_directory_p):
11547         * fileio.c (Ffile_regular_p):
11548         * fileio.c (Ffile_modes):
11549         * fileio.c (Ffile_newer_than_file_p):
11550         * fileio.c (Fverify_visited_file_modtime):
11551         * fileio.c (Fset_visited_file_modtime):
11552         * fileio.c (auto_save_1):
11553         (1). (2).
11554         fix up gcpro's.
11555
11556         * frame-msw.c:
11557         * frame-msw.c (mswindows_init_frame_1):
11558         * frame-msw.c (mswindows_enable_frame):
11559         * frame-msw.c (error_frame_unsizable):
11560         * frame-msw.c (msprinter_init_frame_1):
11561         * frame-msw.c (msprinter_init_frame_3):
11562         * frame-msw.c (console_type_create_frame_mswindows):
11563         (2).
11564         implement new enable/disable frame methods.
11565
11566         * frame-x.c:
11567         * frame-x.c (x_enable_frame):
11568         * frame-x.c (console_type_create_frame_x):
11569         implement new enable/disable frame methods.
11570
11571         * frame.c:
11572         * frame.c (Fdisable_frame):
11573         * frame.c (syms_of_frame):
11574         * frame.h (struct frame):
11575         implement new enable/disable frame methods/functions.
11576
11577         * general-slots.h:
11578         add initial-focus.
11579
11580         * glyphs-msw.c (mswindows_widget_instantiate):
11581         comment that initial-focus should be implemented.
11582
11583         * glyphs-widget.c:
11584         * glyphs-widget.c (check_valid_instantiator):
11585         * glyphs-widget.c (check_valid_orientation):
11586         * glyphs-widget.c (check_valid_tab_orientation):
11587         * glyphs-widget.c (check_valid_justification):
11588         * glyphs-widget.c (check_valid_border):
11589         * glyphs-widget.c (check_valid_callback):
11590         * glyphs-widget.c (check_valid_int_or_function):
11591         * glyphs-widget.c (check_valid_string_or_vector):
11592         * glyphs-widget.c (check_valid_item_list_1):
11593         * glyphs-widget.c (widget_validate):
11594         * glyphs-widget.c (combo_box_validate):
11595         * glyphs-widget.c (widget_instantiate):
11596         * glyphs-widget.c (syms_of_glyphs_widget):
11597         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11598         * glyphs-widget.c (image_instantiator_combo_box):
11599         * glyphs-widget.c (image_instantiator_scrollbar):
11600         * glyphs-widget.c (image_instantiator_tab_control):
11601         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11602         (2).
11603         support (unimplemented) keyword initial-focus.
11604         reindent long macros.
11605
11606         * glyphs-x.c (x_redisplay_widget):
11607         * glyphs-x.c (x_button_instantiate):
11608         * glyphs-x.c (x_button_redisplay):
11609         * glyphs-x.c (x_progress_gauge_instantiate):
11610         * glyphs-x.c (x_edit_field_instantiate):
11611         * glyphs-x.c (x_combo_box_instantiate):
11612         * glyphs-x.c (x_tab_control_instantiate):
11613         * glyphs-x.c (x_label_instantiate):
11614         * gui-x.c:
11615         * gui-x.c (button_item_to_widget_value):
11616         * gui-x.c (gui_items_to_widget_values_1):
11617         * gui-x.c (gui_item_children_to_widget_values):
11618         * gui-x.c (gui_items_to_widget_values):
11619         * gui-x.h:
11620         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11621         add new flag to gui-parsing routines to indicate whether
11622         accelerator specs should be supported.
11623
11624         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11625
11626         * glyphs.h (struct Lisp_Image_Instance):
11627         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11628         add initial-focus flag.
11629
11630         * gui.c:
11631         * gui.c (syms_of_gui):
11632         * gui.c (vars_of_gui):
11633         clean up menu-no-selection-hook.
11634
11635         * gui.h:
11636         support delete-dialog-box-hook.
11637
11638         * lread.c (Fload_internal):
11639         * lread.c (locate_file_in_directory_mapper):
11640         (1).
11641
11642         * lrecord.h:
11643         * lrecord.h (struct toolbar_button):
11644         * lrecord.h (syms_of_toolbar):
11645         document how to create a new object.
11646
11647         * menubar-msw.c (mswindows_char_is_accelerator):
11648         may be called on frames w/o menus.
11649
11650         * menubar.c (vars_of_menubar):
11651         clean up :filter docs.
11652
11653         * nt.c (readdir):
11654         * ntproc.c:
11655         (1).
11656
11657         * process-nt.c:
11658         * process-nt.c (validate_signal_number):
11659         * process-nt.c (signal_cannot_launch):
11660         * process-nt.c (nt_create_process):
11661         * process-nt.c (nt_send_process):
11662         * process-nt.c (nt_kill_child_process):
11663         * process-nt.c (nt_open_network_stream):
11664         * process-nt.c (syms_of_process_nt):
11665         (2).
11666         delete quote-handling.  call new lisp code that does it better.
11667
11668         * process-unix.c (connect_to_file_descriptor):
11669         * process-unix.c (allocate_pty):
11670         * process-unix.c (unix_send_process):
11671         * process-unix.c (unix_kill_child_process):
11672         * process-unix.c (unix_open_network_stream):
11673         * process-unix.c (unix_open_multicast_group):
11674         (1). (2).
11675
11676         * process.c:
11677         * process.c (Fstart_process_internal):
11678         (2).  need to canonicalize process path even if absolute.
11679
11680         * select-msw.c (symbol_to_ms_cf):
11681         * select-msw.c (ms_cf_to_symbol):
11682         * select-msw.c (cf_is_autofreed):
11683         * select-msw.c (mswindows_destroy_selection):
11684         * select.c:
11685         * select.c (syms_of_select):
11686         * select.h:
11687         support dibv5, fix bugs. (from Mike Alexander)
11688
11689         * select.c (Fget_selection_internal):
11690         * select.c (select_convert_out):
11691
11692         * sysdep.c:
11693         * sysdep.c (xemacs_stat):
11694         renamed.
11695
11696         * sysdep.c (mkdir):
11697         * sysdep.c (rmdir):
11698         but keep original stat() here because we provide encapsulation
11699         around these funs.
11700
11701         * sysfile.h:
11702         * sysfile.h (fstat):
11703         remove stat garbage.
11704
11705         * syswindows.h:
11706         fix X/MSW conflict.
11707         don't include tchar.h.  it's inappropriate because it makes
11708         compile-time distinctions when we want runtime distinctions.
11709         (we provide our own tchar replacements)
11710
11711         * toolbar.c:
11712         use default object printer for toolbar-button.
11713
11714         * unexcw.c:
11715         make sure we don't encapsulate.
11716
11717         * window.c (vars_of_window):
11718         emphasize that temp-buffer-show-hook is obsolete.
11719
11720 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11721
11722         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11723         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11724
11725         * events.c (Fevent_timestamp_lessp):
11726         Not 64-bit clean.  Use EMACS_INT, not int.
11727
11728 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11729
11730         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11731         unsigned int and changed the last enum to
11732         lrecord_type_last_built_in_type.
11733         (lrecord_implementations_table): changed prototype to know how
11734         long the array is supposed to be.
11735         (lrecord_type_count): new unsigned int to keep track of the
11736         current number of lisp lrecord types.
11737         (DEFINE_EXTERNAL_LRECORD):
11738         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11739         dynamic-modules to declare new lisp types. They are the same
11740         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11741         int for each new type, and increment lrecord_type_count by 1.
11742
11743         * alloc.c (lrecord_implementations_table): Changed to reference
11744         lrecord_type_last_built_in_type for the size of the array.
11745         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11746
11747 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11748
11749         * glyphs.h (check_valid_item_list): Renamed from
11750         check_valid_item_list_1.
11751
11752 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11753
11754         * select.c (Qselect_coerce): New.
11755         * select.c (Vselection_coercion_alist): New.
11756         * select.c (syms_of_select): Declare.
11757         * select.c (get-selection-internal): Use it.
11758         Use the new select-coerce functionality.
11759
11760         * select.c (select_coerce): New.
11761         * select.h (select_coerce): Declare.
11762         New function to coerce one type of data into another.
11763
11764 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11765
11766         * callproc.c (Fcall_process_internal):
11767         (Fcall_process_internal):
11768         * process-unix.c (unix_create_process):
11769         Save and restore the value of errno, so that error messages are accurate.
11770
11771 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11772
11773         * elhash.c (print_hash_table):
11774         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11775         Prettify docstrings and indentation.
11776
11777 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11778
11779         * window.c (Fwindow_pixel_edges): Subtract frame border and
11780         gutter size.
11781
11782 2000-07-31  Andy Piper  <andy@xemacs.org>
11783
11784         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11785         will acknowledge the change.
11786
11787         * glyphs.h: declare tab_control_order_only_changed.
11788
11789         * glyphs-x.c (x_tab_control_redisplay): use
11790         tab_control_order_only_changed.
11791
11792         * glyphs-widget.c (tab_control_order_only_changed): new function.
11793
11794         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11795         tab_control_order_only_changed.
11796
11797         * gui.c (gui_item_equal_sans_selected): new function.
11798         (gui_item_equal): use it.
11799
11800         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11801         :properties in favor of :items..
11802
11803         * glyphs-widget.c (check_valid_item_list): rename from
11804         check_valid_item_list_1.
11805         (check_valid_item_list_1): renamed.
11806         (combo_box_validate): deprecate :properties in favor of :items.
11807         (widget_instantiate): ditto.
11808         (tab_control_update): ditto.
11809         (image_instantiator_combo_box): ditto.
11810         (image_instantiator_tree_view): ditto.
11811         (image_instantiator_tab_control): ditto.
11812         (layout_post_instantiate): remove dead code.
11813
11814         * print.c (debug_print_no_newline): only write to debugger if in
11815         WIN32_NATIVE.
11816
11817         * elhash.c (Fmake_hash_table): update doc string.
11818
11819         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11820         messages whilst in GC. This at least stops XEmacs crashing but has
11821         the potential for wierd behaviour.
11822
11823 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11824
11825         * config.h.in:
11826         Make existence of s&m files optional.
11827
11828         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11829         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11830         * s/gnu.h: Remove HAVE_GETLOADAVG.
11831         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11832         * s/sol2.h: Remove HAVE_GETLOADAVG.
11833         * lisp.h: Remove getloadavg() declaration.
11834         * fns.c:
11835         Include <sys/loadavg.h> if available.
11836         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11837         * config.h.in:  Group together getloadavg()-related macros.
11838         Use only configure-time tests to detect getloadavg().
11839
11840 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11841
11842         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11843
11844 2000-07-25  Andy Piper  <andy@xemacs.org>
11845
11846         * syswindows.h: add tchar.h for native builds.
11847
11848         * frame.c (syms_of_frame): remove set-glyph-image.
11849
11850         * general-slots.h: add Qset_glyph_image.
11851
11852         * glyphs-widget.c (layout_update): add domain arg to
11853         set-glyph-image.
11854         (syms_of_glyphs_widget): remove set-glyph-image.
11855
11856 2000-07-23  Ben Wing  <ben@xemacs.org>
11857
11858         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11859         Vpopup_frame_list.
11860
11861 2000-07-22  Andy Piper  <andy@xemacs.org>
11862
11863         * symsinit.h: add syms_of_win32().
11864
11865         * gui-msw.c (syms_of_gui_mswindows): remove
11866         Fmswindows_shell_execute.
11867         (Fmswindows_shell_execute): moved to win32.c.
11868
11869         * emacs.c (main_1): add syms_of_win32 ().
11870
11871         * win32.c (init_potentially_nonexistent_functions): rewrite in
11872         compiler-friendly terms.
11873         (Fmswindows_shell_execute): move here from gui-msw.c.
11874         (syms_of_win32): new.
11875
11876         * device-msw.c (Fmswindows_printer_list): clean up args to
11877         EnumPrinters.
11878         Don't include tchar under cygwin or mingw.
11879         (msprinter_default_printer): make cygwin-friendly.
11880
11881 2000-07-21  Andy Piper  <andy@xemacs.org>
11882
11883         * glyphs-widget.c (image_instantiator_tree_view): use tab
11884         control's update function.
11885         (layout_property): new function. Retrieve items.
11886
11887         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11888         function. Re-populate the tree view from the pending items.
11889
11890         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11891         is designated the parent if the domain is an image instance. This
11892         is needed so that dirtiness can be cascade up the hierarchy and
11893         thus for layout children to be redisplayed correctly.
11894         (allocate_image_instance): rename glyph -> parent.
11895
11896         * redisplay.h: change redisplay_output_layout signature.
11897
11898         * redisplay-msw.c (mswindows_output_display_block): use domain
11899         arg.
11900
11901         * redisplay-x.c (x_output_display_block): use domain arg.
11902
11903 2000-07-10  Andy Piper  <andy@xemacs.org>
11904
11905         * window.c (Fset_window_configuration): add comment.
11906
11907         * redisplay-output.c (compare_runes):
11908         (redisplay_output_subwindow): redisplay rather than update subwindow.
11909         (redisplay_output_layout): ditto.
11910
11911         * redisplay-msw.c (mswindows_frame_output_end):
11912         (mswindows_frame_output_end): make defer window pos optional.
11913
11914         * lisp.h: add Flast.
11915
11916         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11917         normalize method. Change update method to be for changed
11918         instantiators. Add redisplay method. Change signature of layout
11919         method.
11920         (struct Lisp_Image_Instance): add instantiator.
11921         (IMAGE_INSTANCE_INSTANTIATOR): new.
11922         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11923         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11924         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11925
11926         * glyphs.c:
11927         (find_instantiator_differences): new function.
11928         (Fset_instantiator_property): new convenience function.
11929         (check_image_instance_structure): strictly check for vector
11930         instantiators.
11931         (normalize_image_instantiator): make non-static.
11932         (instantiate_image_instantiator): pass on dest_mask and use new
11933         signatures for image_instance_layout and friends.
11934         (mark_image_instance): mark the instantiator. Mark the subwindow
11935         face not the widget face.
11936         (image_instance_equal): add instantiator.
11937         (image_instance_hash): ditto.
11938         (allocate_image_instance): ditto.
11939         (Fset_image_instance_property): removed.
11940         (Fimage_instance_file_name): ditto.
11941         (Fcolorize_image_instance): ditto.
11942         (image_instance_layout): add offsets to be set.
11943         (update_image_instance): new function. update an image instance
11944         from its changed instantiator.
11945         (inherit_normalize): add dest_mask.
11946         (xbm_normalize): ditto.
11947         (xface_normalize): ditto.
11948         (xpm_normalize): ditto.
11949         (text_update): set_property -> update.
11950         (image_instantiate): use the glyph identity as a hash key, not the
11951         instantiator.
11952         (glyph_width): use new image_instance_layout signature.
11953         (glyph_ascent): ditto.
11954         (glyph_descent): ditto.
11955         (glyph_height): ditto.
11956         (glyph_query_geometry): ressurrect.
11957         (glyph_layout): ditto.
11958         (redisplay_subwindow): update -> redisplay.
11959         (syms_of_glyphs): add Fset_instantiator_property.
11960         (image_instantiator_format_create): set_property -> update.
11961
11962         * glyphs-x.c:
11963         (autodetect_normalize): add dest_maks to signature.
11964         (x_redisplay_subwindow): update -> redisplay.
11965         (x_redisplay_widget): ditto.
11966         (x_button_redisplay): ditto.
11967         (x_progress_gauge_redisplay): ditto.
11968         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11969         stacking order.
11970         (console_type_create_glyphs_x): update -> redisplay.
11971         (image_instantiator_format_create_glyphs_x): ditto.
11972
11973         * glyphs-widget.c:
11974         (check_valid_instantiator): disallow glyphs in the instantiator,
11975         they must now be vectors.
11976         (check_valid_instantiator_list): ditto.
11977         (glyph_instantiator_to_glyph): use internal symbol rather than
11978         intern.
11979         (widget_update): renamed from widget_set_property. Call cascaded
11980         update methods.
11981         (redisplay_widget): renamed from update_widget.
11982         (widget_layout): image_instance_layout now takes position as well
11983         as size.
11984         (widget_normalize): ditto.
11985         (widget_instantiate): ditto.
11986         (tab_control_query_geometry) ditto.:
11987         (tab_control_update): renamed from tab_control_set_property.
11988         (progress_gauge_update): set_property -> update.
11989         (layout_normalize): rewrite so that child instantiators are
11990         normalized also.
11991         (layout_update): new function. Create glyphs from the normalized
11992         children and cope with any other layout keywords. We do not
11993         instantiate children here that will be take care of by
11994         redisplay_output_layout.
11995         (layout_instantiate): call layout_update and not much else.
11996         (layout_post_instantiate): not sure whether this is needed
11997         anymore.
11998         (layout_query_geometry): query glyph geometry rather than
11999         image_instance geometry.
12000         (layout_layout): set offsets from pass in parameters. Use glyph
12001         geometry and layout functions rather than image instance ones.
12002         (native_layout_layout): ditto.
12003         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
12004         (image_instantiator_widget): set_property -> update.
12005         (image_instantiator_buttons): ditto.
12006         (image_instantiator_progress_guage): ditto.
12007         (image_instantiator_tab_control): ditto.
12008         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
12009         (image_instantiator_layout): add update method.
12010
12011         * glyphs-msw.c (bmp_normalize):
12012         (mswindows_resource_normalize): add dest_mask so that it can be
12013         proprogated by layout_normalize.
12014         (begin_defer_window_pos): make optional because it may not be the
12015         right thing to do and it introduces differences with X.
12016         (mswindows_unmap_subwindow): ditto.
12017         (mswindows_map_subwindow): ditto.
12018         (mswindows_redisplay_subwindow): renamed from
12019         mswindows_update_subwindow.
12020         (mswindows_redisplay_widget): ditto.
12021         (mswindows_button_redisplay): renamed from
12022         mswindows_button_update. Update is now what the instantiation
12023         function does for a changed instantiator.
12024         (mswindows_progress_gauge_instantiate): set the progress value
12025         here if appropriate.
12026         (mswindows_tab_control_redisplay): cope with re-ordering of the
12027         members of the tab widget by simply selecting the new top
12028         widget. This makes things appear ok if you click on a tab.
12029         (mswindows_combo_box_instantiate): image_instance_layout now takes
12030         position as well as size.
12031         (mswindows_progress_gauge_redisplay): renamed from
12032         mswindows_progress_gauge_update.
12033         (console_type_create_glyphs_mswindows): fix update -> redisplay.
12034         (image_instantiator_format_create_glyphs_mswindows): ditto.
12035
12036         * glyphs-eimage.c (jpeg_normalize):
12037         (gif_normalize):
12038         (png_normalize):
12039         (tiff_normalize): add dest_mask so that it can be proprogated by
12040         layout_normalize.
12041
12042         * elhash.c:
12043         (print_hash_table):
12044         (hash_table_weakness_validate):
12045         (decode_hash_table_weakness):
12046         (Fhash_table_weakness):
12047         (Fhash_table_type):
12048         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12049
12050         * console.h (struct console_methods): move update_* to
12051         redisplay_*.
12052
12053 2000-07-20  Ben Wing  <ben@xemacs.org>
12054
12055         * *.[ch] (XSETOBJ): remove unused middle argument.
12056         lisp-disunion.h: correct wrap_object() to one argument.
12057
12058 2000-07-15  Ben Wing  <ben@xemacs.org>
12059
12060         * s/cygwin32.h:
12061         * s/cygwin32.h (CYGWIN_CONV_PATH):
12062         Add missing logb prototype for v1.1.
12063         Use post-b20 names and alias to pre-b20 names when pre-b20.
12064
12065         * s/windowsnt.h: [5].
12066
12067 2000-07-15  Ben Wing  <ben@xemacs.org>
12068
12069         * Makefile.in.in (x_objs):
12070         * Makefile.in.in (sheap_objs):
12071         * Makefile.in.in (objs):
12072         added win32.o, cosmetic cleanups.
12073
12074         * alloc.c (Fmake_byte_code):
12075         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12076         etc. macros which declare their own args now.
12077
12078         * alloc.c (syms_of_alloc):
12079         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12080
12081         * buffer.c:
12082         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12083
12084         * buffer.c (Fget_file_buffer):
12085         Fixed GCPRO problem.
12086
12087         * buffer.c (get_truename_buffer):
12088         Fixed comment about GC checking.
12089
12090         * buffer.c (syms_of_buffer):
12091         Undeclared those dedicated frame funs.
12092         [2].
12093
12094         * buffer.h:
12095         Define convenience macros for internal/external conversions.
12096         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12097         and Qenvironment_variable_encoding for cleaner code.
12098
12099         * bufslots.h:
12100         Remove dedicated-frame; in lisp.
12101
12102         * bytecode.c (funcall_compiled_function):
12103         [1].
12104
12105         * bytecode.c (syms_of_bytecode):
12106         [2].
12107
12108         * console-msw.c:
12109         * console-msw.c (mswindows_show_console): Rewrote.
12110
12111         * console-msw.c (Fmswindows_debugging_output): New.
12112         Sends to OutputDebugString (special MSWin debugger interface).
12113
12114         * console-msw.c (Fmswindows_message_box):
12115         Fixed stupid bugs so it works when called from kill-emacs.
12116
12117         * console-msw.c (syms_of_console_mswindows):
12118         Declare Fmswindows_debugging_output.
12119
12120         * console-msw.h:
12121         New MSWin prototypes.
12122
12123         * console-msw.h (struct mswindows_frame):
12124         New entry last-click-mods for improved button-modifier support.
12125
12126         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12127         New struct entry `popup' with corresponding accessor.
12128
12129         * console-x.c:
12130         * console-x.c (split_up_display_spec):
12131         * console-x.c (get_display_arg_connection):
12132         * console-x.c (x_semi_canonicalize_console_connection):
12133         * console-x.c (x_canonicalize_device_connection):
12134         [[[6]]]: Change char to more specific type.
12135         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12136
12137         * console-x.c (x_semi_canonicalize_console_connection):
12138         * console-x.c (x_canonicalize_device_connection):
12139         [[[9]]]: Fix up error signalling to use new structured error system.
12140
12141         * console-x.h:
12142         [[[4]]]: Define codesys aliases:
12143         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12144         Qx_color_name_encoding, Qx_display_name_encoding.
12145
12146         * console.h (struct console_methods):
12147         New method make_dialog_box_internal supersedes older
12148         popup_dialog_box method.
12149
12150         * data.c:
12151         Define many new errors, part of new structured errors.
12152
12153         * data.c (init_errors_once_early):
12154         * data.c (syms_of_data):
12155         [2].
12156
12157         * device-msw.c (mswindows_init_device):
12158         [[[5]]]: Cleanup to support NT 3.51.
12159
12160         * device-msw.c (decode_devmode): Cleanup.
12161
12162         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12163         * device-msw.c (mswindows_handle_print_dialog_box):
12164         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12165         * device-msw.c (syms_of_device_mswindows):
12166         Delete the dialog box primitives recently introduced by Kirill and
12167         instead interface to general dialog box interface.
12168
12169         * device-x.c:
12170         * device-x.c (compute_x_app_name):
12171         * device-x.c (x_init_device):
12172         * device-x.c (Fx_valid_keysym_name_p):
12173         * device-x.c (Fx_set_font_path):
12174         [6].
12175         [7].
12176
12177         * device.h (wrap_device): New.
12178         First of its kind; meant to replace XSETDEVICE.
12179
12180         * dialog-msw.c: Many file-dialog symbols.
12181
12182         * dialog-msw.c (mswindows_register_popup_frame): New.
12183         * dialog-msw.c (mswindows_is_dialog_msg): New.
12184         For supporting kbd traversal in dialog boxes.
12185
12186         * dialog-msw.c (dialog_proc):
12187         Support hitting ESC in dialogs.
12188
12189         * dialog-msw.c (struct):
12190         Common dialog box errors.
12191
12192         * dialog-msw.c (handle_file_dialog_box): New.
12193         Add file dialog code.
12194
12195         * dialog-msw.c (handle_question_dialog_box):
12196         Redo existing code to support new question dialog syntax.
12197
12198         * dialog-msw.c (console_type_create_dialog_mswindows):
12199         We support new dialog console method.
12200
12201         * dialog-msw.c (syms_of_dialog_mswindows):
12202         * dialog-msw.c (vars_of_dialog_mswindows):
12203         New file dialog symbols, vars.
12204
12205         * dialog-x.c:
12206         * dialog-x.c (maybe_run_dbox_text_callback):
12207         * dialog-x.c (dbox_descriptor_to_widget_value):
12208         * dialog-x.c (x_make_dialog_box_internal):
12209         * dialog-x.c (console_type_create_dialog_x):
12210         Mule-ize entire file.
12211         Redo to support question dialog syntax.
12212         [6].
12213
12214         * dialog.c:
12215         * dialog.c (Fmake_dialog_box_internal):
12216         * dialog.c (syms_of_dialog):
12217         Kill old popup-dialog-box, replace with new primitive.
12218         Just call device method or signal error.
12219
12220         * eldap.c (Fldap_open):
12221         * eldap.c (Fldap_search_basic):
12222         * eldap.c (Fldap_add):
12223         * eldap.c (Fldap_modify):
12224         [1].
12225         [7].
12226
12227         * emacs.c:
12228         * emacs.c (make_arg_list_1):
12229         * emacs.c (make_arg_list):
12230         Mule-ize call to dll_init().
12231         [6].
12232         [8].
12233
12234         * emacs.c (make_argc_argv):
12235         * emacs.c (free_argc_argv):
12236         * emacs.c (init_cmdargs):
12237         * emacs.c (main_1):
12238         * emacs.c (Fkill_emacs):
12239         * emacs.c (Fdump_emacs):
12240         Update comments about what can be used in syms_* etc.
12241         Call init_win32() when necessary.
12242         Fix up MS Win dialog box in kill-buffer to actually work right.
12243         [7].
12244
12245         * eval.c:
12246         * eval.c (For):
12247         * eval.c (Fand):
12248         * eval.c (Fprogn):
12249         * eval.c (Fprog1):
12250         * eval.c (Fprog2):
12251         * eval.c (FletX):
12252         * eval.c (Flet):
12253         * eval.c (condition_case_3):
12254         * eval.c (Feval):
12255         * eval.c (function_argcount):
12256         * eval.c (funcall_lambda):
12257         [1].
12258
12259         * eval.c (type_error): New.
12260         * eval.c (maybe_type_error): New.
12261         * eval.c (continuable_type_error): New.
12262         * eval.c (maybe_continuable_type_error): New.
12263         * eval.c (type_error_with_frob): New.
12264         * eval.c (maybe_type_error_with_frob): New.
12265         * eval.c (continuable_type_error_with_frob): New.
12266         * eval.c (maybe_continuable_type_error_with_frob): New.
12267         New functions for use with structured errors.
12268
12269         * event-Xt.c:
12270         * event-Xt.c (x_event_to_emacs_event):
12271         Buttons are now modifiers too.
12272
12273         * event-Xt.c (emacs_Xt_current_event_timestamp):
12274         Implement new event method.
12275         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12276
12277         * event-msw.c:
12278         * event-msw.c (ntpipe_shove_writer): [5].
12279         * event-msw.c (mswindows_enqueue_mouse_button_event):
12280         * event-msw.c (mswindows_drain_windows_queue):
12281         * event-msw.c (mswindows_wnd_proc): [7].
12282         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12283         * event-msw.c (mswindows_modifier_state):
12284         Throughout: support new button modifiers.
12285
12286         * event-msw.c (emacs_mswindows_current_event_timestamp):
12287         Implement new event method.
12288         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12289
12290         * event-stream.c:
12291         * event-stream.c (event_stream_current_event_timestamp): New.
12292         * event-stream.c (maybe_kbd_translate): New functionality.
12293         * event-stream.c (vars_of_event_stream):
12294         Document new kbd-translate-table functionality.
12295
12296         * event-stream.c (Fcurrent_event_timestamp): New.
12297         New primitive for use in fabricated events.
12298         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12299
12300         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12301
12302         * events.c:
12303         * events.c (Fmake_event):
12304         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12305         [1].
12306         [9].
12307
12308         * events.c (format_event_object): fix gcc warnings.
12309
12310         * events.c (Fevent_timestamp): Document new primitives.
12311
12312         * events.c (TIMESTAMP_HALFSPACE): New.
12313
12314         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12315         comparing timestamps correctly (half-space algorithm).
12316
12317         * events.c (Fevent_modifier_bits): Doc fix.
12318
12319         * events.c (Fevent_modifiers): Major doc addition.
12320         * events.c (event_x_y_pixel_internal): Typo fix.
12321         * events.c (syms_of_events): Declare new primitives.
12322
12323         * events.h:
12324         Update long comment for button modifiers, timestamps.
12325
12326         * events.h (struct event_stream):
12327         New current_event_timestamp method.
12328
12329         * extents.c:
12330         * extents.c (extent_in_region_p):
12331         * extents.c (decode_extent):
12332         * extents.c (Fset_extent_parent):
12333         * extents.c (decode_map_extents_flags):
12334         Fix gcc warnings.
12335         [9].
12336
12337         * extents.c (struct extent_at_arg):
12338         * extents.c (decode_extent_at_flag):
12339         * extents.c (extent_at_mapper):
12340         * extents.c (extent_at_bytind):
12341         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12342         * extents.c (Fextents_at): New primitive. [9].
12343         * extents.c (symbol_to_glyph_layout): [9].
12344         Support new primitive `extents-at'.
12345
12346
12347         * extents.c (get_text_property_bytind):
12348         extent_at_bytind has another arg.
12349         [9].
12350
12351         * extents.c (syms_of_extents): New primitive.
12352
12353         * file-coding.c (Fmake_coding_system): [1].
12354         * file-coding.c (subsidiary_coding_system): fix gcc warning
12355         * file-coding.c (syms_of_file_coding): [2].
12356
12357         * fileio.c (Fexpand_file_name):
12358         * fileio.c (Fsysnetunam):
12359         * fileio.c (Ffile_exists_p):
12360         * fileio.c (Ffile_executable_p):
12361         * fileio.c (Fverify_visited_file_modtime):
12362         Clean up GCPROing.
12363
12364         * fileio.c (syms_of_fileio): [2].
12365
12366         * filelock.c (lock_file_1):
12367         * filelock.c (current_lock_owner):
12368         * filelock.c (lock_if_free):
12369         * filelock.c (lock_file):
12370         * filelock.c (unlock_file):
12371         Clean up GCPROing.
12372
12373         * fns.c (concat): Fix gcc warning.
12374
12375         * fns.c (Fmember):
12376         * fns.c (Fold_member):
12377         * fns.c (Fmemq):
12378         * fns.c (Fold_memq):
12379         * fns.c (memq_no_quit):
12380         * fns.c (Fassoc):
12381         * fns.c (Fold_assoc):
12382         * fns.c (Fassq):
12383         * fns.c (Fold_assq):
12384         * fns.c (assq_no_quit):
12385         * fns.c (Frassoc):
12386         * fns.c (Fold_rassoc):
12387         * fns.c (Frassq):
12388         * fns.c (Fold_rassq):
12389         * fns.c (rassq_no_quit):
12390         * fns.c (Fdelete):
12391         * fns.c (Fold_delete):
12392         * fns.c (Fdelq):
12393         * fns.c (Fold_delq):
12394         * fns.c (delq_no_quit):
12395         * fns.c (Fremassoc):
12396         * fns.c (Fremassq):
12397         * fns.c (remassq_no_quit):
12398         * fns.c (Fremrassoc):
12399         * fns.c (Fremrassq):
12400         * fns.c (remrassq_no_quit):
12401         * fns.c (Freverse):
12402         * fns.c (mapcar1):
12403         [1].
12404
12405         * frame-msw.c (mswindows_init_frame_1):
12406         * frame-msw.c (mswindows_delete_frame):
12407         Register popups with dialog code so keyboard traversing works.
12408
12409         * frame-tty.c (tty_raise_frame_no_select): [1].
12410
12411         * frame-x.c:
12412         * frame-x.c (x_set_frame_text_value):
12413         * frame-x.c (x_set_frame_properties):
12414         * frame-x.c (x_create_widgets):
12415         [7].
12416
12417         * frame.c:
12418         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12419
12420         * frame.h (wrap_frame): New.
12421         Macro like wrap_device.
12422
12423         * general.c:
12424         * general.c (SYMBOL):
12425         * general.c (syms_of_general):
12426         Major reorg.  This is now just a wrapper and symbols themselves
12427         are listed in general-slots.h.
12428
12429         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12430         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12431
12432         * glyphs-msw.c (mswindows_native_layout_instantiate):
12433         Add DS_CONTROL so keyboard traversal will work.
12434
12435         * glyphs-widget.c:
12436         * glyphs-widget.c (syms_of_glyphs_widget):
12437         Move some symbols to general-slots.h.
12438
12439         * glyphs-x.c:
12440         * glyphs-x.c (xbm_instantiate_1):
12441         * glyphs-x.c (x_xbm_instantiate):
12442         * glyphs-x.c (x_xface_instantiate):
12443         * glyphs-x.c (autodetect_instantiate):
12444         * glyphs-x.c (cursor_font_instantiate):
12445         * glyphs-x.c (x_update_widget):
12446         * glyphs-x.c (x_widget_instantiate):
12447         * glyphs.c (bitmap_to_lisp_data):
12448         * glyphs.c (pixmap_to_lisp_data):
12449         [7].
12450
12451         * glyphs.c (syms_of_glyphs):
12452         [2].
12453
12454         * gui-x.c:
12455         * gui-x.c (print_widget_value):
12456         * gui-x.c (menu_separator_style_and_to_external):
12457         * gui-x.c (add_accel_and_to_external):
12458         * gui-x.c (button_item_to_widget_value):
12459         * gui-x.c (gui_items_to_widget_values_1):
12460         * gui-x.c (gui_items_to_widget_values):
12461         * gui-x.c (syms_of_gui_x):
12462         * gui-x.c (vars_of_gui_x):
12463         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12464         [9].
12465
12466         * gui-x.h:
12467         Muleize, prototype changes matching gui-x.c.
12468
12469         * gui.c:
12470         * gui.c (separator_string_p):
12471         * gui.c (gui_item_add_keyval_pair):
12472         * gui.c (make_gui_item_from_keywords_internal):
12473         * gui.c (signal_too_long_error):
12474         * gui.c (parse_gui_item_tree_item):
12475         * gui.c (syms_of_gui):
12476         * gui.c (vars_of_gui):
12477         * gui.h:
12478         menu-no-selection-hook moved here (used by MSWin).
12479         Move some symbols to general-slots.h.
12480         [6].
12481         [9].
12482
12483         * insdel.c (get_buffer_pos_char):
12484         * insdel.c (get_buffer_range_char):
12485         Add GC comments.
12486
12487         * keymap.c (keymap_lookup_directly):
12488         * keymap.c (keymap_store):
12489         * keymap.c (ensure_meta_prefix_char_keymapp):
12490         * keymap.c (describe_map):
12491         * keymap.h:
12492         Support new button modifiers.
12493
12494         * lisp-disunion.h (wrap_object):
12495         * lisp-disunion.h (XSETOBJ):
12496         Rename make_obj to wrap_object.
12497
12498         * lisp-union.h:
12499         * lisp-union.h (make_int):
12500         * lisp-union.h (make_char):
12501         Support wrap_object.
12502
12503         * lisp.h:
12504         * lisp.h (LIST_LOOP):
12505         * lisp.h (EXTERNAL_LIST_LOOP):
12506         * lisp.h (LIST_LOOP_2):
12507         * lisp.h (EXTERNAL_LIST_LOOP_1):
12508         * lisp.h (EXTERNAL_LIST_LOOP_2):
12509         * lisp.h (EXTERNAL_LIST_LOOP_3):
12510         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12511         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12512         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12513         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12514         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12515         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12516         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12517         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12518         * lisp.h (struct Lisp_Symbol):
12519         * lisp.h (maybe_continuable_error_with_frob):
12520         Fix up section comments.
12521         Add new types for char to indicate usage.
12522         Delete symbols auto-generated from general-slots.h.
12523         Add prototypes for structured error functions.
12524         Add long comments describing looping macros and change interface
12525         so that lvalues are automatically declared.
12526         Add NO_DECLARE macro in case callers want to declare lvalues
12527         themselves.
12528
12529         * lread.c (read_syntax_error):
12530         * lread.c (continuable_read_syntax_error):
12531         * lread.c (read_structure):
12532         * lread.c (sequence_reader):
12533         * lread.c (read_list_conser):
12534         * lread.c (read_compiled_function):
12535         Rename syntax_error and continuable_syntax_error to avoid clash
12536         with same-named structured error functions.
12537
12538         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12539         * menubar-msw.c (populate_menu_add_item):
12540         * menubar-msw.c (populate_or_checksum_helper):
12541         [5].
12542         [9].
12543
12544         * menubar-x.c:
12545         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12546         Mule-ize whole file.
12547
12548         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12549
12550         * mule-charset.c (Fmake_charset):
12551         * mule-wnnfns.c (Fwnn_set_param):
12552         [1].
12553
12554         * ntproc.c (create_child):
12555         * ntproc.c (Fwin32_set_current_locale):
12556         Add comments portending doom.
12557
12558         * objects-msw.c:
12559         * objects-msw.c (old_font_enum_callback_2):
12560         * objects-msw.c (font_enum_callback_1):
12561         * objects-msw.c (mswindows_enumerate_fonts):
12562         [5].
12563
12564         * objects-x.c:
12565         * objects-x.c (allocate_nearest_color):
12566         * objects-x.c (x_parse_nearest_color):
12567         * objects-x.c (x_initialize_color_instance):
12568         * objects-x.c (x_print_color_instance):
12569         * objects-x.c (x_finalize_color_instance):
12570         * objects-x.c (x_valid_color_name_p):
12571         * objects-x.c (x_initialize_font_instance):
12572         * objects-x.c (x_print_font_instance):
12573         * objects-x.c (valid_x_font_name_p):
12574         * objects-x.c (truename_via_FONT_prop):
12575         * objects-x.c (truename_via_random_props):
12576         * objects-x.c (truename_via_XListFonts):
12577         * objects-x.c (x_font_truename):
12578         * objects-x.c (x_font_instance_truename):
12579         * objects-x.c (x_font_instance_properties):
12580         * objects-x.c (x_list_fonts):
12581         * objects-x.c (x_find_charset_font):
12582         Mule-ize entire file.
12583         [7].
12584
12585         * objects-x.h:
12586         Mule-verify.
12587
12588         * print.c:
12589         * print.c (std_handle_out_external):
12590         * print.c (debug_print_no_newline):
12591         * print.c (syms_of_print):
12592         Output to all debugger kinds in debug-print.
12593         Fix console-output code under MSWin to actually work.
12594
12595         * process-nt.c (send_signal):
12596         * process-nt.c (nt_create_process):
12597         Use newer Unicode macros.
12598
12599         * process-unix.c (unix_create_process):
12600         * process-unix.c (unix_canonicalize_host_name):
12601         * process-unix.c (unix_open_network_stream):
12602         [7].
12603
12604         * scrollbar-x.c:
12605         Mule-verify.
12606
12607         * search.c (syms_of_search):
12608         [2].
12609
12610         * select-msw.c (mswindows_destroy_selection):
12611         Use LIST_LOOP_2.
12612
12613         * select-x.c (symbol_to_x_atom):
12614         [7].
12615
12616         * select.c (syms_of_select):
12617         [2].
12618
12619         * sound.c (Fplay_sound_file):
12620         [7].
12621
12622         * specifier.c:
12623         * specifier.c (decode_specifier_type):
12624         * specifier.c (Fvalid_specifier_locale_type_p):
12625         * specifier.c (check_valid_locale_or_locale_type):
12626         * specifier.c (decode_locale):
12627         * specifier.c (decode_locale_type):
12628         * specifier.c (decode_locale_list):
12629         * specifier.c (check_valid_domain):
12630         * specifier.c (decode_specifier_tag_set):
12631         * specifier.c (Fcanonicalize_tag_set):
12632         * specifier.c (Fdefine_specifier_tag):
12633         * specifier.c (Fspecifier_tag_predicate):
12634         * specifier.c (check_valid_inst_list):
12635         * specifier.c (check_valid_spec_list):
12636         * specifier.c (decode_how_to_add_specification):
12637         * specifier.c (check_modifiable_specifier):
12638         * specifier.c (specifier_add_spec):
12639         * specifier.c (boolean_validate):
12640         * specifier.c (display_table_validate):
12641         [9].
12642
12643         * specifier.c (syms_of_specifier):
12644         Move some symbols to general-slots.h.
12645         [2].
12646
12647         * symbols.c:
12648         * symbols.c (Fmapatoms):
12649         * symbols.c (Fapropos_internal):
12650         Add GCPROs.
12651
12652         * symbols.c (set_default_buffer_slot_variable):
12653         * symbols.c (set_default_console_slot_variable):
12654         [1].
12655
12656         * symbols.c (defsymbol_massage_name_1):
12657         * symbols.c (defkeyword_massage_name):
12658         * symbols.c (deferror_1):
12659         * symbols.c (deferror):
12660         * symbols.c (deferror_massage_name_and_message):
12661         * symeval.h:
12662         * symeval.h (DEFSYMBOL):
12663         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12664
12665         * symbols.c (syms_of_symbols):
12666         [2].
12667
12668         * symsinit.h:
12669         * symsinit.h (init_win32): New.
12670         Also new is syms_of_dialog_mswindows.
12671
12672         * syswindows.h:
12673         Add new Unicode macros, missing Cygwin wide-char functions,
12674         convenience conversion macros for Qmswindows_tstr, macros for
12675         encapsulating required MSWin <-> Cygwin filename conversions,
12676         prototype for dynamically-extracted (not in NT 3.51) functions.
12677
12678         * toolbar-x.c:
12679         Mule-verify.
12680
12681         * tooltalk.c (Fadd_tooltalk_message_arg):
12682         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12683         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12684         [7].
12685
12686         * tooltalk.c (syms_of_tooltalk):
12687         [2].
12688
12689         * unexnt.c:
12690         * unexnt.c (unexec):
12691         Fix up headers, declaration of unexec() to be more standard.
12692
12693 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12694
12695         * offix.h: Revert change to guard macros - they're used in offix.c!
12696
12697 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12698
12699         * lisp.h: Defsubred Fdelete.
12700
12701         * console-msw.h:  (msprinter_default_printer): Added.
12702
12703         * console-msw.c (msprinter_canonicalize_console_connection):
12704         (msprinter_canonicalize_device_connection): Added.
12705
12706         * device-msw.c (msprinter_default_printer):
12707         (Fmswingows_get_default_printer):
12708         (signal_enum_priner_error):
12709         (Fmswingows_printer_list): Added.
12710
12711 2000-07-19  Martin Buchholz <martin@xemacs.org>
12712
12713         * XEmacs 21.2.35 is released.
12714
12715 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12716
12717         * select-x.c (x_handle_selection_request):
12718         Text selected in xemacs and pasted into xterm failed to appear.
12719         Spelling fixes and cosmetic changes.
12720
12721 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12722
12723         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12724         XEmacs frame (fix for doubling chars in dialog boxes).
12725
12726 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12727
12728         * select.c (select_convert_in, select_convert_out):
12729         Don't call intern() every time.
12730
12731         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12732         * select.c (vars_of_select): Initialise them.
12733
12734 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12735
12736         * select.c (selection-coercible-types): New.
12737
12738         * select.c (own-selection-internal):
12739         * select.c (get-selection-internal):
12740         MULE bug fix - these should default to COMPOUND_TEXT and not
12741         STRING for MULE. I think.
12742
12743         * select.c (select_convert_out): Use selection-coercible-types
12744         to find types that we can attempt to perform coercions on.
12745
12746 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12747
12748         * mule-wnnfns.c:
12749         * mule-canna.c:
12750         Add coding: cookie to identify encoding.
12751
12752         * mule-canna.c (CANNA_mode_keys): make static.
12753         Use proper prototypes, even for functions of no arguments.
12754         Remove external prototype for Fding().
12755
12756         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12757
12758         * select.c (syms_of_select): Add missing DEFSUBR.
12759
12760 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12761
12762         * select.c (get_selection_internal, own_selection_internal):
12763         Make the type default to STRING, rather than placing a nil type
12764         into Vselection_alist.
12765
12766 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12767
12768         * gpmevent.c (tty_selection_exists_p):
12769         * gpmevent.c (tty_own_selection):
12770         Updated parameter lists.
12771
12772 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12773
12774         * select.h (selection-alist): Removed declaration.
12775
12776         * select.h (get_local_selection):
12777         * select.c (get_local_selection):
12778         Made static.
12779
12780         * select.h (convert_selection): Removed declaration.
12781         * select.c (convert_selection): Removed.
12782         This function belongs in Lisp.
12783
12784         * select.h (select_convert_in): Declare.
12785         * select.h (select_convert_out): Declare.
12786         * select.c (select_convert_in): New.
12787         * select.c (select_convert_out): New.
12788         New conversion functions for other files to call.
12789
12790         * select.h (select_notify_buffer_kill): Declare.
12791         * select.c (select_notify_buffer_kill): New.
12792         New functions that get called from kill-buffer.
12793
12794         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12795         X-specific lisp code.
12796
12797         * select.h: Declare some of the lisp-visible functions for
12798         external use.
12799
12800         * select.c (clean_local_selection_data): Removed. This was
12801         a disgusting function, and previously should have been in
12802         select-x.c in any case. The functionality is now provided
12803         in select-convert-from-integer (select.el).
12804
12805         * select.c (available-selection-types): Fixed stupidity where
12806         INTEGER and ATOM got added twice. Also add STRING when we see an
12807         extent.
12808
12809         * select.c (get-selection-internal): Removed symbol stripping. No
12810         longer causes conversion when data comes from the internal cache.
12811
12812         * select.c (syms_of_select): Added new functions.
12813
12814         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12815         error checking - previously this called abort!
12816
12817         * select-x.c (x_own_selection): Changed comment.
12818
12819         * select-x.c (x_handle_selection_request): Use select_convert_out.
12820         Don't mess with selection-alist; it's an internal variable of select.c.
12821
12822         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12823
12824         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12825         rather than messing with selection-alist.
12826
12827         * select-msw.c (mswindows_get_foreign_selection):
12828         Use TO_INTERNAL_FORMAT rather than hacking.
12829
12830 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12831
12832         * process-unix.c (unix_open_multicast_group):
12833         (unix_open_multicast_group): Remove useless casts.
12834
12835 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12836
12837         * sound.c (Fplay_sound): Fix `unused variable' warning.
12838
12839         * emacs.c (main): Use correct type for _environ on SCO5.
12840
12841 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12842
12843         * console.h (own_selection_method):
12844         * console.h (selection_exists_p_method):
12845         * console.h (available_selection_types_method): New.
12846         * console.h (register_selection_data_type_method): New.
12847         * console.h (selection_data_type_name): New.
12848
12849         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12850         function & alist to track GlobalAlloc()'d handles that need
12851         releasing when the clipboard data gets replaced or emptied.
12852
12853         * event-msw.c (mswindows_wnd_proc): Call it.
12854
12855         * lisp.h, general.c (Qappend): New symbol representing a
12856         `how-to-add' mode.
12857
12858         * select.c (own-selection-internal):
12859         * select.c (selection-exists-p):
12860         * select.c (available-selection-types): New.
12861         * select.c (register-selection-data-type): New.
12862         * select.c (selection-data-type-name): New.  New functions to deal
12863         with device-specific selection data formats.
12864         * select.c (selection-converter-out-alist): Renamed.
12865         * select.c (selection-converter-in-alist): New.
12866         * select.c (selection-appender-alist): New.  Added new alists.
12867         * select.c (syms_of_select, vars_of_select): Added new symbols &
12868         variables.
12869         * select.c (get_local_selection): Split.
12870         * select.c: Removed spurious type checking - selections may now be
12871         of any type, not just strings.
12872         * select.c (own-selection-internal):
12873
12874         * select.h, select.c (convert_selection): New. Created
12875         convert_selection() function based on get_local_selection().
12876         * select.h, select.c (QCF_*): New symbols representing mswindows
12877         clipboard formats.
12878         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12879         symbols representing `how-to-add' modes.
12880
12881         * select-msw.c (x_sym_p): New.
12882         * select-msw.c (symbol_to_ms_cf): New.
12883         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12884         symbols & clipboard formats. Can also handle string names.
12885         * select-msw.c (mswindows_own_selection):
12886         * select-msw.c (mswindows_selection_exists_p):
12887         Added `data-type' parameter. Use it.
12888         * select-msw.c (mswindows_available_selection_types): New.
12889         * select-msw.c (mswindows_register_selection_data_type): New.
12890         * select-msw.c (mswindows_selection_data_type_name): New.
12891         * select-msw.c (mswindows_own_selection):
12892         * select-msw.c (mswindows_get_foreign_selection):
12893         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12894         * select-msw.c (console_create_select_mswindows): Added new methods.
12895         * select-msw.c (mswindows_destroy_selection): New.
12896         * select-msw.c (Vhandle_alist): New list.
12897         * select-msw.c (mswindows_own_selection):
12898
12899         * select-x.c (x_own_selection):
12900         * select-x.c (x_selection_exists_p):
12901         * select-x.c: Added some comments about maybe using new
12902         functionality.
12903         * select-x.c (x_own_selection):
12904
12905         * specifier.c: Remove definition of Qappend (now in general.c)
12906         * specifier.c (syms_of_specifier): Remove Qappend.
12907
12908 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12909
12910         * config.h.in: Add socklen_t.
12911
12912         * s/decosf4-0.h: No special compiler flags needed or desired.
12913         In particular, undefine _BSD for DEC OSF 4.0.
12914
12915 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12916
12917         * redisplay-msw.c (msprinter_frame_output_end): Added.
12918         (console_type_create_redisplay_mswindows): Referred the above.
12919
12920         * frame.c (setup_frame_without_minibuffer): Do not create a
12921         default minibuffer frame on a printer device.
12922
12923         * frame-msw.c (apply_dc_geometry): Added.
12924         (msprinter_start_page):
12925         (msprinter_init_frame_3):
12926         (msprinter_eject_page): Use it.
12927
12928         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12929         and removed residual duplex and orientation properties.
12930
12931 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12932
12933         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12934
12935         * unexalpha.c: Remove system prototypes from C sources!
12936
12937 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12938
12939         * eval.c: Remove references to M-x edit-options in DEFUNs for
12940         `defvar' and `defconst'.
12941
12942 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12943
12944         * config.h.in: Remove SMART_INCLUDE hackery.
12945
12946         PostgreSQL hacking:
12947         * config.h.in: Don't use SMART_INCLUDE.
12948
12949         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12950         * inline.c: Simply #include "postgresql.h"
12951         * postgresql.c:
12952         - Don't use SMART_INCLUDE
12953         - Use simply "const".
12954         - Use standard doc string conventions.
12955         - Use correct type for result of PQstatus.
12956
12957 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12958
12959         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12960
12961         C++ compilation changes.
12962         * config.h.in (EXTERN_C): Define.
12963         * config.h.in (not): This is also a C++ keyword.
12964         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12965         * cm.c: Use EXTERN_C.
12966         * redisplay-tty.c: Use EXTERN_C.
12967         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12968
12969 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12970
12971         * general.c: Remove duplicate definition for Qfunction.
12972
12973 2000-07-08  Ben Wing  <ben@xemacs.org>
12974
12975         * device-msw.c (msprinter_init_device):
12976         * device-msw.c (sync_printer_with_devmode):
12977         * device-msw.c (handle_devmode_changes):
12978         * device-msw.c (print_dialog_worker):
12979         * device-msw.c (Fmsprinter_apply_settings):
12980         * device-msw.c (hash_devmode):
12981         * device-msw.c (Fmsprinter_settings_despecialize):
12982         use Qmswindows_tstr, not Qctext.
12983
12984         * vm-limit.c (check_memory_limits):
12985         avoid infinite loop printing warning messages.
12986
12987 2000-07-05  Craig Lanning  <lanning@scra.org>
12988
12989         * Makefile.in.in: Add support for including the Windows resources
12990         when building with the cygwin and mingw targets.
12991
12992         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12993         not set or not correct.
12994         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12995         (init_initial_directory): Don't try to use $PWD on the
12996         WIN32_NATIVE target.
12997
12998         * s\cygwin32.h:
12999         [[Add -mwindows to eliminate console window.]] not required --ben
13000         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13001         (MAIL_USE_POP): removed; now handled by configure.
13002
13003         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
13004         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
13005         (HAVE_NATIVE_SOUND): removed; now handled by configure.
13006         (MAIL_USE_POP): removed; now handled by configure.
13007         (ENCAPSULATE_STAT): from Dan Holmsand, added.
13008         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
13009         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
13010         constant string.
13011         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
13012         up from <winsock.h> via systime.h.
13013         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
13014         (getpagesize): from Dan Holmsand, added.
13015         Added #endif which was left dangling by Ben's mega patch; added
13016         comment to help prevent this in the future.
13017
13018         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
13019
13020 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
13021
13022         * console-msw.h (struct mswindows_device): Removed unnecessary
13023         cached device geometry values.
13024         Added update_tick and an accessor macro.
13025         (Lisp_Devmode): Added lrecord declaration.
13026         (struct msprinter_device): Contain devmode as a Lisp object.
13027         Added mswindows_get_selected_frame_hwnd();
13028
13029         * console.h (struct console_methods): Indentation nitpicking.
13030
13031         * device-msw.c (mswindows_init_device): Do not initialize geometry
13032         cache. Initialize update tick.
13033         (mswindows_device_system_metrics): Ask the device for its geometry.
13034         (global_free_2_maybe):
13035         (devmode_to_hglobal):
13036         (handle_printer_changes):
13037         (ensure_not_printing):
13038         (print_dialog_worker):
13039         (Fmsprinter_print_setup_dialog):
13040         (Fmsprinter_print_dialog):
13041         (plist_get_margin):
13042         (plist_set_margin):
13043         (Fmsprinter_page_setup_dialog): Added functions.
13044         (sync_printer_with_devmode):
13045         (handle_devmode_changes):
13046         (Fmsprinter_get_settings):
13047         (Fmsprinter_select_settings):
13048         (Fmsprinter_apply_settings):
13049         (allocate_devmode):
13050         (Fmsprinter_settings_copy):
13051         (Fmsprinter_settings_despecialize):
13052         (print_devmode):
13053         (finalize_devmode):
13054         (equal_devmode):
13055         (hash_devmode): Added functions
13056         (syms_of_device_mswindows): Init devmode lrecord class.
13057
13058         * device.h: Added an exfun for find-device.
13059
13060         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13061         geometry; although, recreate the device compatible DC.
13062
13063         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13064         (msprinter_init_frame_3):
13065         (msprinter_frame_property):
13066         (msprinter_internal_frame_property_p):
13067         (msprinter_frame_properties):
13068         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13069         print job properties (will move to device settings).
13070
13071         * lisp.h: Added symbols.
13072
13073         * general.c (syms_of_general): Declared them.
13074
13075         * hash.c (string_hash): Added.
13076
13077         * lrecord.h (lrecord_type): Added devmode lrecord type.
13078
13079 2000-07-02  Mike Sperber <mike@xemacs.org>
13080
13081         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13082         FreeBSD 4.0.
13083
13084 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13085
13086         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13087         integer.
13088
13089 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13090
13091         * data.c (Fstring_to_number): Don't recognize floating point if
13092         base is not 10.
13093
13094 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13095
13096         * glyphs-widget.c (tab_control_query_geometry):
13097         (widget_query_geometry):
13098         (button_query_geometry):
13099         * glyphs.c (text_query_geometry):
13100         Enforce type correctness.
13101
13102 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13103
13104         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13105         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13106
13107 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13108
13109         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13110         conflicts with gcc's fixincluded version of FOO.h.
13111
13112         * glyphs.h (image_instance_geometry): Remove trailing `,'
13113
13114 2000-06-08  Mike Alexander  <mta@arbortext.com>
13115
13116         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13117         (shove_thread): Don't write the same output twice
13118         (make_ntpipe_output_stream): Increase priority of shove thread
13119         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13120         chance to run
13121         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13122         it.
13123
13124 2000-06-12  Ben Wing  <ben@xemacs.org>
13125
13126         * s\mingw32.h (sigset):
13127         * s\windowsnt.h (sigset):
13128         rename msw_ to mswindows_ for consistency with general convention.
13129
13130 2000-06-12  Ben Wing  <ben@xemacs.org>
13131
13132         * console-msw.c:
13133         * console-msw.c (mswindows_get_console_hwnd):
13134         * console-msw.c (mswindows_ensure_console_allocated):
13135         * console-msw.c (mswindows_hide_console):
13136         * console-msw.c (mswindows_show_console):
13137         * console-msw.c (mswindows_ensure_console_buffered):
13138         * console-msw.c (mswindows_output_console_string):
13139         * console-msw.c (mswindows_windows9x_p):
13140         * console-msw.h:
13141         * device-msw.c (mswindows_get_workspace_coords):
13142         * device-msw.c (mswindows_device_system_metrics):
13143         * dialog-msw.c (mswindows_popup_dialog_box):
13144         * event-msw.c (mswindows_wnd_proc):
13145         * frame-msw.c (mswindows_size_frame_internal):
13146         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13147         * menubar-msw.c (displayable_menu_item):
13148         * menubar-msw.c (mswindows_char_is_accelerator):
13149         * nt.c:
13150         * nt.c (mswindows_sigset):
13151         * nt.c (mswindows_sigrelse):
13152         * nt.c (mswindows_sigpause):
13153         * nt.c (mswindows_raise):
13154         * nt.c (timer_proc):
13155         * ntproc.c:
13156         * ntproc.c (find_child_console):
13157         * ntproc.c (sys_kill):
13158         * print.c:
13159         * print.c (std_handle_out_external):
13160         * process-nt.c (find_child_console):
13161         * process-nt.c (send_signal_the_95_way):
13162         * process-nt.c (ensure_console_window_exists):
13163         * process-nt.c (nt_create_process):
13164         * syssignal.h:
13165         rename msw_ to mswindows_ for consistency with general convention.
13166
13167         * emacs.c:
13168         * dumper.c:
13169         include nt.h, not syswindows.h.
13170
13171         * nt.c (mswindows_fstat):
13172         * nt.c (mswindows_stat):
13173         prefix mswindows_ instead of attempting to directly override the
13174         library functions.  fix declarations.
13175
13176         * nt.h:
13177         include syswindows.h.  move some sysdep.h stuff here.
13178
13179         * ntheap.h:
13180         include syswindows.h, not <windows.h>.
13181
13182         * ntplay.c:
13183         clean up headers.
13184
13185         * sysdep.c:
13186         clean up headers.
13187
13188         * sysdep.c (sys_fstat):
13189         * sysdep.c (sys_stat):
13190         call mswindows versions when appropriate.
13191
13192         * sysdep.h:
13193         move mswin decls to nt.h.
13194
13195         * syswindows.h:
13196         add long comment describing appropriate use of the various windows
13197         headers.
13198
13199 2000-06-11  Ben Wing  <ben@xemacs.org>
13200
13201         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13202
13203 2000-06-10  Ben Wing  <ben@xemacs.org>
13204
13205         * Makefile.in.in (release):
13206         Correction to make sure xemacs.exe always dumped when correct.
13207
13208         * alloca.c:
13209         * balloon_help.c:
13210         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13211
13212         * buffer.c (set_buffer_internal):
13213         [[[[2]]]]: Remove HAVE_FEP code.
13214
13215         * buffer.c (init_initial_directory):
13216         [3].
13217
13218         * bytecode.c:
13219         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13220         individual files.
13221
13222         * callproc.c:
13223         * callproc.c (call_process_cleanup):
13224         * callproc.c (Fold_call_process_internal):
13225         * callproc.c (child_setup):
13226         * callproc.c (getenv_internal):
13227         * callproc.c (init_callproc):
13228         * callproc.c (vars_of_callproc):
13229         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13230         __CYGWIN32__ -> CYGWIN.
13231         DOS_NT -> WIN32_NATIVE.
13232         Remove MSDOS support/references, converting to WIN32_NATIVE
13233           where correct.
13234         __MINGW32__ -> MINGW.
13235         Fix windows.h includes.
13236         Remove bogus HAVE_NTGUI.
13237
13238         * config.h.in:
13239         [2].
13240
13241         * console-msw.c:
13242         mswindows_message_outputted added for use in allowing startup
13243         errors on the console to be seen.
13244
13245         * console-msw.c (msw_ensure_console_allocated):
13246         * console-msw.c (msw_output_console_string):
13247         * console-msw.c (DHEADER):
13248         * console-msw.c (DOPAQUE_DATA):
13249         * console-msw.c (DEVENT):
13250         * console-msw.c (DCONS):
13251         * console-msw.c (DCONSCDR):
13252         * console-msw.c (DSTRING):
13253         * console-msw.c (DVECTOR):
13254         * console-msw.c (DSYMBOL):
13255         * console-msw.c (DSYMNAME):
13256         Fix warnings.
13257
13258         * console-stream.c (stream_init_console):
13259         Fix text/binary problems.
13260
13261         * device-msw.c:
13262         * device-msw.c (mswindows_finish_init_device):
13263         * device-msw.c (mswindows_delete_device):
13264         [1].
13265
13266         * device.c (handle_asynch_device_change):
13267         [3].
13268
13269         * dgif_lib.c:
13270         * dgif_lib.c (DGifOpenFileName):
13271         * dgif_lib.c (DGifOpenFileHandle):
13272         * dgif_lib.c (DGifGetLine):
13273         * dgif_lib.c (DGifGetPixel):
13274         Added config.h/lisp.h, fix up includes.
13275         [1].
13276
13277         * dired-msw.c:
13278         [4].
13279
13280         * dired.c:
13281         * dired.c (file_name_completion):
13282         * dired.c (Ffile_attributes):
13283         * dired.c (syms_of_dired):
13284         [1].
13285
13286         * dumper.c:
13287         * dumper.c (pdump_file_unmap):
13288         * dumper.c (pdump_load):
13289         [1].
13290
13291         * editfns.c:
13292         * editfns.c (Ftemp_directory):
13293         * editfns.c (user_login_name):
13294         * editfns.c (Fuser_real_login_name):
13295         * editfns.c (get_home_directory):
13296         [1].
13297
13298         * elhash.c (finish_marking_weak_hash_tables):
13299         [[[[5]]]]: Fix GCC warnings.
13300
13301         * emacs.c:
13302         * emacs.c (mswindows_handle_hardware_exceptions):
13303         * emacs.c (make_arg_list_1):
13304         * emacs.c (main_1):
13305         * emacs.c (Fkill_emacs):
13306         * emacs.c (Fdump_emacs):
13307         [1].
13308         Fix problems with nested crashes, add long comment.
13309
13310         * event-Xt.c (init_event_Xt_late):
13311         [1].
13312
13313         * event-msw.c:
13314         * event-msw.c (mswindows_dde_callback):
13315         * event-msw.c (mswindows_handle_sticky_modifiers):
13316         * event-msw.c (mswindows_wnd_proc):
13317         [1].
13318         [5].
13319
13320         * events.c (character_to_event):
13321         [1].
13322
13323         * fileio.c:
13324         * fileio.c (Ffile_name_directory):
13325         * fileio.c (Ffile_name_nondirectory):
13326         * fileio.c (directory_file_name):
13327         * fileio.c (Fexpand_file_name):
13328         * fileio.c (Fsubstitute_in_file_name):
13329         * fileio.c (Ffile_name_absolute_p):
13330         * fileio.c (check_executable):
13331         * fileio.c (Ffile_readable_p):
13332         * fileio.c (Ffile_accessible_directory_p):
13333         * fileio.c (Ffile_modes):
13334         * fileio.c (Funix_sync):
13335         * fileio.c (vars_of_fileio):
13336         [1]. [4].
13337
13338         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13339
13340         Expand getdefdir defn.
13341         Fix bogus rename() comment.
13342
13343         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13344         to use standard XEmacs include files, e.g. sysfile.h, rather
13345         than system-specific includes.
13346
13347         * fns.c:
13348         * fns.c (Fsubseq):
13349         [5]. [6].
13350
13351         * frame.c (vars_of_frame):
13352         [1].
13353
13354         * getloadavg.c:
13355         * getloadavg.c (getloadavg):
13356         [1]. [6].
13357         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13358         (We don't use it elsewhere in the code; just add a comment.)
13359
13360         * gif_io.c:
13361         [6].
13362         Add config.h.
13363
13364         * glyphs-msw.c:
13365         * glyphs-msw.c (mswindows_resource_instantiate):
13366         [1].
13367
13368         * glyphs-x.c (x_native_layout_instantiate):
13369         [5].
13370
13371         * gui-msw.c (Fmswindows_shell_execute):
13372         [1].
13373
13374         * insdel.c:
13375         [4].
13376
13377         * lisp.h:
13378         [4]. [5].
13379
13380         * lread.c (locate_file_in_directory_mapper):
13381         [1].
13382
13383         * lstream.c:
13384         [4].
13385
13386         * mem-limits.h:
13387         * mem-limits.h (get_lim_data):
13388         [1].
13389
13390         * menubar-msw.c:
13391         [4].
13392
13393         * ndir.h:
13394         [1].
13395
13396         * nt.c:
13397         * nt.c (getwd):
13398         * nt.c (closedir):
13399         * nt.c (rva_to_section):
13400         * nt.c (mswindows_executable_type):
13401         [1]. [6].
13402         Fix closedir() defn.
13403
13404         * nt.h:
13405         [[[[8]]]]: *_OK defs moved to sysfile.h.
13406
13407         * ntproc.c:
13408         [6]. [7].
13409
13410         * objects-x.c:
13411         [4].
13412
13413         * print.c:
13414         * print.c (std_handle_out_external):
13415         [1]. [4].
13416
13417         * process-nt.c:
13418         * process-nt.c (nt_create_process):
13419         [6].
13420         try to fix process quoting somewhat.
13421
13422         * process-unix.c (unix_create_process):
13423         [1].
13424
13425         * process.c:
13426         * process.c (vars_of_process):
13427         Add Vnull_device.
13428
13429         * process.h:
13430         [1].
13431
13432         * realpath.c:
13433         * realpath.c (xrealpath):
13434         [1].
13435
13436         * redisplay-tty.c (init_tty_for_redisplay):
13437         [3].
13438
13439         * redisplay.c:
13440         [4]. [6].
13441
13442         * scrollbar-msw.c:
13443         [4].
13444
13445         * sheap.c:
13446         * sheap.c (more_static_core):
13447         * sheap.c (report_sheap_usage):
13448         [5]. [6].
13449
13450         * signal.c:
13451         * signal.c (alarm_signal):
13452         [1]. [6].
13453
13454         * sound.c:
13455         [6].
13456
13457         * strftime.c:
13458         * strftime.c (zone_name):
13459         [1]. [5].
13460
13461         * symsinit.h (init_sunpro):
13462         [1].
13463
13464         * syscommctrl.h:
13465         commctrl.h not in Cygwin b20.1.
13466
13467         * sysdep.c:
13468         * sysdep.c (endif):
13469         * sysdep.c (sys_subshell):
13470         * sysdep.c (init_baud_rate):
13471         * sysdep.c (emacs_get_tty):
13472         * sysdep.c (emacs_set_tty):
13473         * sysdep.c (tty_init_sys_modes_on_device):
13474         * sysdep.c (init_system_name):
13475         * sysdep.c (sys_open):
13476         * sysdep.c (interruptible_open):
13477         * sysdep.c (sys_fopen):
13478         * sysdep.c (sys_mkdir):
13479         * sysdep.c (sys_rename):
13480         * sysdep.c (get_process_times_1):
13481         [1]. [6].
13482
13483         * sysdep.h:
13484         [1].
13485
13486         * sysdir.h:
13487         * sysdir.h (DIRENTRY_NONEMPTY):
13488         [1]. [6].
13489
13490         * sysdll.c (dll_init):
13491         * sysdll.h:
13492         [1].
13493
13494         * sysfile.h:
13495         [1]. [6]. [8].
13496         added text/binary defs.
13497
13498         * sysfloat.h:
13499         [1].
13500
13501         * sysproc.h:
13502         * sysproc.h (EDESTADDRREQ):
13503         * sysproc.h (poll_fds_for_input):
13504         [1]. [6].
13505
13506         * syspwd.h:
13507         [6].
13508
13509         * syssignal.h:
13510         [1].
13511
13512         * systime.h:
13513         [1]. [6].
13514
13515         * systty.h:
13516         [1].
13517
13518         * syswindows.h:
13519         [1].
13520         Always define WIN32_LEAN_AND_MEAN.
13521
13522         * unexcw.c (unexec):
13523         [5].
13524
13525         * unexec.c:
13526         * unexec.c (copy_text_and_data):
13527         * unexec.c (adjust_lnnoptrs):
13528         [1].
13529
13530         * unexnt.c:
13531         * unexnt.c (_start):
13532         [1].
13533
13534 2000-06-07  Ben Wing  <ben@xemacs.org>
13535
13536         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13537         was used only as a model.  We've long since extracted any useful
13538         logic or code out of this. (I just did an exhaustive search.)
13539
13540         * s\msdos.h: Removed.
13541
13542         * s\windows95.h: Removed.
13543
13544 2000-06-10  Ben Wing  <ben@xemacs.org>
13545
13546         * s\cygwin32.h:
13547         [1]. [5].
13548         Don't use extern with fun defs.
13549
13550         * s\mingw32.h:
13551         [1]. [7].
13552         Remove nt\inc include.
13553         Remove getdisk, getdefdir. (The former is unused, the latter
13554         expanded in fileio.h.)
13555
13556         * s\windowsnt.h:
13557         * s\windowsnt.h (WIN32_NATIVE):
13558         * s\windowsnt.h (HAVE_STRCASECMP):
13559         [1]. [7].
13560         Add long comment about preprocessor changes.
13561         Remove getdisk, getdefdir. (The former is unused, the latter
13562         expanded in fileio.h.)
13563
13564 2000-06-10  Ben Wing  <ben@xemacs.org>
13565
13566         * m\arm.h:
13567         * m\delta.h:
13568         * m\intel386.h:
13569         * m\sequent.h:
13570         * m\template.h:
13571         * m\windowsnt.h:
13572         [1].
13573         Remove bogus/unused NO_SOCK_SIGIO.
13574
13575 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13576
13577         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13578         not an Emchar.
13579
13580 2000-06-04  Mike Sperber <mike@xemacs.org>
13581
13582         * casetab.c (set_case_table): For `set-standard-case-table',
13583         actually deposit the new case tables where the rest of XEmacs can
13584         see them.
13585
13586 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13587
13588         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13589
13590 2000-06-05  Ben Wing  <ben@xemacs.org>
13591
13592         * callproc.c (child_setup): Don't do close_load_descs() under
13593         MS Windows.  Put in a comment explaining why.
13594
13595 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13596
13597         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13598         Toolkit shell" which breaks `kill-compilation' on Windows NT
13599         native, retaining STDERR handling improvements.
13600
13601 2000-06-01  Andreas Jaeger  <aj@suse.de>
13602
13603         * s/s390.h: Support for S390, based on a patch by Martin
13604         Schwidefsky <schwidefsky@de.ibm.com>.
13605
13606 2000-05-30  Andy Piper  <andy@xemacs.org>
13607
13608         * window.c (allocate_window):
13609         (make_dummy_parent):
13610         (Fset_window_configuration): use new hashtable type.
13611
13612         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13613         (struct image_instantiator_methods):
13614         (struct Lisp_Image_Instance): make instance geometry signed.
13615
13616         * glyphs.c (instantiate_image_instantiator):
13617         (image_instance_query_geometry):
13618         (image_instance_layout):
13619         (image_instance_layout):
13620         (query_string_geometry):
13621         (text_query_geometry):
13622         (image_instantiate):
13623         (image_instantiate):
13624         (cache_subwindow_instance_in_frame_maybe):
13625         (subwindow_query_geometry): make instance geometry signed.
13626
13627         * glyphs-widget.c (widget_query_geometry):
13628         (widget_layout):
13629         (button_query_geometry):
13630         (tree_view_query_geometry):
13631         (tab_control_query_geometry):
13632         (layout_query_geometry):
13633         (layout_layout):
13634         (native_layout_layout): make instance geometry signed.
13635
13636 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13637
13638         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13639         constant.
13640
13641         * general.c (syms_of_general): Add Qfull_assoc symbol.
13642
13643         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13644         correctly.
13645         (decode_weak_list_type): Decode full-assoc type.
13646         (encode_weak_list_type): Encode full-assoc type.
13647         (Fmake_weak_list): Update doc string.
13648
13649 2000-05-30  Andy Piper  <andy@xemacs.org>
13650
13651         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13652
13653         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13654         (decode_hash_table_weakness): ditto.
13655         (Fhash_table_weakness): ditto.
13656         (Fhash_table_type): ditto.
13657         (finish_marking_weak_hash_tables): ditto.
13658         (hash_table_weakness_validate): ditto.
13659         (syms_of_elhash): ditto.
13660
13661 2000-05-28  Martin Buchholz <martin@xemacs.org>
13662
13663         * XEmacs 21.2.34 is released.
13664
13665 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13666
13667         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13668         start cache.
13669         (updating_line_start_cache): Gone.
13670         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13671         generic code to force a minimum of 1 line laid out in the
13672         CMOTION_DISP case.
13673
13674 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13675
13676         * glyphs.c (instantiate_image_instantiator): Check for initialized
13677         height & width no longer special cases IMAGE_NOTHING.
13678         (nothing_instantiate): Set height and width of instance.
13679
13680 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13681
13682         * unexelf.c (unexec): Search for ".data" section.
13683         Initialize new_data2_offset from old_data_index.
13684         Remove redundant check for ElfW.
13685
13686 2000-05-23  Andy Piper  <andy@xemacs.org>
13687
13688         * glyphs.c (get_image_instantiator_governing_domain): allow more
13689         specific domains as the governing domain rather than expecting an
13690         exact match. This fixes problems with layouts.
13691
13692 2000-05-22  Andy Piper  <andy@xemacs.org>
13693
13694         * redisplay-output.c (compare_runes): check for non-images
13695
13696         * glyphs.c (set_glyph_dirty_p): ditto.
13697         (update_glyph_cachel_data): ditto.
13698
13699         * glyphs-widget.c (layout_post_instantiate): ditto.
13700         (layout_post_instantiate): ditto.
13701
13702         * event-msw.c (mswindows_wnd_proc): warning removal.
13703
13704 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13705
13706         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13707
13708         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13709
13710         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13711
13712         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13713         (mswindows_executable_type): mingw32 now has enough headers for
13714         this to work.
13715
13716 2000-05-20  Andy Piper  <andy@xemacs.org>
13717
13718         * console-msw.c (mswindows_output_last_error): ; -> ,
13719
13720 2000-05-12  Andy Piper  <andy@xemacs.org>
13721
13722         * console-msw.c (FROB): compare ints with ints.
13723
13724 2000-05-11  Andy Piper  <andy@xemacs.org>
13725
13726         * glyphs-x.c (x_finalize_image_instance): make minimal build
13727         happy.
13728
13729 2000-05-20  Ben Wing  <ben@xemacs.org>
13730
13731         * event-Xt.c:
13732         * event-Xt.c (vars_of_event_Xt):
13733         move modifier-keys-are-sticky to event-stream.c.
13734
13735         * event-msw.c:
13736         * event-msw.c (mswindows_enqueue_mouse_button_event):
13737         * event-msw.c (key_needs_default_processing_p):
13738         * event-msw.c (XEMSW_LCONTROL):
13739         * event-msw.c (mswindows_handle_sticky_modifiers):
13740         * event-msw.c (FROB):
13741         * event-msw.c (clear_sticky_modifiers):
13742         * event-msw.c (output_modifier_keyboard_state):
13743         * event-msw.c (output_alt_keyboard_state):
13744         * event-msw.c (mswindows_wnd_proc):
13745         * event-msw.c (mswindows_modifier_state):
13746         * event-msw.c (emacs_mswindows_handle_magic_event):
13747         implement sticky modifiers.
13748
13749         * event-stream.c:
13750         * event-stream.c (vars_of_event_stream):
13751         move modifier-keys-are-sticky here.
13752
13753         * lisp.h:
13754         add CHECK_FUNCTION.
13755
13756         * rangetab.c:
13757         implement map-range-table.
13758
13759
13760 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13761
13762         * redisplay-tty.c (reset_tty_modes):
13763         (tty_redisplay_shutdown): Adjust argument type to
13764         tty_frame_output_end.
13765
13766 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13767
13768         * eval.c (Fbacktrace): Don't output a line with only right
13769         parenthesis.
13770
13771 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13772
13773         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13774         (Fpq_reset_poll): Ditto.
13775
13776 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13777
13778         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13779
13780 2000-05-16  Ben Wing  <ben@xemacs.org>
13781
13782         * buffer.c:
13783         * buffer.c (dfc_convert_to/from_internal_format):
13784         * buffer.c (reinit_vars_of_buffer):
13785         Fix conversion functions to allow reentrancy.
13786
13787         * console-msw.c:
13788         * console-msw.c (mswindows_output_last_error):
13789         New fun, generally useful -- output a human-readable
13790         version of GetLastError() on the console.
13791
13792         * console-msw.h:
13793         * console-msw.h (struct mswindows_frame):
13794         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13795
13796         * console-stream.c (stream_output_begin):
13797         * console-stream.c (stream_output_end):
13798         * console-stream.c (stream_output_vertical_divider):
13799         * console-stream.c (stream_clear_region):
13800         * console-stream.c (stream_flash):
13801         * console-stream.c (console_type_create_stream):
13802         Delete blank stream methods, not needed.
13803
13804         * console.h (struct console_methods):
13805         Split begin/end methods into window and frame.
13806
13807         * event-msw.c:
13808         * event-msw.c (mswindows_handle_paint):
13809         * event-msw.c (output_alt_keyboard_state):
13810         * event-msw.c (mswindows_wnd_proc):
13811         * event-msw.c (vars_of_event_mswindows):
13812         Comment about problems with ignored-expose.
13813         Define mswindows-debug-events; not really implemented.
13814
13815         * frame-msw.c (mswindows_init_frame_1):
13816         random cleanups.
13817
13818         * glyphs-msw.c:
13819         * glyphs-msw.c (begin_defer_window_pos):
13820         * glyphs-msw.c (mswindows_unmap_subwindow):
13821         * glyphs-msw.c (mswindows_map_subwindow):
13822         * glyphs-msw.c (mswindows_resize_subwindow):
13823         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13824
13825         * glyphs.c (make_image_instance_1):
13826         Fix crash.
13827
13828         * gutter.c (Fredisplay_gutter_area):
13829         Use new begin/end methods.
13830
13831         * lisp.h (Dynarr_new2):
13832         New creation fun.
13833
13834         * redisplay-msw.c:
13835         * redisplay-msw.c (mswindows_frame_output_begin):
13836         * redisplay-msw.c (mswindows_frame_output_end):
13837         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13838         New begin/end methods -- handle DeferWindowPos.
13839
13840         * redisplay-output.c (redisplay_move_cursor):
13841         * redisplay-output.c (redraw_cursor_in_window):
13842         * redisplay-output.c (redisplay_update_line):
13843         * redisplay-output.c (redisplay_output_window):
13844         New begin/end methods.
13845
13846         * redisplay-tty.c:
13847         * redisplay-tty.c (tty_frame_output_begin):
13848         * redisplay-tty.c (tty_frame_output_end):
13849         * redisplay-tty.c (console_type_create_redisplay_tty):
13850         New begin/end methods.
13851
13852         * redisplay-x.c:
13853         * redisplay-x.c (x_window_output_begin):
13854         * redisplay-x.c (x_window_output_end):
13855         * redisplay-x.c (console_type_create_redisplay_x):
13856         New begin/end methods.
13857
13858         * redisplay.c (redisplay_frame):
13859         * redisplay.c (Fredisplay_echo_area):
13860         New begin/end methods.
13861         use MAYBE_DEVMETH for clear_frame; it may not exist.
13862
13863         * window.h (WINDOW_XFRAME):
13864         WINDOW_XFOO macros -- get locale and decode struct pointer.
13865
13866
13867 2000-05-12  Ben Wing  <ben@xemacs.org>
13868
13869         * emacs.c:
13870         * emacs.c (ensure_no_quitting_from_now_on):
13871         * emacs.c (fatal_error_signal):
13872         * emacs.c (mswindows_handle_hardware_exceptions):
13873         * emacs.c (main):
13874         * emacs.c (Fkill_emacs):
13875         * emacs.c (shut_down_emacs):
13876         * emacs.c (assert_failed):
13877         various improvements in fatal error handling.
13878
13879         * eval.c:
13880         move preparing_for_armageddon to emacs.c.
13881
13882         * lisp.h:
13883         declare fatal_error_in_progress.
13884
13885         * print.c:
13886         * print.c (std_handle_out_external):
13887         * print.c (std_handle_out_va):
13888         * print.c (stderr_out):
13889         * print.c (stdout_out):
13890         use console under mswin when no standard output.
13891         don't do code conversion during fatal error.
13892
13893         * scrollbar.c (Fscrollbar_page_up):
13894         * scrollbar.c (Fscrollbar_page_down):
13895         fix missing else.  reindent.
13896
13897 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13898
13899         Emergency fix.
13900
13901         * glyphs.h (GLYPH_CACHEL_DESCENT):
13902         (GLYPH_CACHEL_DESCENT):
13903         (GLYPH_CACHEL_DESCENT):
13904         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13905         used in case these are inline functions.
13906         Use more absurd values to error check.
13907
13908         include window.h for error check functions.
13909
13910 2000-05-11  Ben Wing  <ben@xemacs.org>
13911
13912         * cmdloop.c (Freally_early_error_handler):
13913         Display message box under windows; otherwise, message will disappear
13914         before it can be viewed.
13915
13916         * console-msw.c:
13917         * console-msw.c (Fmswindows_message_box):
13918         * console-msw.c (FROB):
13919         * console-msw.c (syms_of_console_mswindows):
13920         Define new fun `mswindows-message-box'.
13921         #### I will merge this into `popup-dialog-box'; just give me
13922         a bit of time.
13923
13924         * general.c:
13925         * general.c (syms_of_general):
13926         Some new symbols used in `mswindows-message-box'.
13927
13928         * glyphs.c:
13929         * glyphs.c (Fset_image_instance_property):
13930         put warning in this fun.
13931
13932         * glyphs.h:
13933         * glyphs.h (GLYPH_CACHEL_WIDTH):
13934         * glyphs.h (GLYPH_CACHEL_ASCENT):
13935         * glyphs.h (GLYPH_CACHEL):
13936         * glyphs.h (GLYPH_CACHEL_GLYPH):
13937         define error-checking versions to try to catch a bug i've seen --
13938         redisplay gets in an infinite loop because the glyph width of the
13939         continuation glyph is 65535.
13940
13941         * lisp.h:
13942         Extern message-box stuff.
13943
13944         * window.c (allocate_window):
13945         * window.c (make_dummy_parent):
13946         * window.c (Fset_window_configuration):
13947         Use EQUAL not EQ for subwindow caches to make them work a bit
13948         better. (Something is still very broken.)
13949
13950
13951 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13952
13953         * glyphs.c (image_instantiate): Suppress gcc warnings.
13954         (Fmake_image_instance): Fix doc string.
13955         * specifier.c (Fmake_specifier): Ditto.
13956
13957 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13958
13959         * paths.h.in (PATH_LOCK): Removed.
13960         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13961         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13962
13963 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13964
13965         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13966         Document (featurep '(and xemacs 21.02)).
13967
13968 2000-05-09  Ben Wing  <ben@xemacs.org>
13969
13970         * buffer.c (complex_vars_of_buffer):
13971         update modeline-format doc.
13972
13973         * device.h:
13974         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13975
13976         * emacs.c:
13977         timeline of all released versions of Emacs, for use in creating
13978         authorship comments and in synching up.
13979
13980         * glyphs-widget.c (image_instantiator_buttons):
13981         * glyphs-widget.c (image_instantiator_edit_fields):
13982         * glyphs-widget.c (image_instantiator_combo_box):
13983         * glyphs-widget.c (image_instantiator_scrollbar):
13984         * glyphs-widget.c (image_instantiator_progress_guage):
13985         * glyphs-widget.c (image_instantiator_tree_view):
13986         * glyphs-widget.c (image_instantiator_tab_control):
13987         * glyphs-widget.c (image_instantiator_labels):
13988         * glyphs-widget.c (image_instantiator_layout):
13989         * glyphs-widget.c (image_instantiator_native_layout):
13990         rename decode_domain method to governing_domain.
13991
13992         * glyphs.c:
13993         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13994         * glyphs.c (add_entry_to_device_ii_format_list):
13995         make sure we don't put an entry more than once into the list.
13996         * glyphs.c (check_instance_cache_mapper):
13997         *************************************************************
13998         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13999         HAVE BEEN GETTING.
14000         *************************************************************
14001         * glyphs.c (get_image_instantiator_governing_domain):
14002         clean up, expand on new concept of governing domain.
14003         * glyphs.c (instantiate_image_instantiator):
14004         * glyphs.c (allocate_image_instance):
14005         use governing_domain instead of cache_domain in naming.
14006         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
14007         * glyphs.c (make_image_instance_1):
14008         * glyphs.c (Fmake_image_instance):
14009         allow for any domain (not just device), and process the
14010         governing domain correctly.  very big doc fix.
14011         * glyphs.c (Fimage_instance_domain):
14012         new primitive, to retrieve the governing domain of an image instance.
14013         * glyphs.c (image_instantiate):
14014         use new governing_domain stuff.  this fixes a crash you could get
14015         by instantiating certain widget glyphs in frame locales. (should
14016         signal an error instead of crashing.)
14017         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
14018         * glyphs.c (Fglyphp): clean up doc.
14019         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
14020         * glyphs.c (syms_of_glyphs):
14021         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
14022         * glyphs.c (image_instantiator_format_create): add some comments about
14023         bogus code.
14024         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
14025         for current-display-table. (Apparently Hrjove implemented in 1998 a
14026         design I wrote up in 1996, but didn't update the doc string.)
14027
14028         * glyphs.h: clean up a doc string.
14029         * glyphs.h (governing_domain):
14030         * glyphs.h (struct image_instantiator_methods):
14031         changes for governing_domain stuff.
14032
14033         * gutter.c:
14034         * gutter.c (Fgutter_specifier_p):
14035         * gutter.c (Fgutter_size_specifier_p):
14036         * gutter.c (Fgutter_visible_specifier_p):
14037         * objects.c:
14038         * objects.c (Fcolor_specifier_p):
14039         * objects.c (Ffont_specifier_p):
14040         * objects.c (Fface_boolean_specifier_p):
14041         doc strings moved to make-*-specifier.
14042
14043         * redisplay.c (add_disp_table_entry_runes_1):
14044         * redisplay.c (generate_fstring_runes):
14045         * redisplay.c (screen):
14046         add random comments and doc strings.
14047
14048         * specifier.c:
14049         * specifier.c (Fmake_specifier):
14050         major overhaul of this doc string.
14051
14052         * specifier.c (Fvalid_specifier_domain_p):
14053         comment about the bogosity of image instances being domains.
14054         * specifier.c (decode_domain):
14055         now non-static, used in glyphs.c.
14056         * specifier.c (specifier_instance):
14057         comment about the bogosity of image instances being domains.
14058         * specifier.c (Fgeneric_specifier_p):
14059         move doc string to make-generic-specifier.
14060         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14061         rebackslashify.
14062
14063         * specifier.h:
14064         * specifier.h (DOMAIN_FRAME):
14065         * specifier.h (DOMAIN_LIVE_P):
14066         * specifier.h (DOMAIN_XDEVICE):
14067         rebackslashify.
14068         add comments about problems with these macros.
14069         prototype for decode_domain.
14070
14071         * toolbar.c:
14072         * toolbar.c (Ftoolbar_specifier_p):
14073         move doc string to `make-toolbar-specifier'.
14074
14075         * window.c (window_unmap_subwindows_cache_mapper):
14076         *************************************************************
14077         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14078         HAVE BEEN GETTING.
14079         *************************************************************
14080
14081 2000-05-09  Andy Piper  <andy@xemacs.org>
14082
14083         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14084
14085         * window.c (Fset_window_configuration): reset the frame subwindow
14086         cache and re-initialize the window subwindow caches.
14087
14088         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14089
14090 2000-05-09  Ben Wing  <ben@xemacs.org>
14091
14092         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14093         DWORD.
14094
14095 2000-04-26  Mike Woolley  <mike@bulsara.com>
14096
14097         * ntheap.c: Changed recreate_heap to limit the amount reserved
14098         for the heap to that which is actually available. Also now
14099         displays a message box (with some dignostics) in the event that
14100         it still can't start.
14101
14102 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14103
14104         * callproc.c (Fold_call_process_internal): GCPRO path
14105
14106 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14107
14108         Patch by Bill Perry.
14109
14110         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14111         back data instead of #ifdef.
14112         (Fscrollbar_page_down): ditto.
14113
14114 2000-05-07  Ben Wing  <ben@xemacs.org>
14115
14116         * buffer.h:
14117         Kludge for defining Qmswindows_tstr.
14118
14119         * nt.c:
14120         * nt.c (open_input_file):
14121         * nt.c (open_output_file):
14122         * nt.c (rva_to_section):
14123         * nt.c (mswindows_executable_type):
14124         Move all memory-mapped-file routines here (some were in unexnt.c,
14125         which is bad because they are used by process-nt.c, and unexnt
14126         won't be around when portable dumping).  Synched the above routines
14127         with FSF 20.6.
14128
14129         * nt.h:
14130         Removed ifdef'd out bogus code.
14131         Fixed some prototypes.
14132
14133         * nt.h (file_data):
14134         * nt.h (OFFSET_TO_RVA):
14135         * nt.h (RVA_TO_OFFSET):
14136         * nt.h (RVA_TO_PTR):
14137         Moved the memory-mapped-file structures, macros and prototypes
14138         here, to parallel nt.c.  ntheap.h should really be removed
14139         entirely, and it's a non-portable-dumper specific file.
14140
14141         * ntheap.h (round_to_next):
14142         Moved the memory-mapped-file structures, macros and prototypes
14143         to nt.h.
14144
14145         * ntproc.c (compare_env):
14146         Moved rva_to_section and mswindows_executable_type to nt.c.
14147         Moved compare_env to process-nt.c.
14148         ntproc.c will die, one day.
14149
14150         * ntproc.c (sys_spawnve):
14151         Account for win32_ -> mswindows_.
14152
14153         * process-nt.c:
14154         * process-nt.c (struct nt_process_data):
14155         * process-nt.c (ensure_console_window_exists):
14156         * process-nt.c (compare_env):
14157         * process-nt.c (nt_create_process):
14158         * process-nt.c (nt_kill_process_by_pid):
14159         * process-nt.c (syms_of_process_nt):
14160         * process-nt.c (vars_of_process_nt):
14161         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14162         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14163         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14164         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14165         Move compare_env here from ntproc.c.
14166
14167         * process.c (Fprocess_send_region):
14168         Takes an optional fourth argument, BUFFER, which should fix some
14169         problems with call-process.
14170
14171         * syscommctrl.h:
14172         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14173
14174         * syswindows.h:
14175         Move ICC_BAR_CLASSES to syscommctrl.h.
14176         Add preliminary macros for MSWindows/Mule.  More to come.
14177
14178         * unexnt.c:
14179         * unexnt.c (unexec):
14180         open_output_file moved to nt.c.
14181
14182
14183 2000-05-05  Andy Piper  <andy@xemacs.org>
14184
14185         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14186         instance from the frame cache also since GC may catch up too late
14187         to make frame deletion sane.
14188
14189 2000-05-04  Andy Piper  <andy@xemacs.org>
14190
14191         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14192         (x_finalize_image_instance): ungcpro on deletion.
14193
14194         * glyphs.c (image_instantiator_format_create): give pointers a
14195         query geometry method so that the geometry is at least set.
14196
14197         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14198         initialize layouts if using widgets.
14199
14200 2000-05-03  Andy Piper  <andy@xemacs.org>
14201
14202         * nt.c: remove bogus reference to sysmmsystem.h
14203
14204         * gui-x.c (popup_selection_callback): fix no selection abort.
14205
14206 2000-05-02  Andy Piper  <andy@xemacs.org>
14207
14208         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14209         (mswindows_widget_instantiate): ditto.
14210
14211         * glyphs-widget.c (initialize_widget_image_instance): initialize
14212         children correctly.
14213         (widget_instantiate): cope with children and items in the same
14214         instance.
14215
14216         * glyphs.c (mark_image_instance): cope with children as a first
14217         class member.
14218         (image_instance_equal): ditto.
14219         (image_instance_hash): ditto.
14220         (image_instance_changed): ditto.
14221
14222 2000-04-30  Andy Piper  <andy@xemacs.org>
14223
14224         * glyphs.c (subwindow_query_geometry): new function. Return some
14225         defaults.
14226         (subwindow_instantiate): don't assign dimensions if none have been
14227         given.
14228         (image_instantiator_format_create): add subwindow_query_geometry.
14229         (print_image_instance): cope with layouts as widgets.
14230
14231 2000-04-29  Andy Piper  <andy@xemacs.org>
14232
14233         * frame.c (delete_frame_internal): call
14234         free_frame_subwindow_instance_cache so that all subwindows are
14235         finalized before their parent.
14236         (mark_frame): remove subwindow_cachels.
14237         (Fmake_frame): remove subwindow_cachel manipulation.
14238         (allocate_frame_core): subwindow_instance_cache is a weak list.
14239         (delete_frame_internal): set subwindow_instance_cache to nil.
14240
14241         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14242         finalization safe.
14243         (mswindows_finalize_image_instance): use the device
14244         not the domain as the domain may have died already.
14245
14246         * glyphs-x.c (x_finalize_image_instance): ditto.
14247         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14248         HEIGHT.
14249
14250         * redisplay-output.c (redisplay_unmap_subwindows): update for
14251         subwindow instance cache as a weak list.
14252         (redisplay_unmap_subwindows_maybe): ditto.
14253         (redisplay_unmap_subwindows_except_us): ditto.
14254
14255         * glyphs.c (unmap_subwindow): error checking will check the domain
14256         so don't deal with it here. Don't use cachels anymore.
14257         (map_subwindow): ditto.
14258         (update_subwindow_cachel_data): remove old accessor names.
14259         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14260         (Fresize_subwindow): don't update cachel.
14261         (mark_subwindow_cachels):
14262         (update_subwindow_cachel_data):
14263         (add_subwindow_cachel):
14264         (get_subwindow_cachel_index):
14265         (update_subwindow_cachel):
14266         (reset_subwindow_cachels):
14267         (mark_subwindow_cachels_as_not_updated): deleted.
14268         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14269         subwindow instance to the frame cache.
14270         (find_matching_subwindow): update for subwindow instance cache as
14271         a weak list.
14272         (update_widget_instances): ditto.
14273         (image_instance_type_to_mask):inlined.
14274         (free_frame_subwindow_instance_cache): new function. finalize all
14275         subwindows that are instantiated.
14276
14277         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14278         of cachel information.
14279         (IMAGE_INSTANCE_DISPLAY_X):
14280         (IMAGE_INSTANCE_DISPLAY_Y):
14281         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14282         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14283         (XIMAGE_INSTANCE_DISPLAY_X):
14284         (XIMAGE_INSTANCE_DISPLAY_Y):
14285         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14286         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14287         remove subwindow_cachel structure and function references.
14288         (image_instance_type_to_mask): inline from glyphs.c
14289
14290         * redisplay.c (redisplay_frame): remove subwindow_cachel
14291         references.
14292
14293         * frame.h (struct frame): remove subwindow_cachels.
14294         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14295
14296         * frameslots.h: add subwindow_instance_cache.
14297
14298         * window.c (replace_window): check subwindow cache of replacement.
14299         (window_unmap_subwindows_cache_mapper):
14300         (window_unmap_subwindows): new functions. Unmap all subwindows
14301         cached on this window.
14302         (mark_window_as_deleted): unmap all subwindows.
14303
14304 2000-04-27  Andy Piper  <andy@xemacs.org>
14305
14306         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14307
14308         * glyphs-widget.c (widget_layout): return something.
14309         (layout_layout): return something. Fail if not initialized.
14310         (layout_query_geometry): ditto.
14311         (image_instantiator_native_layout): new function. Initialized the
14312         native layout type.
14313         (widget_instantiate): don't do layout stuff here.
14314
14315         * glyphs.c (instantiate_image_instantiator): reorded calling or
14316         instantiate and post_instantiate with layout in between.
14317         (image_instance_layout): be more selective about deciding whether
14318         the layout has been done or not.
14319
14320         * glyphs.h (struct image_instantiator_methods): return a value
14321         from layout_method.
14322
14323 2000-04-26  Andy Piper  <andy@xemacs.org>
14324
14325         * glyphs.c (allocate_image_instance): make initial width and
14326         height unspecified. Set initialized to 0.
14327
14328         * syscommctrl.h new file. Encapsulates commctrl.h.
14329
14330         * syswindows.h new file. Encapsulates windows.h.
14331
14332         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14333         * nt.c: ditto.
14334         * console-msw.h: ditto.
14335
14336         * redisplay-tty.c (tty_output_display_block): remove layout references.
14337
14338         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14339         window handle rather than just the frame.
14340
14341         * glyphs.c (mark_image_instance): remove layout references.
14342         (print_image_instance): ditto.
14343         (image_instance_equal): ditto.
14344         (image_instance_hash): ditto.
14345         (decode_image_instance_type): ditto.
14346         (encode_image_instance_type): ditto.
14347         (image_instantiate): ditto.
14348         (allocate_glyph): ditto.
14349         (Fimage_instance_height): ditto.
14350         (Fimage_instance_width): ditto.
14351         (update_subwindow): ditto.
14352
14353         * redisplay-x.c (x_output_display_block): recode for layouts as
14354         widgets.
14355
14356         * redisplay-output.c (redisplay_output_layout): recode for layouts
14357         as widgets.
14358         (compare_runes): remove layout references.
14359
14360         * redisplay-msw.c (mswindows_output_display_block): recode for
14361         layouts as widgets.
14362
14363         * glyphs-widget.c (image_instantiator_layout): remove
14364         layout_possible_dest_types.
14365         (layout_possible_dest_types): deleted.
14366
14367         * glyphs.h (image_instance_type): remove layout references.
14368         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14369         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14370         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14371
14372 2000-04-25  Andy Piper  <andy@xemacs.org>
14373
14374         * glyphs-widget.c (image_instantiator_buttons):
14375         (image_instantiator_edit_fields):
14376         (image_instantiator_combo_box):
14377         (image_instantiator_scrollbar):
14378         (image_instantiator_progress_guage):
14379         (image_instantiator_tree_view):
14380         (image_instantiator_tab_control):
14381         (image_instantiator_labels):
14382         (image_instantiator_layout): call default post_instantiate method.
14383         (widget_post_instantiate): new function. Simply lays out the
14384         widgets.
14385
14386         * glyphs.h (struct image_instantiator_methods): add
14387         post_instantiate method.
14388
14389         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14390         method calls.
14391
14392 2000-04-23  Andy Piper  <andy@xemacs.org>
14393
14394         * glyphs.h (struct image_instantiator_methods): add
14395         decode_domain_method.
14396         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14397         derived from the domain.
14398         (IMAGE_INSTANCE_FRAME): new accessor.
14399         (XIMAGE_INSTANCE_FRAME): ditto.
14400
14401         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14402         instead of _SUBWINDOW_FRAME.
14403         (finalize_image_instance): ditto.
14404         (Fimage_instance_foreground): ditto.
14405         (Fimage_instance_background): ditto.
14406         (image_instantiate): ditto.
14407         (update_subwindow_cachel): ditto.
14408         (update_subwindow): ditto.
14409         (unmap_subwindow): ditto.
14410         (map_subwindow): ditto
14411         (subwindow_instantiate): ditto.
14412         * glyphs-msw.c (mswindows_update_widget): ditto.
14413         (mswindows_progress_gauge_instantiate): ditto.
14414         (mswindows_tab_control_update): ditto.
14415         * glyphs-x.c (x_update_widget): ditto.
14416         (x_widget_instantiate): ditto.
14417         (x_tab_control_instantiate): ditto.
14418         (x_tab_control_update): ditto.
14419         * event-msw.c (mswindows_wnd_proc): ditto
14420
14421         * glyphs-widget.c (image_instantiator_layout): use
14422         subwindow_decode_domain.
14423         (image_instantiator_buttons): ditto.
14424         (image_instantiator_edit_fields): ditto.
14425         (image_instantiator_combo_box): ditto.
14426         (image_instantiator_scrollbar): ditto.
14427         (image_instantiator_progress_guage): ditto.
14428         (image_instantiator_tree_view): ditto.
14429         (image_instantiator_tab_control): ditto.
14430         (image_instantiator_labels): ditto.
14431         (image_instantiator_layout): ditto.
14432
14433         * glyphs.c: add instance error checking to many functions.
14434         (instantiate_image_instantiator): decode device from cache_domain.
14435         (image_instantiate): partially rewrite by using
14436         decode_image_instantiator_domain to determine what domain the
14437         instance needs to be cached in.
14438         (decode_image_instantiator_domain): new function. Determine what
14439         domain the image needs to be cached in.
14440         (check_window_subwindow_cache): new error checking function.
14441         (check_instance_cache_mapper): ditto.
14442         (check_image_instance_structure): ditto.
14443         (subwindow_decode_domain): new function. Encodes a window as a
14444         subwindow's cache domain.
14445         (image_instantiator_format_create): use it for text and
14446         subwindows.
14447
14448 2000-04-21  Andy Piper  <andy@xemacs.org>
14449
14450         * glyphs.c (image_instance_device): new function.
14451         (image_instance_frame): new function.
14452         (image_instance_window): new function.
14453         (image_instance_live_p): new function.
14454
14455         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14456         cache to nil.
14457
14458         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14459         (IMAGE_INSTANCE_DOMAIN): new accessor.
14460         (XIMAGE_INSTANCE_DOMAIN): ditto.
14461
14462         * glyphs-x.c (x_finalize_image_instance): device->domain.
14463
14464         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14465         (mswindows_finalize_image_instance): ditto.
14466
14467         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14468         (gif_instantiate): ditto.
14469         (png_instantiate): ditto.
14470         (tiff_instantiate): ditto.
14471
14472         * glyphs.c (instantiate_image_instantiator): use domain rather
14473         than device.
14474         (mark_image_instance): device -> domain.
14475         (print_image_instance): ditto.
14476         (finalize_image_instance): ditto.
14477         (image_instance_equal): ditto.
14478         (allocate_image_instance): ditto.
14479         (Fcolorize_image_instance): ditto.
14480         (query_string_geometry): ditto.
14481         (image_instantiate): ditto
14482         (query_string_font): ditto.
14483         (image_instantiate): ditto.
14484         (update_subwindow): ditto.
14485         (unmap_subwindow): ditto.
14486         (map_subwindow): ditto.
14487         (subwindow_instantiate): ditto.
14488
14489         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14490         (DOMAIN_FRAME): ditto.
14491         (DOMAIN_WINDOW): ditto.
14492         (DOMAIN_LIVE_P): ditto.
14493         (XDOMAIN_DEVICE): ditto.
14494         (XDOMAIN_FRAME): ditto.
14495         (XDOMAIN_WINDOW): ditto.
14496
14497         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14498         a valid specifier domain.
14499
14500 2000-04-19  Andy Piper  <andy@xemacs.org>
14501
14502         * glyphs-widget.c (syms_of_glyphs_widget): remove
14503         widget-callback-current-channel.
14504         (vars_of_glyphs_widget): ditto.
14505         * glyphs.h: ditto
14506
14507         * gui.c (get_gui_callback): revert to previous behaviour.
14508
14509 2000-04-18  Andy Piper  <andy@xemacs.org>
14510
14511         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14512         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14513         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14514
14515         * glyphs.c (image_instance_equal): add margin_width.
14516         (image_instance_hash): ditto.
14517
14518         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14519         (layout_query_geometry): ditto.
14520         (layout_layout): ditto.
14521         (syms_of_glyphs_widget): add margin-width.
14522         (image_instantiator_layout): allow margin-width.
14523
14524         * glyphs.c (update_widget_instances): make a normal function.
14525         (syms_of_glyphs): remove Qupdate_widget_instances.
14526         * glyphs.h: ditto.
14527
14528         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14529         so that we don't corrupt ideas about the last event or
14530         command. Remove widget-callback-current-channel fiddling.
14531         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14532
14533 2000-05-01  Martin Buchholz <martin@xemacs.org>
14534
14535         * XEmacs 21.2.33 is released.
14536
14537 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14538
14539         * make-src-depend: Allow dots in header file name.
14540
14541 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14542
14543         * mule-charset.h (struct charset_lookup): Add
14544         next_allocated_1_byte_leading_byte and
14545         next_allocated_2_byte_leading_byte.
14546         * mule-charset.c: Move above two variables so that those values
14547         will be dumped.
14548
14549 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14550
14551         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14552         when string length is zero.
14553         (find_charsets_in_emchar_string): Ditto.
14554
14555 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14556
14557         * lisp.h: extern Qdialog and Qmenubar.
14558
14559         * gui-x.c: added events.h.
14560                 also fixed typo which made the file uncompilable.
14561
14562         * general.c: Added Qmenubar and Qdialog
14563
14564 2000-04-28  Ben Wing  <ben@xemacs.org>
14565
14566         * frame-msw.c (mswindows_init_frame_1):
14567         * frame-msw.c (mswindows_mark_frame):
14568         * event-msw.c (mswindows_enqueue_dispatch_event):
14569         * console-msw.h:
14570         * console-msw.h (struct mswindows_frame):
14571         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14572         there are now three hash tables for callbacks.
14573         mswindows_enqueue_dispatch_event is no longer static.
14574
14575         * dialog-x.c (maybe_run_dbox_text_callback):
14576         * dialog-x.c (dbox_descriptor_to_widget_value):
14577         switch to new cons3 form for callbacks.
14578
14579         * glyphs-msw.c (mswindows_register_gui_item):
14580         * glyphs-msw.c (mswindows_widget_instantiate):
14581         * glyphs-msw.c (add_tree_item):
14582         * glyphs-msw.c (add_tab_item):
14583         new image instance parameter, so it can be passed to callback-ex.
14584         respect :callback-ex as well as :callback.
14585
14586         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14587         add :callback-ex.
14588
14589         * glyphs.c (print_image_instance):
14590         prettify, e.g. now prints widget type.
14591
14592         * gui-x.h:
14593         certain funs have new image instance parameter.
14594
14595         * gui.c:
14596         * gui.c (get_gui_callback):
14597         * gui.c (gui_item_add_keyval_pair):
14598         * gui.c (gui_item_init):
14599         * gui.c (gui_add_item_keywords_to_plist):
14600         * gui.c (mark_gui_item):
14601         * gui.c (gui_item_hash):
14602         * gui.c (gui_item_equal):
14603         * gui.c (copy_gui_item):
14604         * gui.c (syms_of_gui):
14605         recognize callback-ex in a number of places.
14606         also, fix the annoying "can't get out of yes-no dialog" bug.
14607
14608         * gui.h:
14609         * gui.h (struct Lisp_Gui_Item):
14610         recognize callback-ex in a number of places.
14611
14612         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14613         new parameter in button_item_to_widget_value.
14614
14615         * glyphs-x.c (x_update_widget):
14616         * glyphs-x.c (x_button_instantiate):
14617         * glyphs-x.c (x_button_update):
14618         * glyphs-x.c (x_progress_gauge_instantiate):
14619         * glyphs-x.c (x_edit_field_instantiate):
14620         * glyphs-x.c (x_combo_box_instantiate):
14621         * glyphs-x.c (x_tab_control_instantiate):
14622         * glyphs-x.c (x_label_instantiate):
14623         new image instance parameter in various places.
14624
14625         * event-Xt.c:
14626         * event-Xt.c (enqueue_Xt_dispatch_event):
14627         this fun gets exported.
14628
14629         * gui-msw.c:
14630         * gui-msw.c (mswindows_handle_gui_wm_command):
14631         handle both :callback and :callback-ex, and generate our own
14632         event because it's one of the callback-ex arguments.
14633
14634         * gui-x.c:
14635         * gui-x.c (popup_selection_callback):
14636         handle both :callback and :callback-ex, and generate our own
14637         event because it's one of the callback-ex arguments.
14638         * gui-x.c (button_item_to_widget_value):
14639         * gui-x.c (gui_items_to_widget_values_1):
14640         * gui-x.c (gui_item_children_to_widget_values):
14641         * gui-x.c (gui_items_to_widget_values):
14642         new image instance parameter in various places.
14643
14644         * fns.c (Freplace_list):
14645         fix small typo in doc string.
14646
14647         * lisp.h:
14648         declare enqueue_Xt_dispatch_event.
14649
14650 2000-04-28  Ben Wing  <ben@xemacs.org>
14651
14652         * buffer.c:
14653         * buffer.c (Frecord_buffer):
14654         * buffer.c (syms_of_buffer):
14655         delete record-buffer-hook.
14656
14657         * fns.c:
14658         * fns.c (Freplace_list):
14659         * fns.c (syms_of_fns):
14660         new primitive replace-list.
14661
14662         * frameslots.h:
14663         slot for old buffer-alist.
14664
14665         * lisp.h:
14666         exfun replace-list.
14667
14668         * redisplay.c:
14669         * redisplay.c (redisplay_frame):
14670         * redisplay.c (syms_of_redisplay):
14671         * redisplay.c (vars_of_redisplay):
14672         new hook buffer-list-changed-hook.
14673         call it.
14674
14675 2000-04-27  Ben Wing  <ben@xemacs.org>
14676
14677         * extents.h: extern in_modeline_generation.
14678
14679         * redisplay.c (generate_formatted_string_db): set
14680         in_modeline_generation.
14681
14682         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14683         flags if in modeline generation.  otherwise frame-modified-tick
14684         is ticked far too often.
14685         Declare in_modeline_generation.
14686
14687 2000-04-26  Ben Wing  <ben@xemacs.org>
14688
14689         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14690         option.
14691         (vars_of_emacs): add quick-build as an error-checking option.
14692         A bit kludgy, but there doesn't seem much point in creating
14693         a real var for this.
14694
14695         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14696
14697 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14698
14699         * redisplay.h (struct display_line): Add a new variable,
14700         line_continuation.
14701
14702         * redisplay.c (create_text_block): Set dl->line_continuation if
14703         the line continues.
14704         (create_string_text_block): Ditto.
14705         (regenerate_window_incrementally): Use line_continuation instead
14706         of searching continuation glyph.
14707         (add_margin_runes): Call add_glyph_rune.
14708         (add_glyph_rune): Handle margin glyph.
14709
14710 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14711
14712         * filelock.c (fill_in_lock_file_name):
14713         ANSIfy.
14714         Check for IS_ANY_SEP instead of '/'.
14715         (lock_file_1):
14716         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14717         Never check errno without first seeing that system call failed.
14718         (unlock_file): Add GCPRO.
14719         (Flock_buffer): Fix docstring.
14720         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14721
14722 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14723
14724         * sysdep.c (get_pty_max_bytes):
14725         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14726         strings longer than 252 bytes.
14727
14728         * md5.c: Unconditionally include ANSI header <limits.h>
14729
14730         * glyphs-x.c (convert_EImage_to_XImage):
14731         * lisp-union.h (union Lisp_Object):
14732         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14733
14734 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14735
14736         * filelock.c (current_lock_owner): Remove unused variable o, p.
14737
14738 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14739
14740         * callint.c: Remove multiply defined symbol Qlet
14741         (syms_of_callint): ditto.
14742
14743 2000-04-14  Andy Piper  <andy@xemacs.org>
14744
14745         * general.c (syms_of_general): add last-command, this-command, let
14746         and funcall.
14747
14748         * lisp.h: declare various symbols.
14749
14750         * glyphs.h: declare Qwidget_callback_current_channel;
14751
14752         * glyphs-widget.c (syms_of_glyphs_widget): add
14753         Qgui_callback_current_channel.
14754         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14755
14756         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14757         widget-callback-current-channel when invoking the interactive
14758         arg. Also bind last-command and next-command when invoking the
14759         widget updates.
14760         * gui-x.c (popup_selection_callback): ditto.
14761
14762         * gui.c (get_gui_callback): massage args so that we are always
14763         calling eval. This allows us to add our own variable bindings
14764         outside.
14765
14766         * glyphs-x.c (x_button_instantiate): use
14767         gui_items_to_widget_values since this is GC safe.
14768         (x_progress_gauge_instantiate): ditto.
14769         (x_edit_field_instantiate): ditto.
14770         (x_label_instantiate): ditto.
14771
14772         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14773         (emacs_Xt_event_widget_focus_out): new function
14774         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14775         focus.
14776         (emacs_Xt_event_add_widget_actions): new function. add focus
14777         functions as actions.
14778         (init_event_Xt_late): use it.
14779
14780 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14781
14782         * event-stream.c (Fdispatch_event): Doc fix.
14783
14784 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14785
14786         * postgresql.c: Remove all references to PQsetenv*.
14787
14788         * postgresql.h: Remove references to PGsetenvHandler object.
14789         * lrecord.h (lrecord_type): Ditto.
14790
14791 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14792
14793         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14794         real_heigh and real_width members, and accessor macros for these.
14795
14796         * glyphs-msw.c (init_image_instance_geometry): New function.
14797         (init_image_instance_from_dibitmap): Use it.
14798         (mswindows_resource_instantiate): Use it.
14799         (init_image_instance_from_xbm_inline): Use it.
14800         (mswindows_initialize_image_instance_mask): Use real bitmap
14801         geometry.
14802         (mswindows_create_resized_bitmap): Ditto.
14803         (mswindows_create_resized_mask): Ditto.
14804
14805         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14806         and bitmap to their surface size.
14807
14808 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14809
14810         * process-unix.c (unix_send_process): Guard against process MIA
14811         after Faccept_process_output.
14812
14813 2000-04-11  Ben Wing  <ben@xemacs.org>
14814
14815         * eval.c (unbind_to_hairy): fix brokenness introduced by
14816         nanosecond speed improvements.
14817
14818 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14819
14820         * sunplay.c (init_device): To play sounds correctly, the device
14821         apparently needs to be initialized at least once by XEmacs.  Make
14822         it so.
14823
14824 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14825
14826         * redisplay.c (add_margin_runes): Add text image glyph
14827           handling.
14828
14829 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14830
14831         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14832         gcc is newer than 2.5.
14833
14834 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14835
14836         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14837
14838         * fns.c (size_bit_vector):
14839         * alloc.c (size_vector):
14840         (make_vector_internal):
14841         (make_bit_vector_internal):
14842         (sweep_bit_vectors_1):
14843         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14844
14845 2000-04-06  Andy Piper  <andy@xemacs.org>
14846
14847         * gmalloc.c (malloc): undo previous change.
14848         (malloc): ditto.
14849         (free): ditto.
14850         (realloc): ditto.
14851
14852 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14853
14854         * line-number.c (buffer_line_number): Revert to former version.
14855
14856 2000-04-06  Andy Piper  <andy@xemacs.org>
14857
14858         * gmalloc.c (malloc): add error checking.
14859         (malloc): ditto.
14860         (free): ditto.
14861         (realloc): ditto.
14862
14863         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14864         button_item_to_widget_value arg.
14865
14866         * glyphs-x.c (x_button_instantiate): add extra
14867         button_item_to_widget_value arg.
14868         (x_progress_gauge_instantiate): ditto.
14869         (x_edit_field_instantiate): ditto.
14870         (x_label_instantiate): ditto.
14871
14872         * gui-x.c (gui_items_to_widget_values_1): add extra
14873         button_item_to_widget_value arg.
14874         (button_item_to_widget_value): add extra menu_item_p arg.
14875
14876         * gui-x.h: change signature of button_item_to_widget_value.
14877
14878         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14879         button_item_to_widget_value arg.
14880
14881 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14882
14883         * buffer.h (struct buffer): auto_save_modified should be long.
14884
14885 2000-04-05  Andy Piper  <andy@xemacs.org>
14886
14887         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14888         type.
14889         (button_query_geometry): give a little more room so that athena
14890         buttons fit.
14891
14892 2000-04-05  Andy Piper  <andy@xemacs.org>
14893
14894         * faces.c (complex_vars_of_faces): The widget face should inherit
14895         the font of the gui-element face.
14896
14897 2000-04-04  Andy Piper  <andy@xemacs.org>
14898
14899         * glyphs-x.c (x_button_update): new function. unconditionally
14900         update a button's state when the instance is dirty.
14901         (image_instantiator_format_create_glyphs_x): add x_button_update.
14902         (x_widget_instantiate): remove old resize cruft.
14903
14904 2000-04-02  Andy Piper  <andy@xemacs.org>
14905
14906         * frame.c (change_frame_size_1): The introduction of gutters means
14907         that we need to allow 0 as a potential frame dimension.
14908
14909 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14910
14911         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14912         image glyph if allow_cursor.
14913         (add_hscroll_rune): Don't allow cursor to border glyph.
14914         (create_text_block): Ditto.
14915
14916         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14917         text not in buffer.
14918         (redisplay_output_layout): Call ensure_face_cachel_complete for
14919         text image glyph.
14920
14921
14922 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14923
14924         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14925
14926         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14927         not in buffer
14928
14929         * redisplay-tty.c (tty_output_display_block): Delete the routine
14930         for text image glyph
14931         * redisplay-x.c (x_output_display_block): ditto
14932         * redisplay-msw.c (mswindows_output_display_block): ditto
14933
14934 2000-02-02  Mike Alexander  <mta@arbortext.com>
14935
14936         Note: Some of these were committed by accident as part of other
14937         patches.
14938
14939         * regex.c (regex_compile): Avoid compiler warnings.
14940
14941         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14942
14943         * nt.h: Declare term_ntproc correctly.
14944
14945         * nt.c: Remove incorrect declaration of get_home_directory which
14946         is declared correctly in lisp.h.
14947
14948         * keymap.c (get_keyelt): Avoid compiler warnings.
14949         (raw_lookup_key_mapper): Avoid compiler warnings.
14950
14951         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14952
14953         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14954
14955         * filemode.c (mode_string): Avoid compiler warnings.
14956
14957         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14958         avoid warning.
14959
14960         * events-mod.h: Undef some things that winuser.h defines differently.
14961
14962         * data.c (Faset): Avoid compiler warnings.
14963
14964         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14965
14966 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14967
14968         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14969         Fall through to simple beep on error.
14970         Replace "extern" by real header file.
14971
14972         * linuxplay.c: Use nativesound.h
14973         (play_sound_data): Return error code. Be less verbose on error.
14974
14975         * sunplay.c: Use nativesound.h
14976         (play_sound_data): Return error code. Be less verbose on error.
14977
14978         * ntplay.c: Use nativesound.h
14979         (play_sound_data): Return fake error code
14980
14981         * sgiplay.c: Use nativesound.h
14982         (play_sound_data): Return error code
14983
14984         * hpplay.c: Use nativesound.h, partially implement
14985         new error code. Break compilation until finished.
14986         (play_sound_data): error code.
14987
14988         * nativesound.h (play_sound_file):
14989           (play_sound_data): Prototype in new header.
14990
14991 2000-03-31  Andy Piper  <andy@xemacs.org>
14992
14993         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14994         for toggle and radio buttons.
14995         (image_instantiator_buttons): use it.
14996
14997 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14998
14999         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
15000         (x_update_horizontal_scrollbar_callback): Return if no mirror was
15001         found. Scrollbar event probably belonged to some old config.
15002
15003 2000-03-31  Andy Piper  <andy@xemacs.org>
15004
15005         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
15006         than 1.
15007         (initialize_widget_image_instance): default layout to
15008         LAYOUT_HORIZONTAL rather than 0.
15009         (widget_instantiate): reverse the item list at the end rather than
15010         every iteration.
15011         (layout_layout): re-code for the border text at the front of the
15012         item list rather than at the end.
15013         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
15014         provided by the user.
15015         (widget_query_geometry): comment.
15016
15017 2000-03-30  Andy Piper  <andy@xemacs.org>
15018
15019         * glyphs-widget.c (image_instantiator_layout): allow standard
15020         widget keywords in layouts.
15021
15022         * gutter.c (output_gutter): cope with nil gutter contents.
15023
15024         * frame.c (Fset_frame_properties): add gutter docs.
15025
15026 2000-03-29  Andy Piper  <andy@xemacs.org>
15027
15028         * toolbar-msw.c (TBSTYLE_FLAT): add.
15029         (mswindows_output_toolbar): minor fiddling.
15030
15031 2000-03-29  Andy Piper  <andy@xemacs.org>
15032
15033         * gutter.c (output_gutter): force gutter size recalculation if
15034         what we are trying to display won't fit.
15035         (update_gutter_geometry): new function. A per-gutter version of
15036         update_frame_gutter_geometry.
15037         (update_frame_gutter_geometry): use it.
15038         (redraw_exposed_gutter): add extra debugging output.
15039
15040 2000-03-28  Mike Alexander  <mta@arbortext.com>
15041
15042         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15043         (pdump_file_unmap): Implement it on Windows
15044         (pdump_file_get): Save alocated handles for pdump_file_unmap
15045
15046 2000-03-28  Andy Piper  <andy@xemacs.org>
15047
15048         * gui.c (get_gui_callback): treat Quit specially.
15049
15050 2000-03-27  Andy Piper  <andy@xemacs.org>
15051
15052         * glyphs.c (image_instantiate): be careful to check in the same
15053         way we assigned.
15054
15055 2000-03-27  Didier Verna  <didier@xemacs.org>
15056
15057         * config.h.in: define the proper SMART_INCLUDE macro.
15058         handle renaming of `foo_h_path' to `foo_h_file'.
15059
15060         * database.c: ditto.
15061
15062         * emacs.c: ditto.
15063
15064         * linuxplay.c: ditto.
15065
15066         * terminfo.c: ditto.
15067
15068         * tooltalk.h: ditto.
15069
15070 2000-03-27  Andy Piper  <andy@xemacs.org>
15071
15072         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15073         gets updated whenever the face might have changed.
15074
15075 2000-03-26  Mike Alexander  <mta@arbortext.com>
15076
15077         * dumper.c (pdump_resource_free): Fix the comment.
15078
15079 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15080
15081         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15082
15083 2000-03-22  Mike Alexander  <mta@arbortext.com>
15084
15085         * dumper.c: Include Windows headers on Windows
15086         (pdump_resource_free): Add a body to the function
15087         (pdump_load): exe_name -> exe_path and add some comments.
15088
15089 2000-03-25  Mike Alexander  <mta@arbortext.com>
15090
15091         * gui.c (copy_gui_item_tree): Return a value in all cases
15092
15093 2000-03-21  Didier Verna  <didier@xemacs.org>
15094
15095         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15096         lwlib/config.h.in.
15097         (SMART_INCLUDE): new macro.
15098         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15099         the proper location.
15100
15101         * postgresql.c: use it.
15102
15103         * inline.c: ditto.
15104
15105 2000-03-24  Andy Piper  <andy@xemacs.org>
15106
15107         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15108         do this.
15109
15110 2000-03-24  Andy Piper  <andy@xemacs.org>
15111
15112         * redisplay-output.c (compare_runes): use image_instance_changed
15113         to detect changes. Do not depend on glyphs_changed, only depend on
15114         dirtiness.
15115          (redisplay_output_layout): add debug messages.
15116         (compare_runes): ditto.
15117
15118         * glyphs.h: declare new functions.
15119         (struct Lisp_Image_Instance): remove percent and associated
15120         accessors.
15121
15122         * gui.h: declare new copying functions.
15123
15124         * gui.c (copy_gui_item_tree): new function.
15125         (copy_gui_item): new function.
15126         (gui_item_id_hash): revert to standard hash.
15127         (gui_item_hash): ditto.
15128         (gui_item_hash_internal): deleted.
15129         (mark_gui_item): mark value.
15130         (gui_item_add_keyval_pair): add value.
15131         (gui_item_init): ditto.
15132         (gui_add_item_keywords_to_plist): ditto.
15133         (gui_item_equal): ditto.
15134         (syms_of_gui): add Q_value.
15135
15136         * glyphs-x.c (x_progress_gauge_update): use pending items and
15137         value for setting the state.
15138         (x_update_widget): don't set items from pending here.
15139
15140         * glyphs-widget.c (update_widget): update items here.
15141         (progress_gauge_set_property): use items for storing value. Put
15142         new value in pending items.
15143
15144         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15145         items for new value. Convert percent -> value.
15146         (mswindows_tab_control_update): don't update items here.
15147
15148         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15149         (update_subwindow): ditto.
15150         (image_instance_changed): new function. Compare hash values and
15151         past and present widget items.
15152         (image_instantiate): We more careful about where we instantiate
15153         things.
15154         (image_instantiate): add error checking.
15155
15156         * gutter.c (syms_of_gutter): use -hook.
15157
15158 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15159
15160         * console-tty.c (Fset_console_tty_input_coding_system): Use
15161         Qkeyboard.
15162         (Fset_console_tty_output_coding_system): Use Qterminal.
15163         (tty_init_console): Use Qkeyboard and Qterminal.
15164
15165 2000-03-21  Ben Wing  <ben@xemacs.org>
15166
15167         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15168         From Mike Alexander <mta@arbortext.com>.
15169
15170 2000-03-21  Ben Wing  <ben@xemacs.org>
15171
15172         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15173         process brokenness.  Proper implementation to come.
15174         * callproc.c:
15175         Rename call-process-internal to old-call-process-internal.
15176         New impl. in process.el.
15177
15178 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15179
15180         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15181
15182 2000-03-20  Andy Piper  <andy@xemacs.org>
15183
15184         * glyphs.c (full_list_hash): make hashes of the same elements in
15185         different orders return different values.
15186
15187 2000-03-20  Martin Buchholz <martin@xemacs.org>
15188
15189         * XEmacs 21.2.32 is released.
15190
15191 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15192
15193         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15194         (DFC_MALLOC_USE_CONVERTED_DATA):
15195         Add aliasing-safe casts to allow use with char* or unsigned char*
15196         lvalues.
15197
15198         * eldap.c (Fldap_open):
15199         (Fldap_search_basic):
15200         (Fldap_add):
15201         (Fldap_modify):
15202         Make C++-compilable.
15203         Make sure GCPRO'ed variables are initialized.
15204         Use temp variables to avoid repeated calls to Flength.
15205
15206 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15207
15208         * sysfile.h:
15209         Make sure PATH_MAX is always defined.
15210         Include limits.h for PATH_MAX.
15211         Deprecate use of MAXPATHLEN.
15212
15213 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15214
15215         * emacs.c: Add reinit_vars_of_fileio.
15216         * symsinit.h: Add reinit_vars_of_fileio.
15217         * fileio.c (reinit_vars_of_fileio): New.
15218         * fileio.c (Fmake_temp_name):
15219         Initialize temp_name random number from microseconds to make
15220         collisions even less likely.  Initialize always at process startup
15221         time.  (make-temp-name) used to return the same file name twice in
15222         a row when PDUMP.
15223         Random stylistic fiddling.
15224         Comment fixes.
15225
15226 2000-03-20  Andy Piper  <andy@xemacs.org>
15227
15228         * glyphs.c (image_instantiate): allow text glyphs to be
15229         instantiated in the minibuffer window.
15230
15231 2000-03-19  Andy Piper  <andy@xemacs.org>
15232
15233         * glyphs.c (image_instance_hash): be careful about which items we
15234         hash on.
15235
15236         * glyphs-widget.c (tab_control_set_property): record into pending
15237         items rather than the actual items.
15238
15239         * glyphs-x.c (x_update_widget): use pending items to update with.
15240
15241         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15242         to update with.
15243
15244         * glyphs.c (mark_image_instance): mark pending items.
15245
15246         * window.c (Fset_window_configuration): record the buffer.
15247         (Fselect_window): totally revert previous change which breaks many
15248         things.
15249
15250 2000-03-18  Andy Piper  <andy@xemacs.org>
15251
15252         * glyphs-msw.c (mswindows_tab_control_update): force selected
15253         item.
15254
15255         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15256         window domain cache, otherwise we get inconsistencies at
15257         startup. There is something fishy at startup which can lead to the
15258         minibuffer being the selected window when the gutter content is
15259         instantiated.
15260
15261         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15262         gcpros.
15263         (parse_gui_item_tree_children): ditto.
15264         (parse_gui_item_tree_item): ditto.
15265
15266         * glyphs.c (Fupdate_widget_instances): return something.
15267
15268 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15269
15270         * window.c (Fselect_window): Undo 2000-03-17 change.
15271
15272 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15273
15274         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15275         against v7.0 libraries.  Insta-coredump city until the postgres
15276         folks fix it.
15277
15278 2000-03-17  Andy Piper  <andy@xemacs.org>
15279
15280         * faces.c (complex_vars_of_faces): don't give the widget face an
15281         inherited background pixmap.
15282
15283         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15284         selected item.
15285
15286         * event-stream.c (Fdispatch_non_command_events): return something.
15287
15288         * gutter.c (output_gutter): use widget face.
15289         (clear_gutter): ditto.
15290
15291         * NEWS: adjust again.
15292
15293         * window.c (Fselect_window): make sure this runs to completion to
15294         avoid oddities with Fset_window_configuration.
15295         (Fcurrent_window_configuration): in general do not save the
15296         minibuffer as the selected window.
15297
15298         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15299
15300 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15301
15302         * emacs.c (Frunning_temacs_p): Revert previous patch.
15303         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15304
15305 2000-03-16  Andy Piper  <andy@xemacs.org>
15306
15307         * glyphs-x.c (x_tab_control_update): if no widget values then
15308         return.
15309
15310         * NEWS: update for new features.
15311
15312         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15313         synthetic event to the native system.
15314         (reinit_vars_of_event_Xt): set force_event_pending to
15315         emacs_Xt_force_event_pending.
15316
15317         * events.h (struct event_stream): add force_event_pending.
15318
15319         * specifier.c (recompute_one_cached_specifier_in_window): add
15320         comment.
15321
15322         * redisplay.c (redisplay_frame): don't call
15323         update_frame_subwindows. Reset subwindow cachels when
15324         subwindows_changed, removing this was an optimization too far.
15325
15326         * redisplay-output.c (compare_runes): reorganize so that we catch
15327         glyph changes when we want them. Set optimize_output when this
15328         would help layouts.
15329         (redisplay_output_layout): remove frame_really_changed, use
15330         optimize_output instead.
15331
15332         * redisplay-msw.c (mswindows_output_display_block): reset
15333         optimize_output after outputting a glyph.
15334         * redisplay-x.c (x_output_display_block): ditto.
15335         * redisplay-tty.c (tty_output_display_block): ditto.
15336
15337         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15338         functions.
15339         (gutter_specs_changed): do specific gutter positions.
15340         (top_gutter_specs_changed): new function. Only update the
15341         specified gutter specs.
15342         (bottom_gutter_specs_changed): ditto.
15343         (left_gutter_specs_changed): ditto.
15344         (right_gutter_specs_changed): ditto.
15345
15346         * gui.c (gui_item_hash_internal): new function, does a real hash.
15347         (gui_item_id_hash): use it.
15348         (gui_item_hash): hash the eval'ed gui_item.
15349
15350         * gui-x.c (popup_selection_callback): send an eval event to call
15351         Fupdate_widget_instances.
15352
15353         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15354         to call Fupdate_widget_instances.
15355
15356         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15357         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15358
15359         * glyphs.c: (update_frame_subwindows): deleted.
15360         (Fupdate_widget_instances): new function for updating the dirty
15361         state of widgets that might have changed.
15362         (syms_of_glyphs): add Qupdate_widget_instances.
15363         (full_list_hash): hash a list completely.
15364         (image_instance_hash): use it for items and properties.
15365
15366         * frame-msw.c (mswindows_size_frame_internal): remove unused
15367         variable.
15368
15369         * faces.h (struct face_cachel): fix comment.
15370
15371         * event-stream.c (Fdispatch_non_command_events): new
15372         function. Process non-command events, forcing an event cycle
15373         beforehand.
15374         (syms_of_event_stream): declare.
15375         (event_stream_force_event_pending): new function. Force an event
15376         on the native event queue so that an event cycle will occur next
15377         time we check.
15378
15379         * event-msw.c:
15380         (struct ntpipe_shove_stream):
15381         (mswindows_enqueue_dispatch_event):
15382         (mswindows_dequeue_dispatch_event):
15383         (mswindows_cancel_dispatch_event):
15384         (mswindows_pump_outstanding_events):
15385         (mswindows_drain_windows_queue):
15386         (mswindows_handle_paint):
15387         (mswindows_wnd_proc):
15388         (mswindows_key_to_emacs_keysym):
15389         (get_process_input_waitable):
15390         (emacs_mswindows_delete_stream_pair): re-indent file.
15391         (mswindows_need_event): do not process further fds if the windows
15392         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15393         fixes the 100% cpu problem.
15394         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15395
15396 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15397
15398         * alloc.h: New.
15399         * dumper.h: New.
15400         * dumper.c: New.
15401
15402         * emacs.c: Moved dump file searching to dumper.c.
15403         (Frunning_temacs_p): Fixed.
15404
15405         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15406         last_lrecord_type_index_assigned.
15407
15408 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15409
15410         * symsinit.h: Added reinit parameter to init_console_stream
15411         declaration.
15412
15413         * lisp.h: Added file parameter to pdump_load declaration.
15414
15415         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15416         support.  Added dump file searching.
15417
15418         * config.h.in: Added EMACS_PROGNAME.
15419
15420         * console-stream.c (init_console_stream): Fix reinitialisation
15421         when running from temacs.
15422
15423         * alloc.c (pdump): Add id support.
15424         (pdump_load): Add file parameter and signature/id support.
15425
15426         * Makefile.in.in: Add full pdump support.
15427
15428 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15429
15430         * postgresql.c: Update documentation to reflect latest code
15431         status.
15432         (print_result): Show tuple counts in printed representation when
15433         appropriate.
15434         (Fpq_put_nbytes): MULE-ize.
15435         (Fpq_get_line_async): Ditto.
15436
15437 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15438
15439         * postgresql.c (Fpq_lo_import): Fix return value.
15440         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15441
15442 2000-03-13  Ben Wing  <ben@xemacs.org>
15443
15444         * alloc.c (pdump_load):
15445         Fix compile warning under mswin.
15446
15447 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15448
15449         * postgresql.c: Mule-ization, bug fixes.
15450         Use PG_CODING to encapsulate coding system name changes.
15451         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15452         (pg-coding-system): Create.
15453
15454         (Fpq_conn_defaults): Mule-ize.
15455         (Fpq_connectdb): Mule-ize & bug fix.
15456         (Fpq_connect_start): Mule-ize.
15457         (Fpq_set_client_encoding): Mule-ize.
15458         (Fpq_finish): Document `DEAD' connection status.
15459         (Fpq_clear): Ditto.
15460         (Fpq_pgconn): Mule-ize.
15461         (Fpq_exec): Mule-ize & bug fix.
15462         (Fpq_send_query): Ditto.
15463         (Fpq_get_result): Ditto.
15464         (Fpq_res_status): Mule-ize.
15465         (Fpq_result_error_message): Mule-ize.
15466         (Fpq_ntuples): fix comments.
15467         (Fpq_fname): Mule-ize.
15468         (Fpq_fnumber): Mule-ize.
15469         (Fpq_ftype): fix comments.
15470         (Fpq_get_value): Mule-ize.
15471         (Fpq_cmd_status): Ditto.
15472         (Fpq_cmd_tuples): Ditto.
15473         (Fpq_oid_value): Ditto.
15474         (Fpq_notifies): Ditto.
15475         (Fpq_lo_import): Ditto.
15476         (Fpq_lo_export): Ditto.
15477         (Fpq_get_line): Ditto.
15478         (Fpq_put_line): Mule-ize and bug fix.
15479         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15480
15481 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15482
15483         * postgresql.c (vars_of_postgresql): Mule-ize.
15484         (Fpq_conn_defaults): Ditto.
15485
15486 2000-03-12  Ben Wing  <ben@xemacs.org>
15487
15488         * alloc.c (Fmake_byte_code):
15489         * alloc.c (debug_string_purity_print):
15490         * alloc.c (pdump_backtrace):
15491         * alloc.c (pdump_get_indirect_count):
15492         * alloc.c (pdump_register_sub):
15493         * alloc.c (pdump_register_object):
15494         * alloc.c (pdump_register_struct):
15495         * alloc.c (pdump_dump_data):
15496         * alloc.c (pdump_reloc_one):
15497         Minor cleanups.
15498
15499         * console-msw.c:
15500         * console-msw.c (GetConsoleHwnd):
15501         * console-msw.c (msw_hide_console):
15502         * console-msw.c (msw_show_console):
15503         * console-msw.c (msw_ensure_console_buffered):
15504         * console-msw.c (msw_output_console_string):
15505         * console-msw.c (console_type_create_mswindows):
15506
15507         a) Added functions to manipulate the console window for use with
15508         shell support.
15509
15510         b) Added support for writing text to the console, which is now
15511         used under Windows when xemacs is not being run non-interactively,
15512         to write text that would otherwise be destined for stdout because
15513         under these circumstances, text written to stdout tends to
15514         disappear and not be seen.
15515
15516         * console-msw.h:
15517         * event-Xt.c:
15518         * event-Xt.c (x_event_to_emacs_event):
15519         * event-Xt.c (describe_event_window):
15520         * events-mod.h (XEMACS_MOD_CONTROL):
15521         * events.c:
15522         * events.c (Fmake_event):
15523         * events.c (character_to_event):
15524         * events.c (event_to_character):
15525         * events.c (format_event_object):
15526         * events.c (Fevent_modifiers):
15527         * events.h:
15528         * events.h (struct key_data):
15529         * events.h (struct button_data):
15530         * events.h (struct misc_user_data):
15531         * frame-x.c (Fcde_start_drag_internal):
15532         * frame-x.c (Foffix_start_drag_internal):
15533         * gpmevent.c (Freceive_gpm_event):
15534         * keymap.c:
15535         * keymap.c (bucky_sym_to_bucky_bit):
15536         * keymap.c (control_meta_superify):
15537         * keymap.c (make_key_description):
15538         * keymap.c (keymap_lookup_directly):
15539         * keymap.c (create_bucky_submap):
15540         * keymap.c (keymap_store):
15541         * keymap.c (define_key_check_and_coerce_keysym):
15542         * keymap.c (define_key_parser):
15543         * keymap.c (define_key_alternate_name):
15544         * keymap.c (Fdefine_key):
15545         * keymap.c (raw_lookup_key_mapper):
15546         * keymap.c (struct map_keymap_unsorted_closure):
15547         * keymap.c (map_keymap_unsorted_mapper):
15548         * keymap.c (map_keymap_sort_predicate):
15549         * keymap.c (map_keymap_sorted):
15550         * keymap.c (accessible_keymaps_mapper_1):
15551         * keymap.c (where_is_recursive_mapper):
15552         * keymap.c (describe_map_mapper):
15553         * keymap.c (describe_map_sort_predicate):
15554         * keymap.c (describe_map):
15555         * keymap.c (complex_vars_of_keymap):
15556         And a number of other files, the key modifier preprocessor
15557         constants that xemacs uses have names that conflict with constants
15558         defined under MS Windows for other purposes, so they were renamed
15559         to begin with the prefix XEMACS_. The variables that hold such
15560         modifiers were changed to consistently be of type int to fix
15561         various compile warnings.
15562
15563         * console.c (complex_vars_of_console):
15564         * device.c:
15565         * device-msw.c:
15566         * device-msw.c (mswindows_finish_init_device):
15567         * device-msw.c (msw_get_workspace_coords):
15568         * device-msw.c (mswindows_device_system_metrics):
15569         and various other files, added support for a new
15570         device property called offset-workspace which returns the position
15571         of the upper left corner of the workspace area and goes along with
15572         the existing size-workspace property.
15573
15574         * dialog-msw.c:
15575         * dialog-msw.c (push_bufbyte_string_as_unicode):
15576         * dialog-msw.c (mswindows_popup_dialog_box):
15577         Added support for XEmacs-style accelerator specifications in
15578         button text.  Note: I didn't add support for this under X Windows,
15579         and somebody needs to do this.
15580
15581         * dialog.c:
15582         * dialog.c (Fpopup_dialog_box):
15583         Documented the support for accelerators that was just mentioned.
15584
15585         editfns.c (get_home_directory): Changed behavior under Windows
15586         when HOME not defined; former behavior was irretrievably broken.
15587
15588         * emacs.c:
15589         * emacs.c (main_1):
15590         * emacs.c (main):
15591         * minibuf.c (clear_echo_area_internal):
15592         * minibuf.c (echo_area_append):
15593         * print.c:
15594         * print.c (std_handle_out_external):
15595         * print.c (std_handle_out_va):
15596         * print.c (fatal):
15597         * print.c (write_string_to_stdio_stream):
15598         * print.c (output_string):
15599         * print.c (debug_print):
15600         * print.c (debug_backtrace):
15601         * print.c (debug_short_backtrace):
15602         Cleaned up the code that prints text to stdout so that this can be
15603         changed to output into a console window instead under MS Windows,
15604         as described above.
15605
15606         * eval.c:
15607         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15608         * eval.c (internal_catch):
15609         * eval.c (unwind_to_catch):
15610         * eval.c (throw_or_bomb_out):
15611         * eval.c (condition_case_1):
15612         * eval.c (signal_1):
15613         * eval.c (check_error_state_sanity):
15614         * eval.c (call_with_suspended_errors_1):
15615         * eval.c (call_with_suspended_errors):
15616         * eval.c (reinit_vars_of_eval):
15617         Added code to catch throw loops and check for a pesky bug that may
15618         be gone now.
15619
15620         * event-msw.c:
15621         * event-msw.c (key_needs_default_processing_p):
15622         * event-msw.c (mswindows_wnd_proc):
15623         * event-msw.c (mswindows_modifier_state):
15624         * event-msw.c (emacs_mswindows_quit_p):
15625         * event-msw.c (vars_of_event_mswindows):
15626         a) Added support for using the alt key to select menu items as is
15627         standard under MS Windows.  This is controlled using the variable
15628         menu-accelerator-enabled, just like under X Windows.  There is an
15629         option on the options menu to turn this support on.  I really
15630         think that it should be on by default under Windows, but I'm not
15631         going to make this change yet.
15632
15633         b)  Added support for dynamic display size changes under Windows.
15634
15635         * event-stream.c:
15636         * event-stream.c (maybe_echo_keys):
15637         * event-stream.c (Fnext_event):
15638         * event-stream.c (command_builder_find_leaf):
15639         * event-stream.c (lookup_command_event):
15640         * event-stream.c (execute_command_event):
15641         * event-stream.c (pre_command_hook):
15642         * event-stream.c (post_command_hook):
15643         * event-stream.c (syms_of_event_stream):
15644         * event-stream.c (vars_of_event_stream):
15645         * event-stream.c (complex_vars_of_event_stream):
15646         * events.h (struct command_builder):
15647
15648         a) Tried to clean up a little bit the horribly written x-specific
15649         accelerator code that crept into this file.  I moved this code
15650         into menubar-x.c where it belongs. I also needed to move the
15651         command builder structure into the file events.h because it is
15652         accessed directly by this accelerator code.  What I didn't do, but
15653         which should be done at some point, is to properly abstract this
15654         code using device methods instead of the kludgy way that it
15655         currently hooks into the event code.
15656
15657         b) Added the lisp variables this-command-properties and
15658         last-command- properties, which should be used to synchronize two
15659         adjacent commands in preference to playing games with the variable
15660         this-command, which is typically what happens.
15661
15662         c) Added some slightly nasty code to hook into the lisp support
15663         for shifted- motion-key selection.  This is actually necessary for
15664         somewhat complicated reasons, which are described in
15665         simple.el. (NB: I think the proper thing would be to have the code
15666         that calls the pre and post command hooks also call out to generic
15667         lisp functions in simple.el, where all built-in stuff could be
15668         added.  I will think about this more.)
15669
15670         * event-unixoid.c (poll_fds_for_input):
15671         * lread.c (readchar):
15672         * redisplay-tty.c (tty_clear_frame):
15673         * redisplay-x.c (x_get_gc):
15674         * signal.c (interrupt_signal):
15675         And a whole bunch of other files: fixed up places that printed
15676         directly to stderr to instead call the function stderr_out so that
15677         the changes I made under Windows work correctly.
15678
15679         * filemode.c (mode_string):
15680         Warning fixes.
15681
15682         * frame-msw.c:
15683         * frame-msw.c (mswindows_size_frame_internal):
15684         Fixed the computation of frame size and position to keep the frame
15685         within the workspace area, rather than within the physical
15686         dimensions of the screen, so that the frame doesn't overlap window
15687         manager decorations, such as the start menu and toolbar, typically
15688         at the bottom of the screen.
15689
15690         * frame.c (vars_of_frame):
15691         Changed the default frame title format under MS Windows to consist
15692         of buffername-XEmacs, which is standard under MS Windows.  I think
15693         it might be a good idea to change this everywhere because I think
15694         it is superior to the current frame title format, but this is the
15695         kind of change that is likely to cause some people to get annoyed,
15696         so I'm not making it.
15697
15698         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15699
15700         * gui-msw.c (mswindows_handle_gui_wm_command):
15701         Fixed compile warnings.
15702
15703         * gui-x.c:
15704         * gui-x.c (strdup_and_add_accel):
15705         * gui-x.c (button_item_to_widget_value):
15706         * gui-x.h:
15707         Added code to automatically put an accelerator onto the beginning
15708         of menu items that don't have one as is now the standard, and is
15709         described more later.  Also fixed things so that the menu item
15710         name can be an evaluated expression, again a new standard.
15711
15712         * gui.c:
15713         * gui.c (gui_item_add_keyval_pair):
15714         * gui.c (make_gui_item_from_keywords_internal):
15715         * gui.c (gui_add_item_keywords_to_plist):
15716         * gui.c (gui_item_accelerator):
15717         * gui.c (gui_name_accelerator):
15718         * gui.c (gui_item_included_p):
15719         * gui.c (gui_item_display_flush_left):
15720         * gui.c (gui_item_display_flush_right):
15721         * gui.c (parse_gui_item_tree_item):
15722         * gui.c (parse_gui_item_tree_children):
15723         * gui.c (parse_gui_item_tree_list):
15724         Mule-ized.  Cleanup.  GCPRO addition.
15725
15726         * line-number.c (buffer_line_number):
15727         * lisp.h:
15728         * lisp.h (EMACS_INT_MAX):
15729         Added the manifest constant EMACS_INT_MIN corresponding to the
15730         existing constant EMACS_INT_MAX.  This is partially to fix compile
15731         warnings under Windows, and partly for cleanliness.
15732
15733         * menubar-msw.c:
15734         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15735         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15736         * menubar-msw.c (displayable_menu_item):
15737         * menubar-msw.c (populate_menu_add_item):
15738         * menubar-msw.c (populate_or_checksum_helper):
15739         * menubar-msw.c (populate_menu):
15740         * menubar-msw.c (update_frame_menubar_maybe):
15741         * menubar-msw.c (prune_menubar):
15742         * menubar-msw.c (msw_char_is_accelerator):
15743         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15744         * menubar-msw.c (mswindows_handle_wm_command):
15745         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15746         * menubar-msw.c (mswindows_handle_wm_initmenu):
15747         * menubar-msw.c (mswindows_update_frame_menubars):
15748         * menubar-msw.c (mswindows_free_frame_menubars):
15749         * menubar-msw.c (mswindows_popup_menu):
15750         Fixed a bug in handling accelerators where an extra character
15751         would be displayed in the menu item.  Also generalized the
15752         function displayable_menu_item because it is now used by the
15753         dialog box code as well.  And finally, added code in the functions
15754         that create the menubar to extract a list of accelerators for the
15755         top level menubar, which is used in the event code to determine
15756         whether a particular alt-key combination should be used to invoke
15757         a menu item, or should be passed through to access the standard
15758         XEmacs keymap binding for this key combination.
15759
15760         Much needed GCPROing.
15761
15762         * menubar-x.c:
15763         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15764         * menubar-x.c (menu_item_descriptor_to_widget_value):
15765         * menubar-x.c (restore_in_menu_callback):
15766         * menubar-x.c (x_popup_menu):
15767         * menubar-x.c (menu_move_up):
15768         * menubar-x.c (menu_move_down):
15769         * menubar-x.c (menu_move_left):
15770         * menubar-x.c (menu_move_right):
15771         * menubar-x.c (menu_select_item):
15772         * menubar-x.c (command_builder_operate_menu_accelerator):
15773         * menubar-x.c (menu_accelerator_junk_on_error):
15774         * menubar-x.c (command_builder_find_menu_accelerator):
15775         * menubar-x.c (Faccelerate_menu):
15776         * menubar.h:
15777         Moved a whole bunch of code here that was previously in
15778         event-stream.c as described above.  There is also code connected
15779         to the new standard of adding an accelerator to the beginning of
15780         menu items that don't have one as described above and below.
15781
15782         * menubar.c:
15783         * menubar.c (menu_parse_submenu_keywords):
15784         * menubar.c (Fmenu_find_real_submenu):
15785         * menubar.c (Fnormalize_menu_item_name):
15786         * menubar.c (syms_of_menubar):
15787         * menubar.c (vars_of_menubar):
15788         * menubar.c (complex_vars_of_menubar):
15789
15790         a) Cleaned up a bunch of documentation and improved it.
15791
15792         b) XEmacs now automatically adds an accelerator onto the beginning
15793         of any menu items that don't have one.  I did this because there
15794         will inevitably be some menu items on the main menubar that don't
15795         have accelerators on them because the package that adds that
15796         particular menu item hasn't yet been fixed up to have accelerators
15797         in them and it looked rather strange to have some items with and
15798         some items without accelerators, especially since even in items
15799         without accelerators, you can, at least under windows, still
15800         access the item through an accelerator corresponding to the first
15801         character in the item's name.  If people don't like this behavior,
15802         I can add a variable to turn it off optionally, but I'm not sure
15803         this is a good idea because we really do need to have accelerators
15804         on all of the menu items, and if a package doesn't like the
15805         accelerators being put on the first character, then it should put
15806         the accelerators where they belong.
15807
15808         c) I made a behavior change, which is that the descriptor that
15809         specifies the text of the menu item, which formerly was just a
15810         string, can now also be an evaluated expression.  This makes this
15811         descriptor parallel with all of the others, which could also be
15812         evaluated expressions.  This also obviates the need for the
15813         keyword :label, which was previously listed in the documentation
15814         as unimplemented, and which was for the same purpose.
15815
15816         d) GCPROing.
15817
15818         * ntproc.c:
15819         * ntproc.c (new_child):
15820         * ntproc.c (sys_spawnve):
15821         * ntproc.c (find_child_console):
15822         * ntproc.c (sys_kill):
15823         Fixed compile warnings.  By the way, this file should really go
15824         away entirely, and this will happen as soon as Kirill makes his
15825         final round of process cleanups, which affect the function
15826         call-process.
15827
15828         * process-nt.c:
15829         * process-nt.c (struct nt_process_data):
15830         * process-nt.c (find_process_from_pid):
15831         * process-nt.c (send_signal_the_nt_way):
15832         * process-nt.c (enable_child_signals):
15833         * process-nt.c (find_child_console):
15834         * process-nt.c (send_signal_the_95_way):
15835         * process-nt.c (nt_finalize_process_data):
15836         * process-nt.c (ensure_console_window_exists):
15837         * process-nt.c (nt_create_process):
15838         * process-nt.c (nt_kill_child_process):
15839         * process-nt.c (nt_kill_process_by_pid):
15840         * process-nt.c (nt_open_network_stream):
15841         * process-nt.c (vars_of_process_nt):
15842         Copied over code from Emacs 20.5 to correctly send signals to sub-
15843         processes under Windows 95.  Also added code to automatically
15844         create and hide console window when a sub-process is created under
15845         Windows 95, which obviates the need for the separate runemacs.exe
15846         executable, and finally implemented some variables that were
15847         implemented in Emacs 20.5, but previously not in XEmacs.  These
15848         include mswindows- start-process-share-console and
15849         mswindows-start-process-inherit-error-mode. (Both of these only
15850         apply to Windows 95.)
15851
15852         * regex.c (regex_compile): Fixed a compile warning.
15853
15854         * select-msw.c:
15855         * select-msw.c (mswindows_own_selection):
15856         * select-msw.c (mswindows_get_foreign_selection):
15857         * select-msw.c (mswindows_disown_selection):
15858         * select-msw.c (console_type_create_select_mswindows):
15859         * select-msw.c (syms_of_select_mswindows):
15860         Cleaned up the file and implemented the device method
15861         selection_exists_p, which had accidentally been left out.  Also
15862         removed four lisp functions that were remnants from before the
15863         time when the selection code was properly device abstracted.
15864         These functions are no longer needed because there are generic
15865         equivalents, and because they were added recently and don't exist
15866         in FSF Emacs, I don't think there's any problem with just deleting
15867         them.
15868
15869         * sysdep.c:
15870         * sysdep.c (sys_subshell):
15871         Fixed a compile warning, although in this case there's probably
15872         something wrong with this code, and it ought to be looked into
15873         more thoroughly by somebody who understands it.
15874
15875         * window.c:
15876         * window.c (Fwindow_text_area_height):
15877         * window.c (Fwindow_width):
15878         * window.c (Fwindow_full_width):
15879         * window.c (Fwindow_pixel_width):
15880         * window.c (debug_print_window):
15881         * window.c (syms_of_window):
15882         Added functions window-text-area-height and window-full-width,
15883         which are functions for returning various width and height
15884         characteristics of a window. (One of these functions is necessary
15885         for making the file dialog box work correctly, and the other one
15886         was added for completeness.)  Also added a table to the
15887         documentation for window-height which describes the entire scheme
15888         for accessing width and height characteristics of a window.
15889
15890 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15891
15892         * nt.c (fstat): Added a comment for another problem with
15893         non-encapsulated [f]stat(), reported by Adrian Aichner
15894         <aichner@ecf.teradyne.com>.
15895
15896 2000-03-11  Andy Piper  <andy@xemacs.org>
15897
15898         * window.c (make_dummy_parent): initialize subwindow instance
15899         cache.
15900         (Fset_window_configuration): zero extent_modiff.
15901
15902 2000-03-10  Andy Piper  <andy@xemacs.org>
15903
15904         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15905         more changes can be triggered.
15906         (Fredisplay_frame): ditto.
15907         (Fredraw_device): ditto.
15908         (Fredisplay_device): ditto.
15909         (redisplay_frame): make non-static.
15910         (redisplay_frame): call update_frame_gutter_geometry outside of
15911         display proper.
15912
15913         * gutter.h: declare update_frame_gutter_geometry.
15914
15915         * redisplay.h: declare redisplay_frame.
15916
15917         * gutter.c (update_frame_gutter_geometry): move geometry changes
15918         in update_frame_gutters here. Geometry changes can only occur
15919         outside of redisplay.
15920         (update_frame_gutters): remove geometry change code.
15921         (Fredisplay_gutter_area): make sure that we are in display when we
15922         update and that we have flushed any size changes.
15923
15924 2000-03-11  Andy Piper  <andy@xemacs.org>
15925
15926         * alloc.c (pdump_dump_data): remove i & count shadows.
15927
15928 2000-02-27  Mike Alexander  <mta@arbortext.com>
15929
15930         * sysdep.h: Declare pdump_read_file
15931
15932         * sysdep.c (pdump_read_file): New function
15933
15934         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15935         dump data
15936
15937 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15938
15939         * lrecord.h: add `lrecord_type_pgsetenv'.
15940
15941 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15942
15943         * symsinit.h: declare (vars|syms)_of* functions.
15944         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15945
15946 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15947
15948         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15949
15950         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15951         GCCs.
15952
15953         * emacs.c (main_1): Call postgres initialization code.
15954
15955         * postgresql.h: New file.  PostgreSQL RDBMS support.
15956         * postgresql.c: New file.
15957
15958 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15959
15960         * redisplay-output.c (redisplay_output_display_block): Disable
15961         redundant code.
15962
15963 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15964
15965         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15966         (Fcanna_henkan_next): Ditto.
15967         (Fcanna_bunsetu_henkou): Ditto.
15968         (Fcanna_henkan_kakutei): Ditto.
15969         (Fcanna_henkan_end): Ditto.
15970         (Fcanna_henkan_quit): Ditto.
15971         (Fcanna_henkan_next): Set retun value correctly.
15972         (c2mu): Use unsigned char instead of signed char.
15973
15974 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15975
15976         * emacs.c (main_1): Always call syms_of_gui.
15977         * inline.c: include gui.h
15978
15979 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15980
15981         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15982         converted to Lisp_Object.
15983         (Qtop_bottom): New variable.
15984         (syms_of_redisplay): Initialize it.
15985         * redisplay.h (Vvisible_bell): Ditto.
15986         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15987         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15988         only flash top and bottom.
15989
15990 2000-03-08  Andy Piper  <andy@xemacs.org>
15991
15992         * buffer.c (Frename_buffer): record new buffer name the right way.
15993
15994 2000-03-08  Andy Piper  <andy@xemacs.org>
15995
15996         * glyphs.c (update_subwindow): increase hash depth so that widget
15997         items get picked up properly.
15998
15999         * redisplay-output.c (compare_runes): increase hash depth so that
16000         widget items get picked up properly.
16001
16002 2000-03-08  Andy Piper  <andy@xemacs.org>
16003
16004         * gutter.c (output_gutter): add some debug.
16005
16006         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
16007         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
16008         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
16009
16010         * redisplay-output.c (compare_runes): use display_hash to
16011         determine if glyphs really are not the same.
16012
16013         * glyphs.c (update_subwindow): check display_hash to see if
16014         anything really needs to be updated. If not then do
16015         nothing. Record the display_hash after updating.
16016         (image_instance_equal): compare the image_instance face also.
16017
16018 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
16019
16020         * redisplay.h: Fix comment style.
16021
16022 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16023
16024         * consle-msw.h (struct mswindows_frame):
16025         Added new member paint_pending to indicate whether a WM_PAINT
16026         magic event has been queued for this frame.
16027
16028         * event-msw.c (mswindows_drain_windows_queue):
16029         Don't queue a WM_PAINT magic event if one is already queued.
16030         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
16031
16032         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
16033
16034 2000-03-07  Didier Verna  <didier@xemacs.org>
16035
16036         * dired.c: #include `regex.h' after `sysfile.h'.
16037
16038 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16039
16040         * sound.c (init_nas_sound): Fix compiler warning.
16041
16042         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16043         (FREE_STRUCT_P):
16044         (MARK_STRUCT_AS_FREE):
16045         (MARK_STRUCT_AS_NOT_FREE):
16046         Make `gcc -fstrict-aliasing' work properly.
16047
16048 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16049
16050         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16051         (mswindows_delete_device): Call CoUnnitialize().
16052
16053         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16054
16055 2000-02-25    <CraigL@DyCon.com>
16056
16057         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16058         <errno.h>.
16059
16060         * sysdep.c: This extern declaration for environ prevents MinGW
16061         from finding the variable in CRTDLL.DLL.
16062
16063         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16064         windows headers.
16065         (SHGFI_EXETYPE): ..
16066         (WM_MOUSEWHEEL): ..
16067         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16068         definitions.
16069         (MMRESULT): Removed, now defined in cygwin's windows headers.
16070         (TIMECAPS): ..
16071         (uid_t,gid_t,pid_t,ssize_t): ..
16072         (_timeb): Removed, MinGW defines both _timeb and timeb.
16073         (HAVE_H_ERRNO): Added.
16074         (HAVE_TZNAME): Added, configure is not detecting this.
16075
16076 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16077
16078         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16079         * syntax.c (syntax_match): Use it.
16080
16081         * cmds.c: Import auto-fill-chars from FSF Emacs.
16082         (Vauto_fill_chars): New variables.
16083         (internal_self_insert): Check Vauto_fill_chars.
16084         (vars_of_cmds):
16085         Declare auto-fill-chars as a Lisp variable and initialize it.
16086
16087 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16088
16089         * fileio.c (Fmake_symbolic_link):
16090         (Ffile_symlink_p):
16091         Run handlers even if local machine doesn't have symlinks.
16092
16093 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16094
16095         * event-msw.c (mswindows_drain_windows_queue):
16096         Don't generate paint magic events for non-XEmacs frames.
16097
16098 2000-03-05  Andy Piper  <andy@xemacs.org>
16099
16100         * redisplay.c (redisplay_frame): generate_displayable_area and
16101         friends assumes that we are not in GC, we therefore have to make
16102         sure that this doesn't happen.
16103
16104         * gutter.c (calculate_gutter_size): generate_displayable_area
16105         assumes that we are not in GC, we therefore have to make sure that
16106         this doesn't happen.
16107
16108 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16109
16110         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16111
16112 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16113
16114         * redisplay.c (regenerate_window): Make sure we set a sane value
16115         for end_pos even if we jump out of the loop.
16116         (regenerate_window): Answer Ben's question :-).
16117         (start_end_of_last_line): Add may_error argument.
16118         (start_of_last_line):
16119         (end_of_last_line): Pass may_error = 0.
16120         (end_of_last_line_may_error): New function.
16121         (pixel_to_glyph_translation): Use it, so we don't crash in
16122         event_to_glyph.
16123
16124 2000-03-04  Andy Piper  <andy@xemacs.org>
16125
16126         * window.h (struct window): add gutter_extent_modiff.
16127
16128         * window.c (allocate_window): zero out gutter_extent_modiff.
16129
16130         * redisplay.h: declare sync_display_line_structs.
16131
16132         * redisplay.c (add_glyph_rune): add a better comment.
16133
16134         * redisplay-output.c (sync_display_line_structs): made non-static.
16135         (compare_runes): remove unneccesary glyph cachel access.
16136
16137         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16138
16139         * gutter.c (output_gutter): don't output the gutter if extent
16140         changes only involve extents in buffers. use 4 sets of display
16141         lines.
16142         (gutter_extent_signal_changed_region_maybe): new function. Mark
16143         extents in gutters as changed.
16144         (update_frame_gutters): use 4 sets of display lines.
16145         (reset_gutter_display_lines): ditto.
16146         (free_frame_gutters): ditto.
16147         (redraw_exposed_gutter): force output of gutters.
16148
16149         * frame.h (struct frame): add 4 sets of gutter display lines.
16150
16151         * extents.c: (extent_changed_for_redisplay): signal changes to
16152         extents in strings in the gutter as well as extents in buffers.
16153
16154 2000-03-02  Andy Piper  <andy@xemacs.org>
16155
16156         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16157
16158         * frame.c (Fmake_frame): make sure the gutters get initialized
16159         after the frame is visible.
16160         (set_frame_selected_window): re-arrange compilation macros a
16161         little.
16162         (change_frame_size_1): mark gutters changed.
16163
16164         * device.c (Fset_device_class): mark gutters changed.
16165
16166 2000-03-01  Andy Piper  <andy@xemacs.org>
16167
16168         * window.c (window_top_frame_gutter_height): deleted.
16169         (window_bottom_frame_gutter_height): ditto.
16170         (window_left_frame_gutter_height): ditto.
16171         (window_right_frame_gutter_height): ditto.
16172         (window_top_gutter_height): don't use them.
16173         (window_bottom_gutter_height): ditto.
16174         (window_left_gutter_width): ditto.
16175         (window_right_gutter_width): ditto.
16176         (Fsplit_window): ditto.
16177         (Fwindow_pixel_edges): don't use border dimensions here.
16178
16179         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16180         (update_scrollbar_instance): ditto.
16181
16182         * redisplay.c (generate_modeline): don't take gutters into account.
16183         (generate_modeline): ditto.
16184         (redisplay_frame): small gutter display optimization.
16185
16186         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16187
16188         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16189         gutters into account.
16190
16191         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16192         for window position and type.
16193
16194         * gutter.c (get_gutter_coords): fix for frame gutters.
16195         (update_frame_gutters): update frame geometry if the gutters have
16196         changed.
16197         (init_frame_gutters): record current gutter geometries.
16198
16199         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16200         var.
16201         (mswindows_widget_instantiate): ditto.
16202
16203         * frame.h (struct frame): add current_gutter_bounds.
16204
16205         * frame.c (change_frame_size_1): position window and minibuffer
16206         appropriately taking into account the frame gutters.
16207
16208         * frame-x.c: (x_initialize_frame_size): take into account the
16209         frame gutters.
16210
16211 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16212
16213         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16214
16215 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16216
16217         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16218
16219 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16220
16221         * file-coding.c (reset_decoding_stream): Clear previous
16222         detection state when autodetect.
16223
16224 2000-02-29  Didier Verna  <didier@xemacs.org>
16225
16226         * extents.c (set_extent_glyph_1): don't require extents to be
16227         attached.
16228
16229 2000-02-27  Andy Piper  <andy@xemacs.org>
16230
16231         * gutter.c (Fset_default_gutter_position): don't default left and
16232         right gutter visibility to t.
16233         (Fset_default_gutter_position): run
16234         default-gutter-position-changed-hook.
16235         (syms_of_gutter): add default-gutter-position-changed-hook.
16236
16237 2000-02-26  Andy Piper  <andy@xemacs.org>
16238
16239         * specifier.c (Fmake_specifier): add gutter references.
16240
16241         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16242
16243         * lisp.h: declare Fvalid_plist_p.
16244
16245         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16246         as changed.
16247         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16248         well as its visibility so that it gets reconstructed.
16249         (construct_window_gutter_spec): new function. Construct a string
16250         to be displayed in the gutter from a plist of strings. Take care
16251         to only use elements that are declared as visible.
16252         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16253         WINDOW_GUTTER.
16254         (gutter_validate): allow plists of strings in the specifier.
16255         (gutter_specs_changed): construct the real_gutter from the gutter
16256         specs using construct_window_gutter_spec.
16257         (gutter_visible_validate): gutter-visible is a new specifier type.
16258         (Fgutter_visible_specifier_p): new function for the new specifier.
16259         (syms_of_gutter): declare gutter-visible and
16260         Fgutter_visible_specifier_p.
16261         (specifier_type_create_gutter): intitalize new gutter-visible
16262         specifier.
16263         (reinit_specifier_type_create_gutter): ditto.
16264         (specifier_vars_of_gutter): use new specifier type for gutter
16265         visibility.
16266         (init_frame_gutters): construct real_gutter correctly.
16267         (Fgutter_specifier_p): beef up documentation.
16268         (Fgutter_size_specifier_p): ditto.
16269
16270         * winslots.h: add real_gutter slots.
16271
16272 2000-02-25  Andy Piper  <andy@xemacs.org>
16273
16274         * device-msw.c: Be kind to older cygwin versions. From Raymond
16275         Toy <toy@rtp.ericsson.se>.
16276
16277         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16278         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16279
16280 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16281
16282         * elhash.c (MARK_OBJ): Practice macro hygiene.
16283
16284 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16285
16286         * miscplay.c: s/__inline__/inline/g;
16287         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16288         (get_device_compdc): INLINE ==> static inline
16289         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16290         find -name '*.h' | \
16291         xargs global-replace \
16292         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16293
16294 2000-02-25  Andy Piper  <andy@xemacs.org>
16295
16296         * window.c (window_top_frame_gutter_height): new function.
16297         (window_top_window_gutter_height): ditto.
16298         (window_top_gutter_height): use them.
16299         (window_bottom_frame_gutter_height): new function.
16300         (window_bottom_window_gutter_height): ditto.
16301         (window_bottom_gutter_height): use them.
16302         (window_left_window_gutter_width): new function.
16303         (window_left_frame_gutter_width): ditto.
16304         (window_left_gutter_width): use them.
16305         (window_right_window_gutter_width): new function.
16306         (window_right_frame_gutter_width): ditto.
16307         (window_right_gutter_width): use them.
16308         (window_pixel_height): new function. calulate window pixel height
16309         with frame gutter involvement.
16310         (Fsplit_window): calculate new sizes taking frame gutters into
16311         account.
16312         (window_char_height_to_pixel_height): don't include frame gutters.
16313         (window_char_height): use window_pixel_height.
16314         (window_pixheight): rename from window_pixel_height.
16315         (change_window_height): use it.
16316         (window_pixel_height_to_char_height): don't include frame gutters.
16317         (window_char_width_to_pixel_width): ditto.
16318
16319 2000-02-25  Andy Piper  <andy@xemacs.org>
16320
16321         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16322         if it is.
16323
16324 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16325
16326         * alloc.c (staticpro):
16327         (staticpro_nodump):
16328         (dumpstruct):
16329         (dumpopaque):
16330         (pdump_wire):
16331         (pdump_wire_list):
16332         (compact_string_chars):
16333         (pdump_dump_wired):
16334         Convert:  if (foo) abort();  ==>  assert (! foo);
16335
16336         * eldap.c (Fldap_search_basic):
16337         (Fldap_add):
16338         (Fldap_modify):
16339         (Fldap_delete):
16340         Fix compiler warnings, and possible crashes if (random) return
16341         value were to be used.
16342
16343 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16344
16345         * device-msw.c: Workaround ResetDC failure.
16346
16347         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16348         applying a devmode.
16349
16350         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16351         (mswindows_text_width): Do not start printer page.
16352
16353         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16354
16355         * glyphs-msw.c: Added image methods to msprinter console and
16356         msprinter-specific image instantiation.
16357
16358 2000-02-20  Mike Alexander  <mta@arbortext.com>
16359
16360         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16361         to avoid crashes when selection-sets-clipboard is on
16362         (mswindows_own_selection): ditto
16363
16364 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16365
16366         * glyphs-msw.c:
16367         * redisplay-msw.c (get_frame_dc):
16368         (get_frame_compdc):
16369         * console-msw.h:
16370         * device-msw.c (mswindows_init_device):
16371         (mswindows_delete_device):
16372         (msprinter_init_device):
16373         (msprinter_delete_device):
16374         * frame-msw.c (mswindows_init_frame_1):
16375         (mswindows_delete_frame):
16376         (msprinter_init_frame_3):
16377         (msprinter_delete_frame): Move compatible DC to device object from
16378         frame object, for both mswindows and msprinter. Only one at a time
16379         is needed, it is a real waste to have one per frame!
16380
16381 2000-02-23  Andy Piper  <andy@xemacs.org>
16382
16383         * glyphs.c: add dynamic width and height elements.
16384         (image_instance_equal): ditto.
16385
16386         * glyphs-widget.c (widget_query_geometry): calculate width and
16387         height dynamically if required.
16388         (initialize_widget_image_instance): initialize dynamic dimensions.
16389         (widget_instantiate): pick-up dynamic dimensions.
16390
16391         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16392         dynamic determination. Add appropriate macros.
16393
16394         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16395         dimensions safe.
16396         (WINDOW_GUTTER_SIZE): ditto.
16397         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16398
16399         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16400         inline.
16401         (get_frame_dc): ditto.
16402
16403         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16404         here.
16405
16406 2000-02-23  Martin Buchholz <martin@xemacs.org>
16407
16408         * XEmacs 21.2.31 is released.
16409
16410 2000-02-22  Ben Wing <ben@xemacs.org>
16411
16412         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16413
16414 2000-02-22  Andy Piper  <andy@xemacs.org>
16415
16416         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16417
16418 2000-02-21  Mike Sperber <mike@xemacs.org>
16419
16420         * .dbxrc:
16421         * .gdbinit:
16422         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16423         variables.
16424
16425 2000-02-21  Mike Sperber <mike@xemacs.org>
16426
16427         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16428
16429 2000-02-21  Martin Buchholz <martin@xemacs.org>
16430
16431         * XEmacs 21.2.30 is released.
16432
16433 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16434
16435         Performance hacking.
16436         * *.c (syms_of_*):
16437         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16438         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16439         * emacs.c (main_1):
16440         * lisp.h (DEFUN):
16441         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16442         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16443         * symeval.h (DEFVAR_SYMVAL_FWD):
16444         * symbols.c (guts_of_unbound_marker):
16445         Make all c_readonly objects also lisp_readonly and marked for life.
16446         * lrecord.h (struct lrecord_implementation):
16447         Document flags better.
16448         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16449         * lrecord.h (DECLARE_LRECORD):
16450         * lrecord.h (XSETRECORD):
16451         * lrecord.h (RECORDP):
16452         * lrecord.h (RECORD_TYPEP):
16453         * lrecord.h (RECORD_MARKER): New.
16454         * lrecord.h (error_check_*):
16455         * lrecord.h (CONCHECK_NONRECORD):
16456         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16457         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16458         * lrecord.h (set_lheader_implementation):
16459         * lrecord.h (enum lrecord_type): New.
16460         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16461         * alloc.c (disksave_object_finalization_1):
16462         * alloc.c (mark_object):
16463         * alloc.c (lrecord_type_index):
16464         * alloc.c (tick_lcrecord_stats):
16465         * alloc.c (Fgarbage_collect):
16466         * alloc.c (init_alloc_once_early):
16467         * alloc.c (pdump_load):
16468         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16469         * alloc.c (lrecord_type_index): Delete.
16470         Make lisp object type indexes be constant.
16471           Makes (byte-compile) 5% faster.
16472         Put all marker functions into their own array.
16473           Makes (garbage-collect) 5% faster.
16474         Optimize SYMBOL_VALUE_MAGIC_P.
16475           Makes (byte-compile) 2-3% faster.
16476         * config.h.in (gc_checking_assert): New.
16477         * alloc.c: Use gc_checking_assert().
16478         * .dbxrc: Make compatible with new object type implementation.
16479         * .gdbinit: Make compatible with new object type implementation.
16480         * alloc.c: Delete all symbols defined only for debugging, such as
16481         Lisp_Type_Vector and lrecord_charset.
16482
16483 2000-02-21  Andy Piper  <andy@xemacs.org>
16484
16485         * gui-msw.c (Fmswindows_shell_execute): fix file location
16486         problems.
16487
16488         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16489         unshowing so that set_window_buffer doesn't undo
16490         kill_buffer_hook's hard work.
16491
16492         * glyphs-widget.c (tab_control_query_geometry): don't count the
16493         first item when calculating geometry.
16494
16495         * glyphs.c (map_subwindow): remove redundant code.
16496         (update_frame_subwindows): be more circumspect about when to
16497         update subwindows.
16498
16499         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16500         when items haven't changed. Update faces if faces have changed as
16501         well as just the widget face.
16502         (x_tab_control_update): Update faces if faces have changed as well
16503         as just the widget face.
16504
16505 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16506
16507         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16508         registration.
16509         (build_syscolor_string): Use mswindows_color_to_string to try to
16510         get a named color.
16511         (mswindows_device_system_metrics): Reverse the foreground and
16512         background colors so that they match the documentation.
16513
16514         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16515         they match the default Windows palette.
16516         (mswindows_color_to_string): New function.
16517
16518 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16519
16520         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16521
16522 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16523
16524         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16525         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16526
16527         * symbols.c (init_symbols_once_early): Removed obsolete
16528         DATA_SEG_BITS related kludge.
16529         (defvar_magic): Ditto.
16530
16531         * malloc.c: Removed obsolete DATA_SEG_BITS
16532         * ralloc.c: Ditto.
16533         * mem-limits.h: Ditto.
16534
16535         * Makefile.in.in: Removed obsolete HAVE_SHM
16536         * emacs.c: Ditto.
16537
16538 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16539
16540         *  device-msw.c (mswindows_delete_device): Free DDE string
16541         handles.
16542
16543 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16544
16545         * keymap.c (get_keyelt):
16546         * unexnt.c (unexec):
16547         * vm-limit.c (memory_warnings):
16548         * ntheap.c (recreate_heap):
16549         * ntheap.h (UNINIT_PTR):
16550         * select-msw.c (Fmswindows_get_clipboard):
16551         (Fmswindows_set_clipboard):
16552         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16553         * objects-msw.c:
16554         * menubar-msw.c (displayable_menu_item):
16555         * glyphs-msw.c:
16556         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16557         * sysdep.c (sys_subshell):
16558         * process-nt.c (nt_create_process):
16559         * nt.c (normalize_filename):
16560         (dostounix_filename):
16561         (unixtodos_filename):
16562         * ntproc.c (win32_executable_type):
16563         * ntplay.c (play_sound_data_1):
16564         (play_sound_file):
16565         * editfns.c (get_home_directory):
16566         * event-msw.c (struct winsock_stream):
16567         (mswindows_dde_callback):
16568         * device-msw.c (msprinter_init_device):
16569         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16570
16571         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16572         mswindows_clear_toolbar were swapped!
16573
16574         * objects-msw.c:(colormap_t):
16575         (fontmap_t):
16576         * emacs.c (struct standard_args): Fixed const jumble.
16577
16578         * glyphs-widget.c (update_widget): Fixed comparison notation.
16579
16580         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16581
16582         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16583         __declspec(noreturn) syntax.
16584
16585 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16586
16587         * eldap.c (Fldap_open):
16588         (Fldap_search_basic):
16589         (Fldap_add):
16590         (Fldap_modify):
16591         Use new coding system conversion macros.
16592
16593 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16594
16595         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16596
16597 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16598
16599         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16600         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16601
16602         * eldap.c (Qadd, Qreplace): New constant symbols
16603         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16604         interruptions by XEmacs signals
16605         Remove unnecessary calls to slow_down_interrupts and
16606         speed_up_interrupts
16607         (Fldap_search_basic): Renamed from Fldap_search_internal
16608         Added new optional parameter VERBOSE that triggers the
16609         display of progress messages
16610         Remove unnecessary calls to slow_down_interrupts and
16611         speed_up_interrupts
16612         LDAP result code analysis rewritten
16613         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16614         (syms_of_eldap): Define the new symbols and functions
16615
16616
16617 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16618
16619         * realpath.c: Determine PATH_MAX maximally portably.
16620
16621         * insdel.c (bytecount_to_charcount): Optimize.
16622         The function used to be optimized for entirely ASCII sequences.
16623         Now it is optimized for successive characters from the same
16624         charset.  This also wins big for _mostly_ ASCII sequences.
16625
16626         * fileio.c (Ffile_truename): convert return from realpath() using
16627         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16628         - Rewrite GCPROing slightly.
16629
16630         * sysdep.c (sys_open): Do filename conversion, like all other
16631         sys_* functions.  Fixes bug:
16632         (let ((file-name-coding-system 'iso-8859-2))
16633            (write-region x y latin2-name))
16634         ==> writes filename using internal encoding.
16635
16636 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16637
16638         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16639         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16640         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16641         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16642         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16643         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16644         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16645         (CONST_IF_NOT_DEBUG): Delete.
16646         * alloc.c (this_one_is_unmarkable): Delete.
16647         (mark_object): Don't check for this_one_is_unmarkable. Use the
16648         c_readonly flag instead.
16649         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16650
16651 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16652
16653         * event-msw.c (mswindows_drain_windows_queue):
16654         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16655         away redundant repaint events.
16656
16657 2000-02-17  Andy Piper  <andy@xemacs.org>
16658
16659         * redisplay.h: declare mark_redisplay_structs.
16660
16661         * redisplay.c (redisplay_window):
16662         (redisplay_frame): don't check subwindows_state_changed.
16663         (mark_redisplay): mark gutters here.
16664
16665         * glyphs.c: (instantiate_image_instantiator): always layout if we
16666         haven't done so already.
16667         (allocate_image_instance): don't mark as dirty.
16668         (update_subwindow): bind inhibit_quit.
16669
16670         * gutter.c (mark_gutters): new function.
16671
16672         * glyphs-x.c (x_update_widget): Always resize to get round a
16673         widget bug.
16674
16675         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16676         breaking absolutely everything.
16677
16678         * gutter.h: declare mark_gutters.
16679
16680 2000-02-16  Martin Buchholz <martin@xemacs.org>
16681
16682         * XEmacs 21.2.29 is released.
16683
16684 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16685
16686         * fns.c (size_bit_vector): Fix computation of the size.
16687
16688 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16689
16690         * *.[ch]: Change CONST to const globally.
16691         find -name '*.[ch]' | \
16692         xargs global-replace \
16693         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16694         - Remove vestigial references to CONST_IS_LOSING
16695
16696 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16697
16698         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16699         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16700         events instead of dispatching them directly.
16701         (mswindows_handle_paint): New function to do repainting.
16702         (mswindows_wnd_proc):
16703         (emacs_mswindows_handle_magic_event): Call above function.
16704
16705 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16706
16707         * objects-msw.c (mswindows_create_font_variant): Return the new
16708         font handle.
16709         (initialize_font_instance): Get font metrics from the underlined
16710         variant of the font to cope with the case where the underlined
16711         font has a bigger descent.
16712
16713 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16714
16715         * gui.c (gui_item_accelerator): Return the first underlined
16716         character in item name.
16717
16718 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16719
16720         * lisp.h: Added Qprinter.
16721
16722         * general.c (syms_of_general): Initialized it.
16723
16724         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16725         (get_frame_dc):
16726         (get_frame_compdc): Made inline.
16727
16728         * console.h (struct console_methods): Added eject_page method.
16729
16730         * frame.h: Added FRAME_DISPLAY_P and friends.
16731         Aligned backslahes in many macros in more readable fashion.
16732         Added page_number to struct frame, and an accessor macro
16733         for it.
16734
16735         * defice.h: Added DEVICE_DISPLAY_P and friends.
16736
16737         * device.c (Fdevice_printer_p): Used these.
16738
16739         * frame.c (allocate_frame_core): Initialize page number.
16740         (Fprint_job_page_number):
16741         (Fprint_job_eject_page): Implemented.
16742
16743         * frame-msw.c (msprinter_eject_page): Added method.
16744         (msprinter_start_page): Added.
16745
16746         * window.c (Fwindow_truncated_p): Fixed docstring.
16747         (Fwindow_last_line_visible_height): Implemented.
16748
16749 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16750
16751         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16752
16753 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16754
16755         * syntax.c (scan_words): Always advance at least one character.
16756
16757 2000-02-13  Andy Piper  <andy@xemacs.org>
16758
16759         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16760         to make sure the glyph is in the cachels.
16761
16762         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16763         global image instance flag.
16764         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16765         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16766
16767         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16768         (Fset_image_instance_property): mark layout as changed.
16769         (invalidate_glyph_geometry_maybe): mark layout as changed.
16770         (glyph_width): use new NEEDS_LAYOUT macro.
16771         (glyph_ascent): ditto.
16772         (glyph_descent): ditto.
16773         (glyph_height): ditto.
16774         (image_instance_layout): mark layout as clean after laying out.
16775         (update_subwindow): don't mark layout as clean here.
16776
16777         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16778         should no longer be needed.
16779
16780         * glyphs-x.c (x_update_widget): sanitize asserts.
16781         (x_finalize_image_instance): sanitize assignment to widgets.
16782
16783         * glyphs-widget.c (widget_instantiate): don't need to clear the
16784         layout flag here.
16785
16786 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16787
16788         * sysdep.c (getcwd): Use standard prototype.
16789         * sysdep.h (getcwd): Use standard prototype.
16790
16791         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16792         (sequence, start, end).
16793         Remove redundant type checking.
16794         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16795         view of `caller-protects') to avoid a crash where the real fix was
16796         found elsewhere.
16797
16798 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16799
16800         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16801
16802         * s/sol2.h: Remove feature macro initialization.
16803
16804         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16805         (vector_hash): New.  Code from internal_hash.
16806         * lrecord.h:
16807         Fix up allocation subsystem comments.
16808
16809         * config.h.in: Add __EXTENSIONS__ for Solaris.
16810
16811         * systime.h (EMACS_GETTIMEOFDAY): New.
16812         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16813         Remove Solaris-specific code.
16814         Use void* for the (ignored) second arg for gettimeofday().
16815
16816         * elhash.c (hash_table_hash): Implement it, finally.
16817         * elhash.c:  Use hashcode_t.
16818
16819         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16820         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16821
16822         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16823         * fns.c (size_bit_vector):
16824         * alloc.c (size_vector):
16825         (make_vector_internal):
16826         (make_bit_vector_internal):
16827         (sweep_bit_vectors_1):
16828         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16829
16830 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16831
16832         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16833         Include strings.h to avoid warnings for bzero and strcasecmp.
16834
16835 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16836
16837         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16838         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16839
16840         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16841         sequence.
16842
16843 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16844
16845         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16846         use a value field instead.
16847         (symbol_value_forward_forward): Use value field.
16848         (DEFVAR_SYMVAL_FWD): Use value field.
16849         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16850         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16851         (DEFVAR_CONST_INT): Ditto.
16852         (DEFVAR_BOOL): Ditto.
16853         (DEFVAR_CONST_BOOL): Ditto.
16854         (DEFVAR_INT_MAGIC): Ditto.
16855         (DEFVAR_BOOL_MAGIC): Ditto.
16856
16857         * symbols.c (guts_of_unbound_marker): Use value field.
16858         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16859         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16860
16861         * lisp.h: Declare dumpopaque and noninteractive1.
16862
16863         * alloc.c (dumpopaque): Added.
16864         (pdump_dump_opaquevec): Added.
16865         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16866         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16867         noninteractive.
16868
16869 2000-02-10  Andy Piper  <andy@xemacs.org>
16870
16871         * glyphs.c (image_instance_layout): if the size changes, mark it
16872         as such.
16873
16874         * redisplay-output.c (redisplay_output_layout): Update the
16875         subwindow here.
16876         (redisplay_output_subwindow): ditto.
16877
16878         * glyphs.c (update_subwindow): make sure we reset flags for
16879         layouts as well as everything else.
16880
16881         * glyphs-widget.c (layout_layout): don't need to set the instances
16882         dimensions here.
16883
16884 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16885
16886         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16887         not HAVE_DLOPEN, which is a lower-level thing.
16888
16889         * .cvsignore: Ignore gmon.out
16890
16891 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16892
16893         * .cvsignore: Ignore portable dumper xemacs.dmp file
16894
16895 2000-02-09  Andy Piper  <andy@xemacs.org>
16896
16897         * redisplay-output.c (redisplay_output_layout): be more clever
16898         about when we output based on the changed flags.
16899
16900         * glyphs.h (struct image_instantiator_methods): add update_method.
16901         (struct Lisp_Image_Instance): add changed flags. Declare new
16902         macros for manipulating them.
16903
16904         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16905         (image_instance_parent_glyph): find an image_instance's parent
16906         glyph or image_instance.
16907         (image_instance_layout): mark the size as changed.
16908         (set_image_instance_dirty_p): new function. mark an image
16909         instance, plus all of its parents, as dirty.
16910         (Fset_image_instance_property): use it.
16911         (Fglyph_animated_timeout_handler): use it.
16912         (update_subwindow): call update_widget and device methods for
16913         update_subwindow. Mark all changed flags as clean.
16914         (Fresize_subwindow): mark size as changed.
16915
16916         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16917         failures.
16918         (x_update_subwindow): only resize subwindows here.
16919         (x_update_widget): new function. Update all changed properties of
16920         a widget.
16921         (x_resize_subwindow): deleted.
16922         (x_widget_set_property): deleted.
16923         (x_progress_gauge_set_property): deleted.
16924         (x_progress_gauge_update): new function. Implement recorded
16925         changes.
16926         (x_tab_control_update): ditto.
16927         (x_tab_control_set_property): deleted.
16928         (console_type_create_glyphs_x): declare new functions.
16929         (image_instantiator_format_create_glyphs_x): ditto.
16930
16931         * glyphs-widget.c (widget_set_property): mark text changed.
16932         (update_widget): new function. Update properties of a widget.
16933         (widget_instantiate): for layouts make sure we set their
16934         children's parent correctly.
16935         (tab_control_set_property): new function. Record changes that will
16936         take place under redisplay's control.
16937         (progress_gauge_set_property): ditto.
16938         (image_instantiator_progress_guage): declare new functions.
16939         (image_instantiator_tab_control): ditto.
16940
16941         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16942         now.
16943         (mswindows_update_widget): new function. Update all properties on
16944         a widget that have changed.
16945         (mswindows_button_update): new function. Update a button's set
16946         state.
16947         (mswindows_tab_control_update): new function. Update the items in
16948         a tab.
16949         (mswindows_tab_control_set_property): deleted.
16950         (mswindows_progress_gauge_update): new function. Update the
16951         progress gauge's progress.
16952         (mswindows_widget_set_property): deleted. This is all done
16953         asynchronously now.
16954         (mswindows_progress_gauge_set_property): ditto.
16955         (console_type_create_glyphs_mswindows): declare new methods.
16956         (image_instantiator_format_create_glyphs_mswindows): ditto.
16957
16958         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16959         (msprinter_set_frame_properties): ditto.
16960
16961         * console.h (struct console_methods): Add update_widget_method.
16962
16963 2000-02-09  Andy Piper  <andy@xemacs.org>
16964
16965         * gui-msw.c (Fmswindows_shell_execute): Make
16966         mswindows-shell-execute industrial strength.
16967
16968 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16969
16970         * lrecord.h: Make macro argument `props' match member function `plist'.
16971         * fns.c (Fget):
16972         * fns.c (Fput):
16973         * fns.c (Fremprop):
16974         * fns.c (Fobject_plist):
16975         * alloc.c:
16976         * symbols.c:
16977         Object property list frobbing cleanup.
16978         - Allow any lisp object (compared with `eq'), not just symbols, as
16979           keys in object plists.
16980         - Move symbol plist frobbing into symbols.c, where it belongs.
16981         - Move string plist frobbing into alloc.c, where it belongs.
16982         - Everything's an lrecord now, so no need to test for symbolp, etc.
16983         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16984
16985         * extents.c: Reorder code to remove declarations.
16986
16987         * frame.h (store_in_alist): Remove useless declaration.
16988
16989 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16990
16991         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16992         * config.h.in: Add HAVE_XCONVERTCASE.
16993
16994 2000-02-07  Andy Piper  <andy@xemacs.org>
16995
16996         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16997         it breaks many things.
16998
16999 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
17000
17001         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
17002         actually can start a common comment type.
17003         * src/syntax.h (SYNTAX_END_P): ditto for end.
17004
17005 2000-02-07  Martin Buchholz <martin@xemacs.org>
17006
17007         * XEmacs 21.2.28 is released.
17008
17009 2000-02-06  Martin Buchholz  <martin@xemacs.org>
17010
17011         * event-Xt.c (x_keysym_to_character): New.
17012         (maybe_define_x_key_as_self_inserting_character): New.
17013         (x_has_keysym): New.
17014         Auto-define all keys on the keyboard as self-insert-key.
17015
17016 2000-02-02  Martin Buchholz  <martin@xemacs.org>
17017
17018         * menubar.c (vars_of_menubar): A small code simplification.
17019
17020         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
17021
17022         * ExternalShell.c:
17023         * ExternalClient.c:
17024         * EmacsShell-sub.c:
17025         * EmacsManager.c:
17026         * EmacsFrame.c:
17027         Use consistent style for specifying X resources.
17028
17029         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
17030         This makes (dontusethis-set-symbol-value-handler) actually usable.
17031
17032         * lrecord.h (lrecord_decription_type):
17033         * alloc.c (pdump_register_sub):
17034         (pdump_dump_data):
17035         (pdump_reloc_one):
17036         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
17037         Comply with XEmacs coding style.
17038         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17039         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17040
17041         * keymap.c (Faccessible_keymaps):
17042         Make (accessible-keymaps map "\C-h") do the Right Thing.
17043         Make (accessible-keymaps map []) do the Right Thing.
17044         Make (accessible-keymaps map "") do the Right Thing.
17045         (check_keymap_definition_loop): New function.
17046         (keymap_store_internal): Keep luser from shooting self in foot,
17047           via (define-key ctl-x-4-map "p" global-map).
17048         Remove fullness slot from struct Lisp_Keymap, since hash tables
17049         are now reliable.
17050         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17051
17052 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17053
17054         * redisplay.c (init_redisplay): Fix small memory leak.
17055         * elhash.h:
17056         * elhash.c (pdump_reorganize_hash_table):
17057         Rename from reorganize_hash_table. Change prototype.
17058         Reuse the original memory for hentries.  Save 100k.
17059         * alloc.c (PDUMP_READ): new macro.
17060         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17061         * alloc.c: No need to #ifndef before #undef.
17062
17063         * print.c: Allow debug_print() to print readably by modifying
17064         debug_print_readably.  Use consistent variable names.
17065
17066         * .dbxrc: Try to get things to work even if stopped in a function
17067         without source available by explicitly specifying source files.
17068 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17069
17070         * unexnt.c (_start): Removed bogus code which caused loading heap
17071         from differrent executable file.
17072         Removed bogus assignment to _fmode, which caused inconsistencies.
17073
17074 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17075
17076         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17077         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17078         Do not preliminary `#define signal sigset'.
17079
17080         * systime.h: Do not prototype environ on windows nt and cygwin,
17081         this conflicts with system header.
17082
17083         * syssignal.h: Use correct define for WINDOWSNT
17084
17085         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17086         with system header.
17087
17088         * sysdep.c (near start of file): Fixed commentary and rearranged
17089         ifdefs in readable order.
17090         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17091         (start_of_text):
17092         (end_of_text):
17093         (end_of_data): Do not compile in if using PDUMP.
17094
17095         * symsinit.h: Prototyped vars_of_nt().
17096
17097         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17098         (find_child_console): Use it.
17099         (sys_kill): Use it.
17100
17101         * ntheap.h: Do not extern os_subtype.
17102
17103         * ntheap.c (cache_system_info): Do not cache unneeded:
17104         nt_major_version, nt_minor_version and os_subtype.
17105         (recreate_heap): Do not compile in when PDUMPing.
17106
17107         * nt.c (geteuid and friends): Use the new varibale
17108         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17109         (init_user_info): Removed the above mentioned hackery.
17110         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17111         stat has been fixed in the C runtime.
17112         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17113
17114         * file-coding.c (struct file_coding_dump): Do not define
17115         ucs_to_mule_table in the struct if not MULE.
17116         (struct struct lrecord_description fcd_description_1): Do not dump
17117         the above.
17118
17119         * emacs.c (main_1): Call vars_of_nt().
17120         (right before Fdump_emacs_data): Don't need lastfile if using both
17121         portabe dumper and system malloc.
17122
17123         * alloc.c (Fmemory_limit): Conditionalized out.
17124         (pdump): Use OPEN_BINARY for the portable dump file.
17125         (pdump_load): Ditto.
17126
17127 2000-02-02  Mike Alexander  <mta@arbortext.com>
17128
17129         * nt.c (convert_time): Set tm_isdst before calling mktime and
17130         avoid calling it at all if the compiler supports 64 bit integers.
17131         Also initialize utc_base_ft before using it.
17132
17133 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17134
17135         * frame.c (change_frame_size_1): Take f->internal_border_width
17136         into consideration when calculating the width of the frame.
17137
17138 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17139
17140         * window.c (frame_min_height):
17141         (frame_size_valid_p):
17142         (frame_pixsize_valid_p): Added.
17143         (check_frame_size): Generalized.
17144
17145         * window.h: Prototyped the above.
17146
17147         * lisp.h:
17148         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17149         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17150         Deleted Vwin32_* and Vbinary_process_* unused variables.
17151
17152         * device-msw.c (msprinter_init_device): Do not get printer font
17153         list; Added DEVMODE functions.
17154
17155         * frame-msw.c: Added lots of printer code.
17156
17157         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17158         general.c.
17159
17160         * console-msw.h: Added more msprinter device private slots.
17161
17162 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17163
17164         * event-msw.c (key_needs_default_processing_p): Added.
17165         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17166
17167 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17168
17169         * glyphs.c (image_instance_layout): Mark image instance as clean
17170         after layout.
17171         (glyph_dirty_p): Removed redundant function.
17172         (invalidate_glyph_geometry_maybe): Added.
17173         (update_glyph_cachel_data): Call it.
17174
17175         * glyphs.h: Prototyped it.
17176
17177         * redisplay.c (add_glyph_rune): Call it.
17178         (redisplay_window): Reset glyphs cachels when frame faces have
17179         changed, thus forcing recomputation of built-in border glyphs.
17180
17181 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17182
17183         * Makefile.in.in: Make portable dumper and purify play well together.
17184         Add imperfect, but better than nothing, support for pdump.
17185         Remove xemacs.dmp when temacs is re-generated.
17186         Don't ignore errors when dumping xemacs.
17187
17188         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17189
17190 2000-01-28  Andy Piper  <andy@xemacs.org>
17191
17192         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17193         (setup_normal_frame): ditto.
17194         (setup_frame_without_minibuffer): ditto.
17195         (setup_minibuffer_frame): ditto.
17196         (delete_frame_internal): ditto.
17197         (Fmake_frame_invisible): ditto.
17198         (Ficonify_frame): ditto.
17199
17200         * window.h: change Fset_window_buffer signature.
17201
17202         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17203         (Fset_window_buffer): allow recording of buffer if the window is
17204         the selected window.
17205         (window_loop): Use new Fset_window signature.
17206
17207 2000-01-23  Daniel Pittman  <daniel@danann.net>
17208
17209         * config.h.in: Added template for `HAVE_ATHENA_3D'
17210
17211 2000-01-29  Andy Piper  <andy@xemacs.org>
17212
17213         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17214
17215         * gutter.c (output_gutter): Don't output if the window isn't live.
17216
17217 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17218
17219         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17220         of 01/12/00: Moved SetFocus back here where it belongs.
17221
17222 2000-01-23  Andy Piper  <andy@xemacs.org>
17223
17224         * s/cygwin32.h: declare printer things.
17225
17226 2000-01-26  Andy Piper  <andy@xemacs.org>
17227
17228         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17229         Alexander.
17230
17231 2000-01-24  Andy Piper  <andy@xemacs.org>
17232
17233         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17234         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17235
17236         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17237
17238         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17239
17240         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17241
17242         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17243         (mswindows_output_display_block): Avoid local shadows.
17244
17245         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17246         (mswindows_enqueue_mouse_button_event): ditto.
17247         (mswindows_handle_gui_wm_command): remove declaration.
17248
17249         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17250         warnings.
17251
17252         * console-msw.h: Avoid shadows.
17253         (mswindows_get_toolbar_button_text):
17254         (emacs_mswindows_create_stream_pair):
17255         (emacs_mswindows_delete_stream_pair):
17256         (mswindows_handle_toolbar_wm_command): declare.
17257
17258         * device-msw.c (build_syscolor_string): Avoid shadows.
17259
17260 2000-01-23  Andy Piper  <andy@xemacs.org>
17261
17262         * glyphs-widget.c (widget_instantiate): reverse the items for
17263         layouts so that children are in the expected order.
17264
17265 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17266
17267         * ralloc.c: safe_bcopy ==> memmove
17268         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17269         * s/msdos.h: Remove BCOPY macros.
17270         * insdel.c (gap_right): Remove BCOPY conditional code.
17271         * insdel.c (gap_left): Remove BCOPY conditional code.
17272         XEmacs demands a working ANSI C compiler - hence memmove.
17273
17274         * regex.c (regex_compile): Remove accidental use of trigraphs.
17275
17276 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17277
17278         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17279         event timestamp.
17280
17281 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17282
17283         * event-msw.c (mswindows_drain_windows_queue): Added the
17284         parameter.
17285         (mswindows_need_event): Commented the call to
17286         mswindows_drain_windows_queue().
17287         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17288         only.
17289
17290         * console-msw.h: Moved a few function prototypes here from
17291         event-msw.c.
17292
17293         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17294         parameter from unsigned short to unsigned long.
17295         (Fmswindows_shell_execute): Added return value.
17296
17297 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17298
17299         * sysdep.c (init_system_name):
17300           process-unix.c (unix_canonicalized_host_name):
17301         Don't call freeaddrinfo() if getaddrinfo() fails.
17302
17303         * process-unix.c (unix_open_unix_network_stream):
17304         Moved the code to get a port # into address loop.
17305
17306 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17307
17308         * buffer.c (reinit_vars_of_buffer):
17309         The right place to initialize conversion_in_dynarr and
17310         conversion_out_dynarr.
17311
17312         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17313
17314         * process-unix.c (unix_canonicalize_host_name): Muleize.
17315         (unix_open_network_stream): Muleize.
17316
17317         * buffer.h: Fix up prototypes for ralloc.c functions.
17318
17319 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17320         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17321         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17322                 instead of gethostbyname()
17323         * process-unix.c: In unix_canonicalize_host_name() and
17324                 unix_open_network_stream(), add code to use getaddrinfo()
17325                 instead of gethostbyname().
17326
17327 2000-01-27  Daniel Pittman <daniel@danann.net>
17328
17329         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17330         libs when built with flat Athena.
17331
17332 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17333
17334         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17335         Use coding standards for function prototypes.
17336
17337 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17338
17339         * dialog-msw.c (push_lisp_string_as_unicode):
17340         * doc.c (unparesseuxify_doc_string):
17341         * dired.c (Fuser_name_completion_1):
17342         * dired.c (Fuser_name_all_completions):
17343         * dired.c (free_user_cache):
17344         * dired.c (user_name_completion):
17345         * console-x.c (get_display_arg_connection):
17346         * minibuf.c (clear_echo_area_internal):
17347         * minibuf.c (echo_area_append):
17348         * eldap.c (Fldap_open):
17349         * eldap.c (Fldap_search_internal):
17350         * frame-x.c (x_set_frame_text_value):
17351         * frame-x.c (x_set_frame_properties):
17352         * frame-x.c (x_create_widgets):
17353         * redisplay-tty.c (term_get_fkeys_1):
17354         * objects-x.c (x_parse_nearest_color):
17355         * objects-x.c (x_valid_color_name_p):
17356         * objects-x.c (x_initialize_font_instance):
17357         * objects-x.c (x_list_fonts):
17358         * objects-x.c (x_find_charset_font):
17359         * tooltalk.c (Fadd_tooltalk_message_arg):
17360         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17361         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17362         * process-unix.c (unix_create_process):
17363         * ntproc.c (sys_spawnve):
17364         * sound.c (Fplay_sound_file):
17365         * sound.c (Fplay_sound):
17366         * buffer.c (init_initial_directory):
17367         * buffer.c (init_buffer):
17368         * editfns.c (init_editfns):
17369         * editfns.c (Ftemp_directory):
17370         * editfns.c (Fuser_full_name):
17371         * editfns.c (uncache_home_directory):
17372         * editfns.c (get_home_directory):
17373         * editfns.c (Fuser_home_directory):
17374         * editfns.c (Fformat_time_string):
17375         * editfns.c (Fcurrent_time_string):
17376         * gui-x.c (button_item_to_widget_value):
17377         * database.c (Fopen_database):
17378         * event-Xt.c (x_to_emacs_keysym):
17379         * event-Xt.c (x_event_to_emacs_event):
17380         * event-Xt.c (describe_event_window):
17381         * event-msw.c (mswindows_wnd_proc):
17382         * glyphs-eimage.c (jpeg_instantiate):
17383         * glyphs-eimage.c (gif_instantiate):
17384         * glyphs-eimage.c (png_instantiate):
17385         * glyphs-eimage.c (tiff_instantiate):
17386         * glyphs-x.c (xbm_instantiate_1):
17387         * glyphs-x.c (x_xbm_instantiate):
17388         * glyphs-x.c (x_xface_instantiate):
17389         * glyphs-x.c (autodetect_instantiate):
17390         * glyphs-x.c (cursor_font_instantiate):
17391         * glyphs-x.c (x_widget_instantiate):
17392         * glyphs-x.c (x_widget_set_property):
17393         * glyphs-x.c (x_widget_property):
17394         * glyphs-x.c (BUILD_GLYPH_INST):
17395         * print.c (write_string_to_stdio_stream):
17396         * print.c (output_string):
17397         * print.c (Falternate_debugging_output):
17398         * print.c (Fexternal_debugging_output):
17399         * glyphs-msw.c (extract_xpm_color_names):
17400         * glyphs-msw.c (mswindows_xpm_instantiate):
17401         * glyphs-msw.c (bmp_instantiate):
17402         * glyphs-msw.c (resource_name_to_resource):
17403         * glyphs-msw.c (mswindows_resource_instantiate):
17404         * glyphs-msw.c (xbm_instantiate_1):
17405         * glyphs-msw.c (mswindows_xbm_instantiate):
17406         * glyphs-msw.c (mswindows_xface_instantiate):
17407         * glyphs-msw.c (mswindows_widget_instantiate):
17408         * glyphs-msw.c (add_tree_item):
17409         * glyphs-msw.c (add_tab_item):
17410         * glyphs-msw.c (mswindows_combo_box_instantiate):
17411         * glyphs-msw.c (mswindows_widget_property):
17412         * glyphs-msw.c (mswindows_combo_box_property):
17413         * glyphs-msw.c (mswindows_widget_set_property):
17414         * console.c (stuff_buffered_input):
17415         * objects-msw.c (mswindows_initialize_color_instance):
17416         * objects-msw.c (mswindows_valid_color_name_p):
17417         * objects-msw.c (mswindows_list_fonts):
17418         * objects-msw.c (mswindows_font_instance_truename):
17419         * bytecode.c (optimize_compiled_function):
17420         * select-x.c (symbol_to_x_atom):
17421         * select-x.c (x_atom_to_symbol):
17422         * select-x.c (hack_motif_clipboard_selection):
17423         * select-x.c (selection_data_to_lisp_data):
17424         * select-x.c (lisp_data_to_selection_data):
17425         * select-x.c (Fx_get_cutbuffer_internal):
17426         * select-x.c (Fx_store_cutbuffer_internal):
17427         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17428         * buffer.h (TO_INTERNAL_FORMAT): New function.
17429         * emacs.c (make_arg_list_1):
17430         * emacs.c (make_argc_argv):
17431         * emacs.c (main_1):
17432         * emacs.c (Fdump_emacs):
17433         * emacs.c (split_string_by_emchar_1):
17434         * file-coding.h:
17435         * lisp.h:
17436         * lstream.h:
17437         * symsinit.h:
17438         * device-x.c (x_init_device):
17439         * device-x.c (Fx_valid_keysym_name_p):
17440         * device-x.c (Fx_get_font_path):
17441         * device-x.c (Fx_set_font_path):
17442         * glyphs.c (bitmap_to_lisp_data):
17443         * glyphs.c (pixmap_to_lisp_data):
17444         * alloc.c (make_ext_string): Use coding system arguments.  Update
17445         all callers.
17446         * alloc.c (build_string):
17447         * callproc.c (child_setup):
17448         * callproc.c (init_callproc):
17449         * fileio.c (lisp_strerror):
17450         * fileio.c (directory_file_name):
17451         * fileio.c (Fexpand_file_name):
17452         * fileio.c (Ffile_truename):
17453         * fileio.c (Fsysnetunam):
17454         * fileio.c (Fdo_auto_save):
17455         * sysdep.c (sys_readdir):
17456         * tests.c: New file.  Allow adding C tests.
17457         Replace GET_* macros with a more comprehensible and flexible
17458         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17459         Modify all calls.
17460         Any coding system can be used to do format conversion.
17461         Eliminate enum external_data_format.
17462         Eliminate convert_to_external_format.
17463         Eliminate convert_to_internal_format.
17464         Make sure file-name, keyboard, terminal, and ctext are always
17465         defined as coding systems or aliases.  Make
17466         file-name-coding-system, terminal-coding-system, and
17467         keyboard-coding-system magical variables that are equivalent to
17468         defining the corresponding coding system aliases.
17469
17470         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17471         * file-coding.c (Fcoding_system_alias_p): New function.
17472         * file-coding.c (Fcoding_system_aliasee): New function.
17473         * file-coding.c (append_suffix_to_symbol): New function.
17474         * file-coding.c (dangling_coding_system_alias_p): New function.
17475         * file-coding.c (Ffind_coding_system):
17476         * file-coding.c (Fcopy_coding_system):
17477         * file-coding.c (encode_coding_no_conversion):
17478         * file-coding.c (syms_of_file_coding):
17479         * file-coding.c (vars_of_file_coding):
17480         Rewrite coding system alias code.
17481         Allow nested aliases, like symbolic links.
17482         Allow redefinition of coding system aliases.
17483         Prevent existence of dangling coding system aliases.
17484
17485         * dired.c (Fuser_name_completion_1):
17486         * dired.c (Fuser_name_all_completions):
17487         A crash would happen if user did QUIT in the middle of building
17488         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17489
17490         * lisp.h:
17491         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17492
17493         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17494         an unsigned char *.  Update all callers.
17495
17496 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17497
17498         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17499
17500 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17501
17502         * elhash.c (hentry_description): Use more portable definition.
17503         (resize_hash_table): Initialize new hentries using
17504         xnew_array_and_zero, thereby simplifying the code.
17505
17506         * mule-charset.c (make_charset): Make sure entire object is
17507         initialized, to avoid Purify warnings.
17508
17509         * alloc.c (resize_string): Fix unlikely crash with big strings.
17510
17511 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17512
17513         * realpath.c (xrealpath):
17514         Don't call getwd().
17515
17516 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17517
17518         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17519
17520 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17521
17522         * unexelfsgi.c (unexec): Change the way we decide which segment
17523         should be extended.
17524
17525         Assumption that .bss section should be outside the PT_LOADable
17526         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17527         it's present) is inside the 'data' segment. This would fail the
17528         test which was used to find a segment to grow and cover new
17529         heap. Instead of this assumption, I created another one - on IRIX
17530         the segment to grow should start below .bss and it's address
17531         should extent above the end of .bss. Once this segment is
17532         identified, it's grown to accommodate the new heap and new
17533         zero-length .bss section is added at the end of .data2.
17534
17535 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17536
17537         * eval.c (Feval): Wrong number of arguments should use original
17538         function, not the indirect_function version of it.
17539
17540 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17541
17542         * glyphs-x.c (x_button_instantiate): Don't add image if
17543         it is not a pixmap.
17544         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17545         is relative.
17546
17547 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17548
17549         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17550         declaration.
17551         (DEFVAR_INT_MAGIC): Ditto.
17552         (DEFVAR_BOOL_MAGIC): Ditto.
17553         * glyphs.h: Reindent backslash.
17554
17555 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17556
17557         * glyphs-widget.c (layout_query_geometry):
17558         (layout_layout): Use correct types for gheight, gwidth.
17559
17560 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17561
17562         * EmacsManager.c (QueryGeometry): Purified.
17563
17564 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17565
17566         * alloc.c (make_float): Make sure entire object is initialized, to
17567         avoid Purify warnings.
17568         (pdump_register_sub): Remove useless assignment.
17569         (pdump): Use xmalloc, not malloc.
17570         (pdump_load): Use xmalloc, not malloc.
17571
17572 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17573
17574         * callproc.c:
17575         * dired-msw.c:
17576         * fileio.c:
17577         * process-nt.c:
17578         * redisplay-msw.c:
17579         * sysdep.c: Removed redundant #include <windows.h>
17580
17581 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17582
17583         * frame.c (delete_frame_internal): Do not delete device when its
17584         implementation so declares.
17585         (delete_frame_internal): Set device selected frame to nil when
17586         last frame goes away.
17587
17588         * device-msw.c (msprinter_device_system_metrics): Implemented.
17589         (mswindows_device_system_metrics): Added 'device-dpi property.
17590
17591         * device.c: (Fdevice_printer_p): Added.
17592         Added 'offset-workspace device metric.
17593
17594         * console.h (device_metrics): Declared DM_offset_workspace.
17595
17596 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17597
17598         * fileio.c (Ffile_truename): Remove pointless and confusing
17599         initialization of elen.
17600
17601         * glyphs-widget.c: Compiler warning fixes.
17602
17603 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17604
17605         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17606         instead of a Lisp_Object as argument to make it consistent with
17607         the other LIVE_P macros.
17608         (CHECK_LIVE_PROCESS): New macro.
17609
17610         * process.c: Declare Qprocess_live_p.
17611         (Fprocess_live_p): New function.
17612         (create_process): Use PROCESS_LIVE_P.
17613         (read_process_output): Ditto.
17614         (set_process_filter): Ditto.
17615         (Fdelete_process): Ditto.
17616         (kill_buffer_processes): Ditto
17617         (process_send_signal): Use CHECK_LIVE_PROCESS.
17618         (Fprocess_input_coding_system): Check whether process is still
17619         alive (fix PR#1061).
17620         (Fprocess_output_coding_system): Ditto.
17621         (Fprocess_coding_system): Ditto.
17622         (Fset_process_input_coding_system): Ditto.
17623         (Fset_process_output_coding_system): Ditto.
17624
17625 2000-01-23  Andy Piper  <andy@xemacs.org>
17626
17627         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17628         layout and widget.
17629
17630         * glyphs.c (mark_image_instance): take into account changed
17631         image_instance format.
17632         (image_instance_equal): ditto.
17633         (image_instance_hash): ditto.
17634
17635         * glyphs-widget.c (widget_instantiate): Incorporate layout
17636         instantiation here. Delay layout of the layout until later.
17637         (layout_instantiate): deleted.
17638         (layout_query_geometry): new function. get the geometry of a
17639         layout.
17640         (layout_layout): layout a layout dynamically.
17641         (image_instantiator_widget): New function - splitting up
17642         image_instantiator_format_create_glyphs_widget for netwinder
17643         compilation.
17644         (image_instantiator_buttons):
17645         (image_instantiator_edit_fields):
17646         (image_instantiator_combo_box):
17647         (image_instantiator_scrollbar):
17648         (image_instantiator_progress_guage):
17649         (image_instantiator_tree_view):
17650         (image_instantiator_tab_control):
17651         (image_instantiator_labels):
17652         (image_instantiator_layout): ditto.
17653         (image_instantiator_format_create_glyphs_widget): Call preceding
17654         functions.
17655
17656 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17657
17658         * process.c (Fset_process_coding_system):
17659         * device-x.c (Fx_keysym_hash_table):
17660         Docstring fixes.
17661
17662         * lstream.c (Lstream_write): Return documented value, not 0.
17663
17664         * fileio.c (directory_file_name):
17665         (Fsubstitute_in_file_name):
17666         (Fsubstitute_insert_file_contents_internal):
17667         (Fwrite_region_internal):
17668         * emacs.c:
17669         * sysdep.c:
17670         * getloadavg.c:
17671         * systty.h:
17672         Remove vestigial APOLLO-conditional code.
17673
17674 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17675
17676         * getpagesize.h: Add guard macros.
17677         * libsst.h: Add guard macros.
17678         * libst.h: Add guard macros.
17679         * line-number.h: Add guard macros.
17680         * ndir.h: Add guard macros.
17681         * sysfloat.h: Add guard macros.
17682         * sysfile.h: Add guard macros.
17683         * sysproc.h: Add guard macros.
17684         * syswait.h: Add guard macros.
17685         * xintrinsic.h: Add guard macros.
17686         * xintrinsicp.h: Add guard macros.
17687         * xmmanager.h: Add guard macros.
17688         * xmmanagerp.h: Add guard macros.
17689         * xmprimitive.h: Add guard macros.
17690         * xmu.h: Add guard macros.
17691         * gpmevent.h: Add copyright statement. Add guard macros.
17692         * miscplay.h: Add guard macros.
17693         * *.h: Use consistent C-standards-approved guard macro names.
17694
17695         * opaque.c (make_opaque): Switch parameter order.
17696         * opaque.h (make_opaque): Switch parameter order.
17697         Update all callers.
17698         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17699
17700         * config.h.in (type_checking_assert): Added.
17701         (bufpos_checking_assert): Added.
17702
17703 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17704
17705         * alloc.c: Harmless pdump changes.
17706         - Use countof().
17707         - spell alignment correctly.
17708         * sysdep.c: Use countof()
17709
17710 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17711
17712         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17713         initially_selected_for_input() console method, default to 0.
17714         (semi_canonicalize_console_connection): Try to delegate to
17715         canonicalize_console_connection if no such console method.
17716         (canonicalize_console_connection): Vice versa.
17717         (print_console): Do not print nil connection.
17718
17719         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17720         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17721         (XDEVIMPF_FRAMELESS_OK): Added.
17722         (CONSOLE_INHERITS_METHOD): Added.
17723
17724         * console-msw.c (mswindows_canonicalize_console_connection):
17725         Added.
17726         (mswindows_canonicalize_device_connection): Added.
17727
17728         * console-msw.h (struct msprinter_device): Added this struct and
17729         accessor macros.
17730         (mswindows_device): Made fontlist a lisp object.
17731
17732         * device.c (semi_canonicalize_device_connection):  Try to delegate
17733         to canonicalize_device_connection if no such console method.
17734         (canonicalize_device_connection): Vice versa.
17735         (print_device): Do not print nil connection.
17736
17737         * device-msw.c (mswindows_init_device): Call InitCommonControls
17738         when have widgets.
17739         (mswindows_delete_device): Removed fontlist deallocation.
17740         (mswindows_mark_device): Added.
17741
17742         * events.c (event_equal): Added abort() at unreached code.
17743         (event_hash): Ditto.
17744
17745         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17746         fallback tags of Windows devices.
17747
17748         * general.c (syms_of_general): Initialized Qmsprinter.
17749
17750         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17751         of fallback tags of Windows devices.
17752
17753         * lisp.h: Declared Qmsprinter.
17754
17755         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17756         of strings.
17757         (mswindows_list_fonts): Ditto.
17758         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17759         that it can be used by both mswindows and msprinter devices.
17760         (initialize_font_instance): Added.
17761         (mswindows_initialize_font_instance): Use it.
17762         (msprinter_initialize_font_instance): Added.
17763
17764         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17765         and implementation flags check.
17766         (redisplay_without_hooks): Changed the call to the above.
17767         (Fredraw_device): Ditto.
17768         (Fredisplay_device): Ditto.
17769
17770         * redisplay-msw.c (get_frame_dc): Implemented.
17771         (get_frame_compdc): Implemented.
17772         (many functions): Use the two functions above to get device
17773         contexts, ether for a window or a printer.
17774
17775 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17776
17777         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17778         initialization here.
17779         (init_symbols_once_early): Call it.
17780         * emacs.c (main_1): Call it.
17781         * symsinit.h: Declare it.
17782
17783 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17784
17785         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17786         Lisp_Object.
17787         (pdump_backtrace): Ditto.
17788         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17789         (pdump_get_entry): Abort if trying to register a null pointer.
17790         (pdump_dump_data): Cleanup types when relocating.
17791         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17792         (pdump_dump_rtables): Remove bad casts.
17793         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17794         Lisp_Object instead of a EMACS_INT for the hashtable
17795         reorganization.
17796
17797 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17798
17799         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17800
17801         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17802
17803         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17804
17805         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17806
17807 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17808
17809         * faces.h (FACE_STRIKETHRU_P): Added.
17810
17811         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17812         of font variants.
17813
17814         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17815         (mswindows_set_dc_font): New function, aware of font variants,
17816         separated from mswindows_update_dc.
17817
17818         * objects-msw.h (struct mswindows_font_instance_data): Added
17819         definition.
17820
17821         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17822         cached fonts and the data structure.
17823         (mswindows_initialize_font_instance): Added creation of font data
17824         structure.
17825         (mswindows_print_font_instance): Print at least something.
17826         (mswindows_create_font_variant): Implemented.
17827         (mswindows_get_hfont): Implemented.
17828
17829 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17830
17831         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17832         prototyping problem with msvc.
17833
17834         * emacs.c (main_1): added syms_of_gui_mswindows() call
17835
17836         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17837         syms_of_gui_mswindows() function
17838
17839         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17840
17841 2000-01-18  Martin Buchholz <martin@xemacs.org>
17842
17843         * XEmacs 21.2.27 is released.
17844
17845 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17846
17847         * glyphs-eimage.c (struct tiff_error_struct):
17848         (tiff_error_func):
17849         (tiff_warning_func):
17850         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17851
17852         * unexmips.c:
17853         * unexhp9k3.c:
17854         * unexfreebsd.c:
17855         * unexec.c: Remove vestigial Lucid C code.
17856         * unexalpha.c:
17857         * unexaix.c:
17858         * termcap.c:
17859         * libsst.c: Ansify.
17860         Remove declarations of errno and strerror().
17861
17862         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17863
17864         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17865
17866 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17867
17868         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17869         Optimize.
17870
17871 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17872
17873         * md5.c:
17874         * file-coding.c:
17875         * file-coding.h:
17876         Change enum eol_type to eol_type_t.
17877
17878 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17879
17880         * gui.c (get_gui_callback): Check cons before accessing car.
17881
17882 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17883
17884         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17885         (XSETSPECIFIER_TYPE): Ditto.
17886
17887 2000-01-17  Didier Verna  <didier@xemacs.org>
17888
17889         * redisplay.c (generate_fstring_runes): compute string size in
17890         characters, not bytes.
17891
17892 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17893
17894         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17895
17896 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17897
17898         * print.c (print_error_message): Call print_prepare().
17899
17900 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17901
17902         * .dbxrc: Renamed from dbxrc.
17903
17904         * events.c (event_to_character):
17905         Use `assert (foo)' instead of `if (!foo) abort()'
17906
17907         * .gdbinit (xtype): Add documentation.
17908         * .gdbinit (check-temacs): New function.
17909         * .gdbinit (check-xemacs): New function.
17910         * dbxrc (check-xemacs): New function.
17911         * dbxrc (check-xemacs): New function.
17912
17913 2000-01-14  Andy Piper  <andy@xemacs.org>
17914
17915         * glyphs-widget.c (widget_query_geometry): Make sure that we
17916         calculate default dimensions correctly.
17917
17918 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17919
17920         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17921
17922         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17923         pdump_wire'd variable.
17924
17925         * emacs.c: (main_1): Conditionalized calls to
17926         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17927
17928 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17929
17930         * window.c (Fset_window_configuration):
17931         * sysdep.c (_start):
17932         * input-method-motif.c (res):
17933         * event-Xt.c (Xt_process_to_emacs_event):
17934         Simple compiler warning fixes.
17935
17936         * bytecode.c (funcall_compiled_function): Use the original
17937         function symbol on the backtrace list in preference to the
17938         compiled_function object in error messages.
17939
17940 2000-01-13  Andy Piper  <andy@xemacs.org>
17941
17942         * glyphs-x.c (update_widget_face): Make sure we update the widget
17943         background as well as foreground.
17944
17945 2000-01-13  Andy Piper  <andy@xemacs.org>
17946
17947         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17948         fields to subwindow.
17949         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17950         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17951         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17952         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17953
17954         * glyphs-widget.c (check_valid_tab_orientation): new function.
17955         (initialize_widget_image_instance): zero orientation and
17956         justification.
17957         (widget_instantiate): pick up orientation.
17958         (tab_control_query_geometry): return appropriate values for
17959         vertical tabs.
17960
17961         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17962         appropriate creation flags for left, right and bottom tabs.
17963
17964         * s/cygwin32.h: add tab definitions.
17965
17966 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17967
17968         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17969         frame upon hiding a subwindow.
17970         (mswindows_button_instantiate): Changed the push button style to
17971         BS_PUSHBUTTON.
17972         (mswindows_button_instantiate): Removed button BS_NOTIFY
17973         style.
17974         (mswindows_button_instantiate): Removed redundant check for
17975         a disabled gui item.
17976         (mswindows_button_instantiate): Made use of WS_TABSTOP
17977         consistent: "operable" controls (edit, button, tree, scroll) have
17978         this style, "display-only" ones (static, progress gauge) do
17979         not. This style is currently ignored by XEmacs though. Also,
17980         removed the WS_EX_CONTROLPARENT style - it is not for children,
17981         it is for their parents!
17982         (mswindows_edit_field_instantiate): Ditto.
17983         (mswindows_progress_gauge_instantiate): Ditto.
17984         (mswindows_tree_view_instantiate): Ditto.
17985         (mswindows_tab_control_instantiate): Ditto.
17986         (mswindows_scrollbar_instantiate): Ditto.
17987         (mswindows_combo_box_instantiate): Ditto.
17988         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17989         style to the "clip" window.
17990         (mswindows_button_instantiate): Removed compilation warning by
17991         equally typing terms of the ?: operator.
17992
17993 2000-01-12  Didier Verna  <didier@xemacs.org>
17994
17995         * redisplay.c (generate_fstring_runes): new parameter holding the
17996         last modeline-format extent.
17997         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17998         extent, fill the glyph block with it.
17999         (generate_fstring_runes): handle these parameters.
18000         (generate_formatted_string_db): ditto.
18001
18002         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
18003         glyphs'extents in the modeline.
18004
18005 1999-01-11  Mike Woolley  <mike@bulsara.com>
18006
18007         * ntheap.c: Reduced the reserved heap space from 1Gb down to
18008         256Mb, as a workaround for the non-starting problem many people
18009         have experienced.
18010
18011 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
18012
18013         * console-tty.c (Fset_console_tty_output_coding_system):
18014         Force redrawing tty frame.
18015
18016 2000-01-10  Didier Verna  <didier@xemacs.org>
18017
18018         * redisplay.c (generate_fstring_runes): fix size computation bug.
18019
18020 2000-01-09  William M. Perry <wmperry@aventail.com>
18021
18022         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
18023
18024 2000-01-09  Andy Piper  <andy@xemacs.org>
18025
18026         * glyphs-msw.c: index -> i to avoid shadows.
18027         (xbm_create_bitmap_from_data): make static.
18028         (check_valid_string_or_int): deleted.
18029         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
18030
18031         * glyphs-x.c (x_update_subwindow): remove unused args.
18032
18033         * glyphs.c (glyph_image_instance): return the thing. Don't set the
18034         back pointer - this is done in allocate_image_instance.
18035         (query_string_font): return Qnil to make the compiler happy.
18036         (unmap_subwindow): set to ~0 to make the compiler happy.
18037         (glyph_query_geometry): comment out until used.
18038         (glyph_layout): ditto.
18039
18040 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18041
18042         * insdel.c (signal_after_change): Remove extraneous unbind_to().