update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * concord.c (Fconcord_object_put): Check argument FEATURE is a
4         symbol.
5
6 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
7
8         * text-coding.c (struct decoding_stream): Add new member
9         `bom_flag' in XEmacs CHISE.
10         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
11         in XEmacs CHISE.
12
13 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * mule-charset.c: Move definition of `=jis-x0208@1978' to
16         lisp/mule/mule-conf.el.
17
18 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
19
20         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
21         (make_charset): Add new argument `partial'.
22         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
23         (Fmake_reverse_direction_charset): Modify for `make_charset'.
24         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
25         CHISE.
26         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
27         `=jis-x0208' as a partial coded-charset.
28
29 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * text-coding.c (decode_add_er_char): Fix problem when a character
32         represented by an entity-reference is not defined.
33
34 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
37         Qrep_*.
38
39 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
42         (Kasagi).
43
44 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
47         is a relation feature.
48
49 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
50
51         * chartab.c (syms_of_chartab): Define
52         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
53
54         * chartab.h (Q_denotational): New extern when UTF2000 or
55         HAVE_CONCORD is defined.
56         (Q_denotational_from): Likewise.
57         (Q_subsumptive): Likewise.
58         (Q_subsumptive_from): Likewise.
59
60 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
61
62         * concord.c (concord_object_put): New function.
63         (Fconcord_object_put): Use `concord_object_put'.
64
65 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
66
67         * concord.c (Fconcord_define_object): New function.
68         (syms_of_concord): Add new builtin function
69         `concord-define-object'.
70
71 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
74         (Kamo).
75
76 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
77
78         * concord.c: Add EXFUN for Fconcord_object_get.
79         (Vconcord_genre_object_hash_table): New variable.
80         (concord_genre_cache_get_object): New function.
81         (concord_genre_cache_put_object): New function.
82         (Fconcord_make_object): Use object cache; put object-ID into `=id'
83         feature.
84         (Fconcord_object_put): Call `concord_index_sync' after
85         `concord_index_strid_put_obj'.
86         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
87
88 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
89
90         * concord.c (Fconcord_decode_object): Do GCPRO for
91         Fconcord_make_object.
92         (func_for_each_object): Likewise; do GCPRO for
93         for_each_object_closure->function.
94         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
95         for_each_object_closure->function, for_each_object_closure->genre,
96         for_each_object_closure->ds and for_each_object_closure->ret.
97         (concord_object_validate): Do GCPRO for Fconcord_make_object.
98
99 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
100
101         * concord.c: Add EXFUNs for Fconcord_decode_object and
102         Fconcord_object_put.
103         (Fconcord_make_object): Change order of arguments.
104         (Fconcord_decode_object): Modify for Fconcord_make_object.
105         (func_for_each_object): Likewise.
106         (concord_object_validate): Likewise.
107         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
108
109 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
110
111         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
112
113 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
114
115         * concord.c (Fconcord_decode_object): Try to use readable print
116         form as a key of Concord-index.
117         (Fconcord_object_get): Try to use readable print form as an ID of
118         Concord-object.
119         (Fconcord_object_put): Try to use readable print form as an ID of
120         Concord-object and a feature value.
121         (Fconcord_object_spec): Try to use readable print form as an ID of
122         Concord-object.
123
124 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
125
126         * concord.c (print_concord_object): Support readable form.
127
128 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
129
130         * emacs.c (main_1): Call `structure_type_create_concord' when
131         HAVE_CONCORD is defined.
132
133         * symsinit.h (structure_type_create_concord): New prototype.
134
135         * concord.c (Qconcord_object): New variable.
136         (Qgenre): Likewise.
137         (Q_id): Likewise.
138         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
139         for directory.
140         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
141         char*> for genre-name.
142         (Fconcord_feature_list): Likewise.
143         (Fconcord_make_object): Likewise.
144         (Fconcord_decode_object): Likewise; use <char*> instead of
145         <unsigned char*> for feature_name and strid.
146         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
147         c_obj and feature_name.
148         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
149         char*> for c_value.
150         (struct closure_for_object_spec): Use <char*> instead of <unsigned
151         char*> for member `object_id'.
152         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
153         char*> for feature-name.
154         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
155         for c_obj.
156         (func_for_each_object): Cast to avoid warnings.
157         (Fconcord_foreach_object_in_feature): Use <char*> instead of
158         <unsigned char*> for genre_name and feature_name.
159         (concord_name_validate): New function.
160         (concord_object_validate): Likewise.
161         (concord_object_instantiate): Likewise.
162         (syms_of_concord): Add new builtin symbols `concord-object',
163         `genre' and `=id'.
164         (structure_type_create_concord): New function.
165
166 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
167
168         * concord.c (Vconcord_ds_hash_table): New variable.
169         (Vconcord_genre_hash_table): New variable.
170         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
171         (Fconcord_ds_directory): New function.
172         (Fconcord_assign_genre): New function.
173         (Fconcord_genre_directory): New function.
174         (Fconcord_genre_ds): New function.
175         (Fconcord_feature_list): Allow to omit `ds'.
176         (Fconcord_make_object): Likewise.
177         (Fconcord_decode_object): Likewise.
178         (Fconcord_foreach_object_in_feature): Likewise.
179         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
180         Fconcord_assign_genre, Fconcord_genre_directory and
181         Fconcord_genre_ds.
182         (vars_of_concord): Setup Vconcord_ds_hash_table and
183         Vconcord_genre_hash_table.
184
185 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
186
187         * concord.c (struct closure_for_each_object): Add new member
188         `ret'.
189         (func_for_each_object): Setup the return value to
190         `for_each_object_closure->ret'.
191         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
192         returns the value instead of Qt.
193
194 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
195
196         * concord.c: New file.
197
198 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
199
200         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
201         `lrecord_type_concord_object'.
202
203 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
204
205         * symsinit.h (syms_of_concord): New prototype.
206         (vars_of_concord): New prototype.
207
208         * emacs.c (main_1): Setup symbols and variable about concord if
209         HAVE_CONCORD is defined.
210
211         * config.h.in (HAVE_CONCORD): New macro.
212
213 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * chartab.c (Fput_char_attribute): For each character relation
216         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
217
218 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
219
220         * chartab.c (Fput_char_attribute): Use
221         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
222         calling `put_char_composition'.
223
224 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
225
226         * chartab.c (Q_halfwidth_of): New variable.
227         (put_char_composition): Return `<-halfwidth' instead of
228         `=decomposition' for compatibility mapping to single character
229         tagged `narrow'.
230         (Fput_char_attribute): Convert char-specs in value of
231         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
232         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
233         for `<-halfwidth'.
234         (syms_of_chartab): Add new symbol `<-halfwidth'.
235
236 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
237
238         * chartab.c (put_char_composition): Return
239         `<-formed@{isolated|initial|medial|final}' for compatibility
240         mapping to single character tagged
241         `{isolated|initial|medial|final}'.
242
243 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
244
245         * chartab.c (Q_compat_of): Deleted.
246         (put_char_composition): Return `<-FOO' for compatibility mapping
247         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
248         of `symbol_name (XSYMBOL(...))'.
249         (Fput_char_attribute): Convert char-specs in value of
250         `{<-|->}font[^*]*' to characters and put reverse links.
251         (Fsave_char_attribute_table): Don't refer Q_compat_of.
252         (syms_of_chartab): Delete builtin symbol `<-compat'.
253
254 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
255
256         * chartab.c (Q_circled_of): New variable.
257         (put_char_composition): Return `<-circled' instead of
258         `=decomposition' for compatibility mapping to single character
259         tagged `circle'.
260         (Fput_char_attribute): Convert char-specs in value of
261         `{<-|->}circled[^*]*' to characters and put reverse links.
262         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
263         for `<-circled'.
264         (syms_of_chartab): Add new symbol `<-circled'.
265
266 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
267
268         * chartab.c (Qto_decomposition_at_circled): New variable.
269         (put_char_composition): Return `=>decomposition@circled' instead
270         of `=decomposition' for compatibility decomposition mapping tagged
271         `circle'.
272         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
273
274 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
275
276         * chartab.c (Q_subscript_of): New variable.
277         (put_char_composition): Return `<-subscript' instead of
278         `=decomposition' for compatibility mapping to single character
279         tagged `sub'.
280         (Fput_char_attribute): Convert char-specs in value of
281         `{<-|->}subscript[^*]*' to characters and put reverse links.
282         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
283         for `<-subscript'.
284         (syms_of_chartab): Add new symbol `<-subscript'.
285
286 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
287
288         * chartab.c (Q_superscript_of): New variable.
289         (put_char_composition): Return `<-superscript' instead of
290         `=decomposition' for compatibility mapping to single character
291         tagged `super'.
292         (Fput_char_attribute): Convert char-specs in value of
293         `{<-|->}superscript[^*]*' to characters and put reverse links.
294         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
295         for `<-superscript'.
296         (syms_of_chartab): Add new symbol `<-superscript'.
297
298 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
299
300         * chartab.c (Qto_decomposition_at_compat): Deleted.
301         (Qto_decomposition_at_superscript): New variable.
302         (put_char_composition): Use `=>decomposition@superscript' instead
303         of `=decomposition' for compatibility decomposition mapping tagged
304         `super'.
305         (Fput_char_attribute): Fix condition about `put_char_composition'.
306         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
307         add news symbol `=>decomposition@superscript'.
308
309 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
310
311         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
312         for compatibility decomposition mapping tagged FOO.
313         (Fput_char_attribute): Modify for `put_char_composition'.
314
315 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
316
317         * chartab.c (Qto_decomposition_at_compat): New variable.
318         (Q_compat_of): Renamed from `Q_compatibility_of'.
319         (put_char_composition): Rename `Q_compatibility_of' to
320         `Q_compat_of'; return `=>decomposition@compat' for compatibility
321         decomposition mapping.
322         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
323         `Q_compat_of'.
324         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
325         `<-compatibility' to `<-compat'.
326
327 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
328
329         * chartab.c (Q_compatibility_of): New variable.
330         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
331         object is proved to be a cons cell; return `<-compatibility' if
332         the first element of argument `value' is `compat'.
333         (Fput_char_attribute): Eliminate the first value if
334         `put_char_composition' returns `<-compatibility'.
335         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
336         for `<-compatibility'.
337         (syms_of_chartab): Add new symbol `<-compatibility'.
338
339 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
340
341         * chartab.c (Q_canonical): New variable.
342         (put_char_composition): Return a feature name: return
343         `->canonical' if argument `value' specifies single character.
344         (Fput_char_attribute): Use `put_char_composition' to determine
345         feature name for `=decomposition' or `->denotational'.
346         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
347         for `->canonical'.
348         (syms_of_chartab): Add new symbol `->canonical'.
349
350 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
351
352         * chartab.c (Qmap_decomposition): New variable.
353         (Fput_char_attribute): Convert `->decomposition' to
354         `=decomposition'.
355         (syms_of_chartab): Add new symbol `=decomposition'.
356
357 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * chartab.c (Fget_range_char_table): Fix serious problem when
360         `range' is nil.
361
362 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
363
364         * chartab.c (char_table_get_db): Use `read_from_c_string'.
365
366 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
367
368         * lread.c (read_from_c_string): New function.
369
370         * lisp.h (read_from_c_string): New prototype.
371
372 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
373
374         * chartab.c (Fput_char_attribute): Convert char-specs in value of
375         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
376         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
377         for `{<-|->}Oracle-Bones[^*]*'.
378
379 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
380
381         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
382         (Kizu).
383
384 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
385
386         * text-coding.c (Qccs_priority_list): New variable in XEmacs
387         CHISE.
388         (Fmake_coding_system): Support new property `ccs-priority-list' in
389         XEmacs CHISE.
390         (Fcoding_system_property): Likewise.
391         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
392         Vdefault_coded_charset_priority_list in XEmacs CHISE.
393         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
394         XEmacs CHISE.
395         (complex_vars_of_file_coding): Define new coding-system-property
396         `ccs-priority-list' in XEmacs CHISE.
397
398         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
399
400 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
401
402         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
403         changed to normal function.
404         (encode_char_2): Likewise.
405
406         * mule-charset.c (decoding_table_put_char): Copied from
407         char-ucs.h; changed to normal function.
408         (encode_char_2): Likewise.
409
410 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
411
412         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
413         New extern.
414         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
415         (encode_char_2_search_children): New inline function.
416         (encode_char_2): Refer
417         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
418         and use `encode_char_2_search_children'.
419
420 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
421
422         * mule-charset.c
423         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
424         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
425         (vars_of_mule_charset): Add new variable
426         `display-coded-charset-priority-use-inheritance' and
427         `display-coded-charset-priority-use-hierarchy-order'.
428
429 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
430
431         * char-ucs.h (Q_subsumptive): New extern.
432         (Q_denotational): Likewise.
433         (encode_char_2): Search children specified by `->subsumptive' and
434         `->denotational'.
435
436 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * mule-charset.c (complex_vars_of_mule_charset): Modify the
439         X-registry of `ucs-bmp'.
440
441 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * chartab.c (char-variants): Refer `->subsumptive',
444         `->denotational' and `->identical' as same as `->ucs-unified'.
445
446 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
447
448         * chartab.c (Fput_char_attribute): Convert char-specs in value of
449         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
450         links.
451
452 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
453
454         * text-coding.c: Add EXFUN for `Fregexp_quote'.
455         (decode_add_er_char): Fix problem about infinite loop when a CCS
456         specified in `coded-charset-entity-reference-alist' is not
457         existed.
458
459 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * mule-charset.c (syms_of_mule_charset): Rename
462         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
463
464 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
465
466         * fns.c (simplify_char_spec): Don't allocate new character-object
467         if specified char_spec does not have any CCS-features.
468
469         * chartab.h: Add EXFUN for Fdefine_char.
470
471         * chartab.c: Delete EXFUN for Fdefine_char.
472
473 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * fns.c (simplify_char_spec): Use Fdefine_char instead of
476         Ffind_char for char-spec.
477
478 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * lisp-disunion.h (XCHARVAL): Fix condition about
481         SIZEOF_EMACS_INT.
482
483 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
484
485         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
486         <int> for `code'.
487         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
488         point; use <Emchar> instead of <int> for character-id.
489
490 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
491
492         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
493         (make_char): Likewise.
494         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
495         environment.
496         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
497         instead of <int> as the type of return value; use <Lisp_Object>
498         instead of <Emchar> as the type of argument.
499         (XCHARVAL[macro version]): Cast the result into <Emchar>.
500
501         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
502         syntaxcode> instead of <int>.
503
504 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
505
506         * chartab.c (put_char_composition): Use DECODE_CHAR to get
507         character corresponding with UCS code point.
508         (Fput_char_attribute): Likewise.
509
510         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
511         character in the UCS decoding-table if the char-id is not equal to
512         the UCS code point.
513
514 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
515
516         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
517         for aliases; write `description'; write
518         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
519         not 0.
520
521 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
522
523         * chartab.c (Fsave_char_attribute_table): Don't use
524         `save_charset_properties'.
525
526         * mule-charset.c (Fsave_charset_properties): Renamed from
527         `save_charset_properties' and changed to Lisp function again;
528         write property `type' as `CCS'; write properties `final-byte' and
529         `mother' if they exists.
530         (syms_of_mule_charset): Revive builtin function
531         `save-charset-properties' when HAVE_LIBCHISE is defined.
532
533 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
534
535         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
536         instead of Vexec_directory.
537         (char_attribute_system_db_file): Likewise.
538
539 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
540
541         * chartab.c (Fsave_char_attribute_table): Use
542         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
543         defined.
544
545         * mule-charset.c (save_charset_properties): Renamed from
546         `Fsave_charset_properties'; changed to non-Lisp function.
547         (syms_of_mule_charset): Abolish builtin function
548         `save-charset-properties'.
549
550 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
551
552         * mule-charset.c (Fsave_charset_properties): New function when
553         HAVE_LIBCHISE is defined.
554         (syms_of_mule_charset): Add new builtin function
555         `save-charset-properties' when HAVE_LIBCHISE is defined.
556
557 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
558
559         * chartab.c (Fput_char_attribute): Convert char-specs in value of
560         `{<-|->}ancient[^*]*' to characters and put reverse links.
561         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
562         for `{<-|->}ancient[^*]*'.
563
564 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
565
566         * chartab.c (Fput_char_attribute): Convert char-specs in value of
567         `{<-|->}original[^*]*' to characters and put reverse links.
568         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
569         for `{<-|->}original[^*]*'.
570
571 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
572
573         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
574
575 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
576
577         * mule-charset.c (Qsystem_char_id): New variable.
578
579         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
580         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
581
582 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
583
584         * chartab.c (Fput_char_attribute): When processing a reference of
585         a character, put into the end of the reversed reference of each
586         target character.
587
588 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
589
590         * chartab.c (Q_same): Deleted.
591         (Q_same_of): Deleted.
592         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
593         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
594         for `{<-|->}same'.
595         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
596
597 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
598
599         * chartab.c (Q_vulgar): Deleted.
600         (Q_vulgar_of): Deleted.
601         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
602         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
603         for `{<-|->}vulgar'.
604         (syms_of_chartab): Don't define `{<-|->}vulgar'.
605
606 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
607
608         * chartab.c (Fput_char_attribute): Convert char-specs in value of
609         `{<-|->}wrong[^*]*' to characters and put reverse links.
610         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
611         for `{<-|->}wrong[^*]*'.
612
613 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
614
615         * chartab.c (Q_vulgar): New variable.
616         (Q_vulgar_of): New variable.
617         (Fput_char_attribute): Convert char-specs in value of
618         `{->|<-}vulgar' to characters and put reverse links.
619         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
620         for `{->|<-}vulgar'.
621         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
622
623 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * text-coding.c (decode_add_er_char): Must to quote prefix string
626         as regexp.
627
628 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * mule-charset.c (put_char_ccs_code_point): Store characters of
631         =ucs whose code_points >= 0xF0000.
632
633 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
634
635         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
636         CHISE.
637         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
638         CHISE.
639         (complex_vars_of_mule_charset): Add new coded-charset
640         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
641         builtin characters over 0xEFFFF.
642
643         * chartab.c (syms_of_chartab): Don't define symbol
644         `system-char-id' in every case.
645
646         * char-ucs.h (Qsystem_char_id): New extern variable.
647         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
648
649 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * text-coding.c (char_encode_utf8): Try to use entity-references
652         for U-000F0000 ...  U-0010FFFF.
653
654 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
655
656         * text-coding.c (ER_BUF_SIZE): New macro.
657         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
658         `er_buf'.
659         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
660         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
661
662 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
663
664         * chartab.c (find_char_feature_in_family): New function.
665         (Fchar_feature): Use `find_char_feature_in_family' with
666         `->identical', `<-subsumptive' and `<-denotational'.
667
668 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
669
670         * text-coding.c (char_encode_as_entity_reference): Allow prefix
671         within 8 characters; fix infinite loop.
672
673 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
674
675         * chartab.c (Q_same): New variable.
676         (Q_same_of): New variable.
677         (Fput_char_attribute): Convert char-specs in value of
678         `{->|<-}same' to characters and put reverse links.
679         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
680         for `{->|<-}same'.
681         (syms_of_chartab): Add new symbols `{->|<-}same'.
682
683 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
684
685         * chartab.c (Q_component): New variable.
686         (Q_component_of): Likewise.
687         (Fput_char_attribute): Convert char-specs in value of
688         `{->|<-}ideographic-component-forms' to characters and put reverse
689         links.
690         (syms_of_chartab): Add new symbols
691         `{->|<-}ideographic-component-forms'.
692
693 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
694
695         * chartab.c (Q_identical): New variable.
696         (Q_identical_from): New variable.
697         (Fchar_feature): Regard `->identical' as a feature to find
698         ancestors.
699         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
700         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
701         for `{->|<-}identical'.
702         (syms_of_chartab): Add new symbols `{->|<-}identical'.
703
704 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * char-ucs.h (encode_char_2): New inline function.
707         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
708
709 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
710
711         * chartab.c (Fput_char_attribute): Convert char-specs to
712         characters in value of `ideographic-structure'.
713         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
714         for `{<-|->}simplified(@...)'.
715         (Fdefine_char): Try to use predefined character's id.
716
717 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
718
719         * fns.c (simplify_char_spec): Try to convert builtin chars to
720         defined chars.
721
722 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
723
724         * chartab.c (Fput_char_attribute): Convert char-specs in value of
725         `<-simplified[^*]*' to characters and put reverse links.
726
727 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
728
729         * chartab.c (Q_subsumptive): Renamed from Q_unified.
730         (Q_subsumptive_from): Renamed from Q_unified_from.
731         (Fchar_feature): Use `Q_subsumptive_from' instead of
732         `Q_unified_from'.
733         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
734         `Q_unified'.
735         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
736         `<-unified' to `<-subsumptive'.
737
738 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
739
740         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
741         inheritance itself; fix typo; stop recursive search if cyclic
742         inheritance is found.
743
744 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
745
746         * chartab.c (Q_denotational): New variable.
747         (Q_denotational_from): New variable.
748         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
749         (put_char_attribute): New function.
750         (Fput_char_attribute): Use `put_char_attribute'; regard
751         `->denotational' and `<-denotational' as same as `->unified' and
752         `<-unified'.
753         (syms_of_chartab): Add new symbols `->denotational' and
754         `<-denotational'.
755
756 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
757
758         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
759         `Fget_char_attribute'.
760         (Fchar_variants): Likewise.
761         (get_char_table): Likewise.
762         (Fchar_feature): New function.
763         (put_char_composition): Use `Fchar_feature' instead of
764         `Fget_char_attribute'.
765         (Fput_char_attribute): Likewise; don't put the target character
766         into its `->unified' value.
767         (syms_of_chartab): Add new builtin function `char-feature'.
768
769 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
770
771         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
772         `Fget_char_attribute'.
773         (char_encode_utf8): Likewise.
774
775         * chartab.h: Add an EXFUN for `Fchar_feature'.
776
777 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
778
779         * chartab.c (Vnext_defined_char_id): New variable.
780         (Fput_char_attribute): Accept characters in `->unified'.
781         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
782         new characters which are not related with builtin char-id ranges.
783         (vars_of_chartab): Add new variable `next-defined-char-id'.
784
785 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
786
787         * chartab.c (Q_unified): New variable.
788         (Q_unified_from): New variable.
789         (Fput_char_attribute): Add code for `->unified'.
790         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
791         XEmacs CHISE.
792
793 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
794
795         * mule-charset.c (decode_ccs_conversion): New function.
796         (decode_defined_char): Use `decode_ccs_conversion'.
797         (decode_builtin_char): Likewise.
798
799 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
800
801         * char-ucs.h: Change some charset-ids of private coded-charsets.
802
803 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
804
805         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
806         (char_encode_as_entity_reference): Likewise.
807         (decode_coding_big5): Modify for `decode_defined_char' and
808         `DECODE_CHAR'.
809         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
810         avoid compiler warning.
811         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
812
813         * mule-charset.c (decode_defined_char): Add new argument
814         `without_inheritance'.
815         (Fdecode_char): Add new optional argument `without_inheritance'.
816         (Fdecode_builtin_char): Modify for `Fdecode_char'.
817
818         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
819         (simplify_char_spec): Likewise.
820
821         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
822         setting.
823
824         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
825         (map_char_table): Likewise.
826         (Fdefine_char): Use `Fdecode_char' without inheritance.
827         (Ffind_char): Modify for `Fdecode_char'.
828
829         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
830
831         * char-ucs.h (decode_defined_char): Add new argument
832         `without_inheritance'.
833         (DECODE_CHAR): Likewise.
834         (MAKE_CHAR): Modify for `DECODE_CHAR'.
835
836 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * chartab.c (Vchise_system_db_directory): New variable.
839         (vars_of_chartab): Add new variable `chise-system-db-directory'.
840
841 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
842
843         * chartab.c: EXFUN `Fmount_char_attribute_table'.
844         (print_chartab_range): Don't define when `UTF2000' is defined.
845         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
846         `CHISE_DS_open'.
847
848 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
849
850         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
851         and optional argument `rehash' is specified, call
852         `open_chise_data_source_maybe' before
853         `chise_ds_foreach_char_feature_name' is called.
854
855 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
856
857         * chartab.c (char_attribute_list_reset_map_func): New function
858         when HAVE_LIBCHISE is defined.
859         (Fchar_attribute_list): Add new optional argument `rehash' when
860         HAVE_LIBCHISE is defined.
861         (open_chise_data_source_maybe): Use "chise-db" instead of
862         "char-db".
863         (char_attribute_system_db_file): Likewise.
864         (Fload_char_attribute_table): Use
865         `chise_feature_foreach_char_with_value' instead of
866         `chise_char_feature_value_iterate'.
867
868 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
869
870         * chartab.c (Vchise_db_directory): New variable.
871         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
872
873 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
874
875         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
876         instead of HAVE_CHISE to specify using with libchise.
877
878         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
879
880         * chartab.h: Don't use HAVE_CHISE_CLIENT.
881
882         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
883         defined or HAVE_LIBCHISE_LIBCHISE is defined.
884         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
885         is defined.
886         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
887         HAVE_CHISE to specify using with libchise.
888         (syms_of_chartab): Don't define symbol `system-char-id' when
889         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
890
891 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
892
893         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
894         specify CHISE DB support.
895         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
896         of `char_attribute_system_db_file' to check feature DB file.
897
898         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
899         HAVE_CHISE_CLIENT to specify CHISE DB support.
900
901         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
902         specify CHISE DB support.
903         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
904         not defined.
905         (Freset_char_attribute_table): Use `chise_feature_setup_db'
906         instead of `char_attribute_system_db_file' to check feature DB
907         file.
908
909 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
912         `HAVE_CHISE_CLIENT'.
913
914 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
915
916         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
917         (Fsave_charset_mapping_table): Don't use
918         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
919
920         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
921         (HAVE_LIBCHISE): New macro.
922
923         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
924
925         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
926         (Fsave_char_attribute_table): Don't use
927         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
928
929 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
930
931         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
932         defined.
933         (save_uint16_byte_table): Likewise.
934         (save_byte_table): Likewise.
935         (char_table_get_db): Use `chise_ds_load_char_feature_value'
936         instead of `chise_char_load_feature_value'.
937         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
938
939 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
940
941         * chartab.h (struct Lisp_Char_Table): Delete member
942         `feature_table' if CHISE is defined.
943
944         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
945         (Fcopy_char_table): Likewise.
946         (char_table_open_db_maybe): Likewise.
947         (char_table_close_db_maybe): Likewise.
948         (char_table_get_db): Likewise.
949         (Fmount_char_attribute_table): Likewise.
950         (Fload_char_attribute_table): Likewise.
951
952 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
953
954         * mule-charset.c (load_char_decoding_entry_maybe): Use
955         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
956         `chise_ccs_decode'.
957
958 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
959
960         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
961         instead of `chise_open_data_source'.
962         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
963         `chise_ds_close'.
964
965 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
966
967         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
968         instead of `chise_ds_open_feature_table'.
969         (char_table_close_db_maybe): Don't use `chise_ft_close'.
970
971 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
972
973         * mule-charset.c (Fsave_charset_mapping_table): Use
974         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
975         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
976         `chise_ccs_sync' instead of `chise_ccst_close'.
977         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
978
979         * chartab.c (open_chise_data_source_maybe): Modify for
980         `chise_open_data_source'.
981         (char_table_open_db_maybe): Modify for
982         `chise_ds_open_feature_table'.
983
984 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
985
986         * mule-charset.c (load_char_decoding_entry_maybe): Use
987         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
988         `chise_ccst_close'.
989
990 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
991
992         * mule-charset.c (Fsave_charset_mapping_table): Use
993         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
994         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
995         `chise_dt_put_char' and `chise_dt_close'.
996         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
997         `chise_ccs_decode' and `chise_ccst_close' instead of
998         `chise_ds_open_decoding_table', `chise_dt_get_char' and
999         `chise_dt_close'.
1000
1001         * chartab.c (char_table_get_db): Use
1002         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
1003         (load_char_attribute_table_map_func): Modify for
1004         `chise_char_feature_value_iterate'.
1005         (Fload_char_attribute_table): Use
1006         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1007
1008 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1009
1010         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1011
1012 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1013
1014         * chartab.c (put_char_table): Modify for inherited coded-charsets
1015         in XEmacs CHISE.
1016
1017 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1018
1019         * chartab.c (Fput_char_table_map_function): Fixed.
1020         (word_boundary_p): Don't check charset in XEmacs CHISE.
1021
1022 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1023
1024         * mule-charset.c (Fsave_charset_mapping_table): Use
1025         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1026         instead of `chise_open_decoding_table'; refer
1027         `default_chise_data_source'; use `chise_dt_close' instead of
1028         `chise_close_decoding_table'.
1029         (load_char_decoding_entry_maybe): Likewise.
1030
1031         * chartab.c (default_chise_data_source): New variable when `CHISE'
1032         is defined.
1033         (Fcopy_char_table): `ct->ds' is deleted.
1034         (open_chise_data_source_maybe): New function.
1035         (Fclose_char_data_source): New function.
1036         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1037         use `chise_ds_open_feature_table' instead of
1038         `chise_open_feature_table'.
1039         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1040         `chise_close_feature_table'; `cit->ds' is deleted.
1041         (syms_of_chartab): Add new builtin function
1042         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1043
1044         * chartab.h (default_chise_data_source): New extern variable.
1045         (open_chise_data_source_maybe): New prototype.
1046         (struct Lisp_Char_Table): Delete `ds'.
1047
1048 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1049
1050         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1051         `CHISE' is defined.
1052
1053 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1054
1055         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1056         not defined; add code for non-libchise setting.
1057         (char_table_close_db_maybe): Likewise.
1058         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1059         defined.
1060         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1061         even if `CHISE' is not defined.
1062         (Freset_char_attribute_table): Likewise.
1063         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1064         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1065         `char_table_get_db'.
1066         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1067         `char_table_close_db_maybe' even if `CHISE' is not defined.
1068
1069 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1070
1071         * chartab.c (char_table_open_db_maybe): New function.
1072         (char_table_close_db_maybe): New function.
1073         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1074         (Freset_char_attribute_table): Likewise.
1075         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1076         `char_table_close_db_maybe'.
1077         (Fload_char_attribute_table): Likewise.
1078
1079 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1080
1081         * chartab.c: Don't include <chise.h> because it is included in
1082         chartab.h.
1083         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1084         defined.
1085         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1086         `CHISE' is defined.
1087         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1088         `CHISE' is defined.
1089         (Fclose_char_attribute_table): Close `ct->feature_table' and
1090         `ct->ds' when `CHISE' is defined.
1091         (Freset_char_attribute_table): Likewise.
1092         (load_char_attribute_maybe): Use `cit->ds' and
1093         `cit->feature_table' when `CHISE' is defined.
1094         (Fload_char_attribute_table): Likewise.
1095
1096         * chartab.h: Include <chise.h> when `CHISE' is defined.
1097         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1098         when `CHISE' is defined.
1099
1100 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1101
1102         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1103         is defined.
1104         (char_table_description): Likewise.
1105         (Fmake_char_table): Likewise.
1106         (Fcopy_char_table): Likewise.
1107         (Fmount_char_attribute_table): Likewise.
1108         (Fclose_char_attribute_table): Likewise.
1109         (Freset_char_attribute_table): Likewise.
1110         (load_char_attribute_maybe): Likewise.
1111         (Fload_char_attribute_table): Likewise.
1112
1113         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1114         defined.
1115
1116 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1117
1118         * chartab.c (load_char_attribute_table_map_func): New function
1119         when CHISE is defined.
1120         (Qload_char_attribute_table_map_function): Don't define when CHISE
1121         is defined.
1122         (Fload_char_attribute_table_map_function): Likewise.
1123         (Fload_char_attribute_table): Use libchise when `CHISE' is
1124         defined.
1125         (syms_of_chartab): Don't define
1126         `load-char-attribute-table-map-function' when CHISE is defined.
1127
1128 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1129
1130         * chartab.c: Include <chise.h> when `CHISE' is defined.
1131         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1132
1133 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1134
1135         * mule-charset.c (charset_code_point): Fix problem when searching
1136         in mother CCS fails with `defined_only' mode.
1137
1138 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1139
1140         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1141         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1142         (put_char_composition): Likewise.
1143         (Fput_char_attribute): Likewise.
1144         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1145
1146 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1147
1148         * chartab.c (Q_ucs): Deleted.
1149         (Fput_char_attribute): Don't refer `->ucs'.
1150         (Fdefine_char): Likewise.
1151         (Ffind_char): Likewise.
1152         (syms_of_chartab): Delete `->ucs'.
1153
1154 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1155
1156         * mule-charset.c (Qmap_cns11643_2): Renamed from
1157         `Qchinese_cns11643_2'.
1158         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1159         `chinese-cns11643-2'.
1160         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1161         `=cns11643-2'.
1162
1163 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1164
1165         * mule-charset.c (Qmap_cns11643_1): Renamed from
1166         `Qchinese_cns11643_1'.
1167         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1168         `chinese-cns11643-1'.
1169         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1170         `=cns11643-1'.
1171
1172 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1173
1174         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1175         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1176         `chinese-gb12345'.
1177         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1178         `=gb12345'.
1179
1180 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1181
1182         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1183         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1184         `chinese-gb2312'.
1185         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1186         `=gb2312'.
1187
1188 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1189
1190         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1191         (syms_of_mule_charset): Add new symbol `=big5' instead of
1192         `chinese-big5'.
1193         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1194
1195 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1196
1197         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1198         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1199         `korean-ksc5601'.
1200         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1201         `=ks-x1001'.
1202
1203 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1204
1205         * mule-charset.c (Qmap_jis_x0212): Renamed from
1206         `Qjapanese_jisx0212'.
1207         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1208         `japanese-jisx0212'.
1209         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1210         `=jis-x0212'.
1211
1212 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1213
1214         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1215         `Qjapanese_jisx0208'.
1216         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1217         of `japanese-jisx0208'.
1218         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1219         `=jis-x0208-1983'.
1220
1221 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1222
1223         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1224         `Qjapanese_jisx0208_1978'.
1225         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1226         of `japanese-jisx0208-1978'.
1227         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1228         `=jis-x0208-1978'.
1229
1230 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1231
1232         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1233         only for XEmacs CHISE.
1234
1235 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1236
1237         * char-ucs.h: Compact non-ISO-IR charset-ids.
1238         (LEADING_BYTE_UCS): Changed to -177.
1239         (LEADING_BYTE_CONTROL_1): Changed to -77.
1240         (LEADING_BYTE_UCS_BMP): Changed to -176.
1241         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1242
1243 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1244
1245         * mule-charset.c (Qiso_ir): New variable.
1246         (Fmake_charset): Recognise new property `iso-ir'.
1247         (syms_of_mule_charset): Add new symbol `iso-ir'.
1248
1249 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1250
1251         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1252         n to -n; charset-id of non ISO-IR sets are changed to positive
1253         numbers.
1254
1255 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1256
1257         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1258         for &MCS-XXXXXXXX; values.
1259
1260 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1261
1262         * mule.c (Vxemacs_chise_version): Renamed from
1263         `Vutf_2000_version'.
1264         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1265         `utf-2000-version' as an alias for `xemacs-chise-version'.
1266
1267 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1268
1269         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1270         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1271         defined.
1272
1273         * config.h.in (CHISE): New macro.
1274
1275 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1276
1277         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1278         of `ucs'.
1279         (Qmap_ucs): New variable.
1280         (syms_of_mule_charset): Add new symbol `=ucs'.
1281         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1282
1283         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1284         (simplify_char_spec): Likewise.
1285
1286         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1287
1288         * char-ucs.h (Qmap_ucs): New extern variable.
1289
1290 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1291
1292         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1293         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1294         don't define it when UTF2000 is not defined.
1295         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1296         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1297         when UTF2000 is not defined.
1298         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1299         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1300
1301 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1302
1303         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1304
1305         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1306         (Qucs_gb): Deleted.
1307         (syms_of_mule_charset): Delete `ucs-gb'.
1308         (complex_vars_of_mule_charset): Likewise.
1309
1310 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1311
1312         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1313
1314         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1315         (Qucs_cns): Deleted.
1316         (syms_of_mule_charset): Delete `ucs-cns'.
1317         (complex_vars_of_mule_charset): Likewise.
1318
1319 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1320
1321         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1322
1323         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1324         (Qucs_jis): Deleted.
1325         (syms_of_mule_charset): Delete `ucs-jis'.
1326         (complex_vars_of_mule_charset): Likewise.
1327
1328 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1329
1330         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1331
1332         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1333         (Qucs_ks): Deleted.
1334         (syms_of_mule_charset): Delete `ucs-ks'.
1335         (complex_vars_of_mule_charset): Likewise.
1336
1337 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1338
1339         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1340         (Qideograph_daikanwa_2): Deleted.
1341         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1342         (complex_vars_of_mule_charset): Likewise.
1343
1344         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1345         (LEADING_BYTE_DAIKANWA_1): Deleted.
1346         (LEADING_BYTE_DAIKANWA_2): Deleted.
1347         (MIN_CHAR_DAIKANWA): Deleted.
1348         (MAX_CHAR_DAIKANWA): Deleted.
1349
1350 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1351
1352         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1353         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1354         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1355
1356         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1357         (Vcharset_ideograph_daikanwa): Deleted.
1358         (Qideograph_hanziku_{1..12}): Deleted.
1359         (Qideograph_daikanwa): Deleted.
1360         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1361         Vcharset_ideograph_daikanwa.
1362         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1363         `ideograph-hanziku-{1..12}'.
1364         (complex_vars_of_mule_charset): Likewise.
1365
1366 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1367
1368         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1369
1370         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1371         (Qideograph_gt_pj_{1..11}): Deleted.
1372         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1373         (complex_vars_of_mule_charset): Likewise.
1374
1375 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1376
1377         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1378         (Vcharset_ideograph_gt): Deleted.
1379         (Qucs_big5): Deleted.
1380         (Qideograph_gt): Deleted.
1381         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1382         `ideograph-gt'.
1383         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1384         and `ideograph-gt'.
1385
1386         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1387         (LEADING_BYTE_GT): Deleted.
1388         (MIN_CHAR_GT): Deleted.
1389         (MAX_CHAR_GT): Deleted.
1390
1391 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1392
1393         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1394
1395 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1396
1397         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1398         (save_uint16_byte_table): Likewise.
1399         (save_byte_table): Likewise; convert values by it.
1400         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1401         for `ideographic-structure'.
1402         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1403         as the filter for `ideographic-structure'.
1404
1405 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1406
1407         * chartab.c (put_char_composition): New function.
1408         (Fput_char_attribute): Use `put_char_composition'; use
1409         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1410
1411         * fns.c (simplify_char_spec): New function.
1412         (char_ref_simplify_spec): New function.
1413         (Fchar_refs_simplify_char_specs): New function.
1414         (syms_of_fns): Add new builtin function
1415         `char-refs-simplify-char-specs'.
1416
1417 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1418
1419         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1420         (Qideograph_cbeta): Deleted.
1421         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1422         (complex_vars_of_mule_charset): Likewise.
1423
1424         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1425         (MIN_CHAR_CBETA): Comment out.
1426         (MAX_CHAR_CBETA): Likewise.
1427
1428 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1429
1430         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1431         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1432         CHISE client feature.
1433
1434 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1435
1436         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1437
1438 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1439
1440         * mule-charset.c (charset_lookup_description_1): Use
1441         `NUM_LEADING_BYTES' in UTF-2000.
1442
1443 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1444
1445         * char-ucs.h (GC_CHARSETP): Deleted.
1446
1447 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1448
1449         * char-ucs.h (MAX_CHAR_GT): Updated.
1450
1451 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1452
1453         * text-coding.c: Sync with XEmacs 21.4.10.
1454
1455 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1456
1457         * mule-charset.c (Vcharset_china3_jef): Deleted.
1458         (Qchina3_jef): Deleted.
1459         (syms_of_mule_charset): Don't define `china3-jef'.
1460         (complex_vars_of_mule_charset): Likewise.
1461
1462         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1463         (MIN_CHAR_CHINA3_JEF): Comment out.
1464         (MAX_CHAR_CHINA3_JEF): Comment out.
1465
1466 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1467
1468         * mule-charset.c (Vcharset_ucs_gb): New variable.
1469         (Qucs_gb): New variable.
1470         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1471         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1472
1473         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1474
1475 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1476
1477         * mule-charset.c (charset_code_point): if a coded-charset has a
1478         final-byte, don't inherit the builtin range of the mother CCS.
1479
1480 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1481
1482         * mule-charset.c (charset_code_point): Fix problem about
1483         inheritance.
1484
1485 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1486
1487         * mule-charset.c (decode_builtin_char): Reorganized.
1488
1489 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1490
1491         * text-coding.c (char_encode_as_entity_reference): Modify for
1492         `charset_code_point'.
1493         (char_encode_shift_jis): Likewise.
1494         (char_encode_big5): Likewise.
1495         (char_encode_utf8): Likewise.
1496         (char_encode_iso2022): Likewise.
1497
1498         * mule-charset.c (charset_code_point): Add new argument
1499         `defined_only'.
1500         (Fencode_char): Add new optional argument `defined_only'.
1501
1502         * chartab.c (put_char_table): Modify for `charset_code_point'.
1503
1504         * char-ucs.h (charset_code_point): Add new argument
1505         `defined_only'.
1506         (encode_char_1): Modify for `charset_code_point'.
1507
1508 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1509
1510         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1511         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1512
1513 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1514
1515         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1516         (Qjis_x0208): Likewise.
1517         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1518         XCHARSET_FINAL(charset).
1519         (charset_code_point): Modify condition for final-byte based
1520         builtin-chars.
1521         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1522         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1523         in UTF-2000; specify `=jis-x0208' as the mother of
1524         `japanese-jisx0208-1978', `japanese-jisx0208' and
1525         `japanese-jisx0208-1990' in UTF-2000.
1526
1527 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1528
1529         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1530
1531 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1532
1533         * text-coding.c (decode_coding_utf16): Support UTF-16.
1534         (char_encode_utf16): Fixed.
1535
1536 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1537
1538         * text-coding.c (Qutf16): New variable in MULE.
1539         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1540         (Fcoding_system_type): Add `utf-16' in MULE.
1541         (struct detection_state): Add a structure for utf16 in MULE.
1542         (detect_coding_type): Setup st->utf16.mask in MULE.
1543         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1544         MULE.
1545         (reset_encoding_stream): Use `char_encode_utf16' and
1546         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1547         (detect_coding_utf16): New function [incomplete].
1548         (decode_coding_utf16): New function [support only UCS-2].
1549         (char_encode_utf16): New function.
1550         (char_finish_utf16): New function.
1551         (syms_of_file_coding): Add new symbol `utf-16'; setup
1552         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1553
1554         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1555         UTF-2000.
1556         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1557         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1558
1559 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1560
1561         * chartab.c (put_char_table): When a charset is specified as a
1562         range in UTF-2000, don't support builtin characters.
1563
1564 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1565
1566         * mule-charset.c (decode_defined_char): Don't refer external
1567         database if Qunbound or Qnil are found.
1568         (Fsave_charset_mapping_table): Don't define it if
1569         HAVE_CHISE_CLIENT is not defined.
1570         (Freset_charset_mapping_table): New function.
1571         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1572         found in external database.
1573         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1574         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1575         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1576
1577 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1578
1579         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1580         not.
1581
1582 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1583
1584         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1585         Q_lowercase, Q_uppercase in UTF-2000.
1586
1587         * chartab.c (get_char_table): Add special code for the standard
1588         case table to use character attribute `->downcase' and
1589         `->uppercase' for case operations in UTF-2000.
1590
1591         * casetab.c (Qflippedcase): New variable in UTF-2000.
1592         (Q_lowercase): Likewise.
1593         (Q_uppercase): Likewise.
1594         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1595         and `->uppercase' in UTF-2000.
1596         (complex_vars_of_casetab): Assign attribute name `downcase' to
1597         downcase and CANON table of Vstandard_case_table in UTF-2000;
1598         assign attribute name `flippedcase' to upcase and EQV table of
1599         Vstandard_case_table in UTF-2000.
1600
1601 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1602
1603         * text-coding.c (decode_add_er_char): Support isolated-chars.
1604         (char_encode_as_entity_reference): Likewise.
1605
1606 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1607
1608         * emacs.c (Vutf_2000_lisp_directory): New variable.
1609         (Vconfigure_utf_2000_lisp_directory): Likewise.
1610         (complex_vars_of_emacs): Add new variable
1611         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1612
1613 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1614
1615         * char-ucs.h (DECODE_CHAR): Delete special code for
1616         `chinese-big5-1' and `chinese-big5-2'.
1617
1618         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1619         (Qbig5_2): Likewise.
1620         (decode_defined_char): Support CONVERSION_BIG5_1 and
1621         CONVERSION_BIG5_2.
1622         (decode_builtin_char): Likewise.
1623         (charset_code_point): Likewise.
1624         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1625         'conversion in UTF-2000.
1626         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1627         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1628         `chinese-big5-2' as children of `chinese-big5'.
1629
1630         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1631         (CONVERSION_BIG5_2): New macro.
1632
1633 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1634
1635         * text-coding.c (char_encode_big5): Support entity-reference.
1636
1637 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1638
1639         * text-coding.c (char_encode_as_entity_reference): New function.
1640         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1641
1642 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1643
1644         * text-coding.c (decode_coding_big5): Support entity-reference
1645         decoding feature.
1646
1647 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1648
1649         * text-coding.c (allocate_coding_system): Initialize initial
1650         charsets for CODESYS_UTF8.
1651         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1652         charset-g2 for CODESYS_UTF8.
1653         (decode_coding_utf8): Use charset-g0.
1654         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1655         to force variants to map to UCS.
1656
1657 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1658
1659         * text-coding.c (Qutf_8_mcs): New variable.
1660         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1661         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1662         instead of `utf-8' in UTF-2000.
1663
1664 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1665
1666         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1667         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1668         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1669         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1670         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1671         CONVERSION_96x96x96x96 are introduced.
1672         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1673         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1674         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1675
1676         * char-ucs.h (CONVERSION_94): New macro.
1677         (CONVERSION_96): New macro.
1678         (CONVERSION_94x94): New macro.
1679         (CONVERSION_96x96): New macro.
1680         (CONVERSION_94x94x94): New macro.
1681         (CONVERSION_96x96x96): New macro.
1682         (CONVERSION_94x94x94x60): New macro.
1683         (CONVERSION_94x94x94x94): New macro.
1684         (CONVERSION_96x96x96x96): New macro.
1685
1686 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1687
1688         * chartab.c (Vcharacter_variant_table): Deleted.
1689         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1690         of `Vcharacter_variant_table'.
1691         (Fput_char_attribute): Likewise.
1692         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1693         (complex_vars_of_chartab): Likewise.
1694
1695 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1696
1697         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1698
1699         * fns.c (Qideographic_structure): New variable.
1700         (Qkeyword_char): New variable.
1701         (ids_format_unit): New function.
1702         (Fideographic_structure_to_ids): New function.
1703         (syms_of_fns): Add new symbols `ideographic-structure' and
1704         `:char'; add new builtin function `ideographic-structure-to-ids'.
1705
1706         * data.c (Fchar_ref_p): New function.
1707         (syms_of_data): Add new builtin function `char-ref-p'.
1708
1709         * chartab.h: Add an EXFUN for `Ffind_char'.
1710
1711 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1712
1713         * text-coding.c (Vcharacter_composition_table): Deleted.
1714         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1715         in every UTF-2000.
1716
1717         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1718         UTF-2000.
1719         (Vcharacter_composition_table): Deleted.
1720         (Fget_composite_char): Use the implementation for external-DB
1721         support in every UTF-2000.
1722         (Fput_char_attribute): Likewise.
1723         (char_attribute_system_db_file): Don't define if external-DB
1724         feature is not available.
1725         (Fsave_char_attribute_table): Likewise.
1726         (Fmount_char_attribute_table): Likewise.
1727         (Fclose_char_attribute_table): Likewise.
1728         (Freset_char_attribute_table): Likewise.
1729         (Fload_char_attribute_table): Likewise.
1730         (syms_of_chartab): Don't define `save-char-attribute-table',
1731         `mount-char-attribute-table', `reset-char-attribute-table',
1732         `close-char-attribute-table' and `load-char-attribute-table' if
1733         external-DB feature is not available.
1734         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1735
1736 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1737
1738         * text-coding.c (Qcomposition): Add extern if external-DB feature
1739         is supported.
1740         (Vcharacter_composition_table): Don't add extern if external-DB
1741         feature is supported.
1742         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1743         character composition rule if external-DB feature is supported.
1744
1745         * chartab.c (Vcharacter_composition_table): Don't define if
1746         external-DB feature is supported.
1747         (Qcomposition): New variable.
1748         (Fget_composite_char): New implementation for external-DB support.
1749         (Fput_char_attribute): Use `composition' property of each
1750         character instead of `Vcharacter_composition_table' to store
1751         character-composition rules if external-DB feature is supported.
1752         (syms_of_chartab): Add new symbol `composition'.
1753         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1754         external-DB feature is supported.
1755
1756 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1757
1758         * chartab.c (Vchar_db_stingy_mode): New variable.
1759         (load_char_attribute_maybe): Close database if
1760         Vchar_db_stingy_mode is not NIL.
1761         (Fload_char_attribute_table_map_function): Use
1762         `get_char_id_table_0' instead of `get_char_id_table'.
1763         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1764
1765         * chartab.h (get_char_id_table_0): New inline function.
1766         (get_char_id_table): Use `get_char_id_table_0'.
1767
1768 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1769
1770         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1771         and `COMPOSE_ADD_CHAR'.
1772         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1773
1774 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1775
1776         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1777         instead of `DECODE_ADD_UCS_CHAR'.
1778         (COMPOSE_ADD_CHAR): Likewise.
1779
1780 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1781
1782         * text-coding.c (decode_flush_er_chars): New inline function.
1783         (decode_add_er_char): New function.
1784         (decode_coding_utf8): Use `decode_flush_er_chars' and
1785         `decode_add_er_char'.
1786
1787 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1788
1789         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1790         done before `decode_output_utf8_partial_char'.
1791
1792         * mule-charset.c (complex_vars_of_mule_charset): Specify
1793         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1794         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1795
1796 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1797
1798         * mule-charset.c (decode_defined_char): New function; search
1799         mother.
1800         (decode_builtin_char): Don't search mother if
1801         XCHARSET_MAX_CODE(charset) == 0.
1802         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1803         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1804         (Fdecode_char): Use `decode_defined_char' instead of
1805         `DECODE_DEFINED_CHAR'.
1806         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1807         mother of `Vcharset_ucs_jis'.
1808
1809         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1810         instead of `DECODE_DEFINED_CHAR'.
1811
1812         * char-ucs.h (decode_defined_char): Renamed from
1813         `DECODE_DEFINED_CHAR'; changed to normal function.
1814         (DECODE_CHAR): Use `decode_defined_char' instead of
1815         `DECODE_DEFINED_CHAR'.
1816
1817         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1818
1819 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1820
1821         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1822
1823         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1824         variable.
1825         (Quse_entity_reference): New variable.
1826         (Qd): New variable.
1827         (Qx): New variable.
1828         (QX): New variable.
1829         (coding_system_description): Add description for
1830         `ccs_priority_list'.
1831         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1832         (allocate_coding_system): Initialize `ccs_priority_list' in
1833         UTF-2000.
1834         (Fmake_coding_system): Add description about
1835         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1836         (codesys).
1837         (Fcoding_system_property): Accept `disable-composition' and
1838         `use-entity-reference' in UTF-2000.
1839         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1840         in UTF-2000.
1841         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1842         (decode_coding_utf8): Decode entity-reference if
1843         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1844         (char_encode_utf8): Encode non-Unicode characters as
1845         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1846         (str->codesys).
1847         (syms_of_file_coding): Add new symbols `use-entity-reference',
1848         `d', `x', `X'.
1849         (vars_of_file_coding): Add new variable
1850         `coded-charset-entity-reference-alist'.
1851         (complex_vars_of_file_coding): Declare `disable-composition' and
1852         `use-entity-reference' to be coding-system-properties in UTF-2000.
1853
1854         * file-coding.h (struct Lisp_Coding_System): Add new member
1855         `use_entity_reference' and `ccs_priority_list'.
1856         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1857         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1858         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1859
1860 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1861
1862         * chartab.c (save_uint8_byte_table): Don't clear the table.
1863         (save_uint16_byte_table): Likewise.
1864         (save_byte_table): Likewise.
1865         (Fmount_char_attribute_table): New function.
1866         (syms_of_chartab): Add new builtin function
1867         `mount-char-attribute-table'.
1868
1869 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1870
1871         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1872         "w+" mode.
1873         (load_char_decoding_entry_maybe): Open database as read-only mode.
1874
1875         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1876         open database as "w+" mode.
1877         (load_char_attribute_maybe): Open database as read-only mode.
1878         (Fload_char_attribute_table): Likewise.
1879
1880 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1881
1882         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1883         (char_table_description): Delete member `db_file'.
1884         (Fmake_char_table): Don't refer `ct->db_file'.
1885         (Fcopy_char_table): Likewise.
1886         (Fsave_char_attribute_table): Likewise.
1887         (Fclose_char_attribute_table): Likewise.
1888         (Freset_char_attribute_table): Likewise.
1889         (load_char_attribute_maybe): Likewise.
1890         (Fload_char_attribute_table): Likewise.
1891
1892         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1893
1894 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1895
1896         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1897         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1898         `ct->db' is living.
1899         (load_char_attribute_maybe): Likewise.
1900         (Fload_char_attribute_table): Likewise.
1901
1902 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1903
1904         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1905         `ct->db_file' unconditionally.
1906
1907 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1908
1909         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1910         UTF-2000.
1911         (char_table_description): Add description for `db_file' and `db'
1912         in UTF-2000.
1913         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1914         UTF-2000.
1915         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1916         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1917         (Fclose_char_attribute_table): New function.
1918         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1919         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1920         and `cit->db'.
1921         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1922         (syms_of_chartab): Add new builtin function
1923         `Fclose_char_attribute_table'.
1924
1925 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1926
1927         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1928         `db' in UTF-2000.
1929         (load_char_attribute_maybe): Change interface.
1930         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1931
1932 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1933
1934         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1935
1936 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1937
1938         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1939         instead of `DECODE_CHAR' for mother; don't use special code for
1940         chinese-big5 to use code space of chinese-big5-1 and
1941         chinese-big5-2.
1942         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1943         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1944
1945         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1946         (MAX_CHAR_BIG5_CDP): Revival.
1947
1948 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1949
1950         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1951         the XLFD registry-encoding name of `chinese-big5'.
1952
1953 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1954
1955         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1956         (Qchinese_big5_cdp): Deleted.
1957         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1958         (complex_vars_of_mule_charset): Delete coded-charset
1959         `chinese-big5-cdp'.
1960
1961         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1962         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1963         `CHARSET_ID_OFFSET - n' for private CCS.
1964         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1965         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1966         of `MIN_LEADING_BYTE'.
1967         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1968         `(CHARSET_ID_OFFSET - 97)'.
1969         (MIN_CHAR_BIG5_CDP): Deleted.
1970         (MAX_CHAR_BIG5_CDP): Deleted.
1971
1972 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1973
1974         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1975
1976 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1977
1978         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1979         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1980         chartab.c].
1981
1982         * chartab.c (Vutf_2000_version): Moved to mule.c.
1983         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1984
1985 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1986
1987         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1988         when HAVE_CHISE_CLIENT is not defined.
1989
1990         * mule.c (vars_of_mule): Provide feature `chise' when
1991         HAVE_CHISE_CLIENT is defined.
1992
1993 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1994
1995         * config.h.in (UTF2000): Add comment.
1996         (HAVE_CHISE_CLIENT): New macro.
1997
1998 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1999
2000         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
2001         CONSP.
2002         (Fput_char_attribute): Likewise.
2003         (char_attribute_system_db_file): Encode file-name of attribute.
2004         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2005         the initial value.
2006
2007 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2008
2009         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2010         (Fsave_charset_mapping_table): Use
2011         `char_attribute_system_db_file'.
2012         (load_char_decoding_entry_maybe): Likewise.
2013
2014         * chartab.h (Qsystem_char_id): New external variable.
2015         (char_attribute_system_db_file): New prototype.
2016
2017         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2018         (char_attribute_system_db_file): New function.
2019         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2020         (Freset_char_attribute_table): Likewise.
2021         (load_char_attribute_maybe): Likewise.
2022         (Fload_char_attribute_table): Likewise.
2023         (syms_of_chartab): Add new symbol `system-char-id'.
2024
2025 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2026
2027         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2028         `XCHARSET_GRAPHIC(ccs)'.
2029
2030 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2031
2032         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2033
2034 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2035
2036         * chartab.c (Q_ucs_variants): New variable.
2037         (syms_of_chartab): Add new symbol `->ucs-variants'.
2038         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2039         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2040         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2041
2042         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2043
2044         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2045         `HAVE_DATABASE' is defined.
2046         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2047         `HAVE_DATABASE' is defined.
2048
2049 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2050
2051         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2052         attribute-table.
2053         (Freset_char_attribute_table): New function.
2054         (syms_of_chartab): Add new builtin function
2055         `reset-char-attribute-table'.
2056
2057 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2058
2059         * chartab.c (load_char_attribute_maybe): Don't make directories.
2060
2061 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2062
2063         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2064
2065         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2066         for decoding-table.
2067
2068 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2069
2070         * mule-charset.c (Fsave_charset_mapping_table): Use
2071         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2072
2073         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2074         instead of `XCHARSET_CHARS'.
2075
2076 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2077
2078         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2079         (XCHARSET_BYTE_SIZE): Likewise.
2080
2081         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2082         mule-charset.c].
2083         (XCHARSET_BYTE_SIZE): Likewise.
2084
2085 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2086
2087         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2088         data-directory to store database.
2089         (Fsave_char_attribute_table): Likewise.
2090         (load_char_attribute_maybe): Likewise.
2091         (Fload_char_attribute_table): Likewise.
2092
2093 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2094
2095         * mule-charset.c (Fsave_charset_mapping_table): New function.
2096         (syms_of_mule_charset): Add new builtin function
2097         `save-charset-mapping-table'.
2098
2099 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2100
2101         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2102         (get_ccs_octet_table): New inline function.
2103         (put_ccs_octet_table): Likewise.
2104         (decoding_table_put_char): Use `get_ccs_octet_table' and
2105         `put_ccs_octet_table'.
2106         (decoding_table_remove_char): Use `decoding_table_put_char'.
2107         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2108
2109         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2110         into encoding_table.
2111         (make_charset): Use Qunbound instead Qnil as initial value of
2112         decoding_table.
2113
2114 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2115
2116         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2117         element is Qunloaded.
2118         (map_over_uint16_byte_table): Likewise.
2119         (map_over_byte_table): Likewise.
2120         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2121         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2122         database support, load encoding-table of the specified
2123         coded-charset if it is not loaded yet.
2124         (save_uint8_byte_table): New function of UTF-2000 with external
2125         database support.
2126         (save_uint16_byte_table): Likewise.
2127         (save_byte_table): Likewise.
2128         (Fput_char_attribute): Don't store value into external database
2129         even if the external database feature is supported in UTF-2000;
2130         set `attribute' as name of char-table if the external database
2131         feature is supported.
2132         (Fsave_char_attribute_table): New function in UTF-2000.
2133         (syms_of_chartab): Add new builtin function
2134         `save-char-attribute-table' in UTF-2000.
2135
2136 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2137
2138         * chartab.c (char_attribute_table_to_put): New variable in
2139         UTF-2000.
2140         (Qput_char_table_map_function): Likewise.
2141         (value_to_put): Likewise.
2142         (Fput_char_table_map_function): New function in UTF-2000.
2143         (put_char_table): Use `Fmap_char_attribute' for
2144         CHARTAB_RANGE_CHARSET in UTF-2000.
2145         (Fput_char_attribute): Store symbol instead of string in
2146         `XCHAR_TABLE_NAME (table)'.
2147         (load_char_attribute_maybe): Likewise.
2148         (syms_of_chartab): Add new symbol/function
2149         `put-char-table-map-function'.
2150
2151 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2152
2153         * database.h: Add new EXFUN for `Fmap_database'.
2154
2155         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2156         (syms_of_database): Likewise.
2157
2158         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2159         UTF-2000.
2160         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2161         (XCHAR_TABLE_UNLOADED): Likewise.
2162
2163         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2164         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2165         HAVE_DATABASE is defined.
2166         (char_attribute_table_to_load): New variable of UTF-2000 with
2167         external database support.
2168         (Qload_char_attribute_table_map_function): Likewise.
2169         (Fload_char_attribute_table_map_function): New function of
2170         UTF-2000 with external database support.
2171         (Fload_char_attribute_table): New function of UTF-2000.
2172         (Fmap_char_attribute): Call Fload_char_attribute_table if
2173         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2174         (syms_of_chartab): Add new symbol and function
2175         `load-char-attribute-table-map-function' in UTF-2000 with external
2176         database support; add new function `load-char-attribute-table' in
2177         UTF-2000.
2178
2179 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2180
2181         * chartab.h (load_char_attribute_maybe): New prototype for
2182         UTF-2000 with DATABASE support.
2183         (get_char_id_table): Use `load_char_attribute_maybe' if
2184         HAVE_DATABASE is defined.
2185
2186         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2187         with DATABASE support.
2188
2189 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2190
2191         * chartab.c (Fput_char_attribute): Use S-expression as key of
2192         external database.
2193
2194         * chartab.h (get_char_id_table): Use S-expression as key of
2195         external database.
2196
2197 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2198
2199         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2200         if an element is not loaded, load the corresponding attributes
2201         from an external database.
2202         (map_over_uint16_byte_table): Likewise.
2203         (map_over_byte_table): Likewise.
2204         (map_char_table): Modify for `map_over_uint8_byte_table',
2205         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2206         element is not loaded, load the corresponding attributes from an
2207         external database.
2208         (Fput_char_attribute): Change initial values to Qunloaded.
2209
2210         * chartab.h (get_char_id_table): If a character attribute is not
2211         loaded and the attribute value is not found in an external
2212         database, store Qunbound as the attribute value.
2213
2214 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2215
2216         * chartab.c (BT_UINT8_unloaded): New macro.
2217         (UINT8_VALUE_P): Accept Qunloaded.
2218         (UINT8_ENCODE): Likewise.
2219         (UINT8_DECODE): Likewise.
2220         (BT_UINT16_unloaded): New macro.
2221         (UINT16_VALUE_P): Accept Qunloaded.
2222         (UINT16_ENCODE): Likewise.
2223         (UINT16_DECODE): Likewise.
2224         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2225         BT_UINT16_unloaded.
2226         (mark_char_table): Mark `ct->name' in UTF-2000.
2227         (char_table_description): Add `name' in UTF-2000.
2228         (Fmake_char_table): Initialize `ct->name'.
2229         (Fcopy_char_table): Copy `ct->name'.
2230         (Fput_char_attribute): Store value into an external database if
2231         HAVE_DATABASE is defined.
2232
2233         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2234         UTF-2000.
2235         (CHAR_TABLE_NAME): New macro in UTF-2000.
2236         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2237         (get_char_id_table): Try to read an external database if Qunloaded
2238         is stored in a table.
2239
2240         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2241         Qunloaded.
2242
2243 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2244
2245         * database.h: Add EXFUN definitions for Fopen_database,
2246         Fput_database, Fget_database and Fclose_database.
2247
2248         * data.c (Qunloaded): New variable in UTF-2000.
2249
2250         * lisp.h (Qunloaded): New variable in UTF-2000.
2251
2252 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2253
2254         * mule-charset.c (put_char_ccs_code_point): Modify for
2255         `decoding_table_remove_char' and `decoding_table_put_char'.
2256         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2257
2258         * char-ucs.h (decoding_table_remove_char): Change arguments to
2259         hide decoding_table vector.
2260         (decoding_table_put_char): Likewise.
2261
2262 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2263
2264         * mule-charset.c (decoding_table_remove_char): Moved to
2265         char-ucs.h.
2266         (decoding_table_put_char): Likewise.
2267
2268         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2269         from mule-charset.c].
2270         (decoding_table_remove_char): New inline function [moved from
2271         mule-charset.c].
2272         (decoding_table_put_char): Likewise.
2273
2274 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2275
2276         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2277         extension.
2278
2279 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2280
2281         * mule-charset.c (decode_builtin_char): Support mother charsets.
2282
2283 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2284
2285         * mule-charset.c (Q94x94x60): New variable.
2286         (charset_code_point): Support conversion `94x94x60'.
2287         (Fmake_charset): Likewise.
2288         (syms_of_mule_charset): Add new symbol `94x94x60'.
2289
2290         * char-ucs.h (CONVERSION_94x94x60): New macro.
2291
2292 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2293
2294         * mule-charset.c (charset_code_point): Unify code about
2295         `code-offset'.
2296
2297 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2298
2299         * mule-charset.c (charset_code_point): Merge code about builtin
2300         characters into code about mother charsets; don't use
2301         `range_charset_code_point'.
2302         (range_charset_code_point): Deleted.
2303
2304 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2305
2306         * mule-charset.c (Qcode_offset): New variable.
2307         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2308         `max-code'; accept new property `code-offset'.
2309         (syms_of_mule_charset): Add new symbol `code-offset'.
2310
2311 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2312
2313         * mule-charset.c (range_charset_code_point): Fixed.
2314
2315 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2316
2317         * mule-charset.c (decode_builtin_char): Change semantics of
2318         code-offset of coded-charset.
2319         (charset_code_point): Likewise.
2320         (range_charset_code_point): Likewise.
2321         (complex_vars_of_mule_charset): Modify for the change.
2322
2323 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2324
2325         * mule-charset.c (Fencode_char): Reverse arguments.
2326
2327         * mule-charset.c (charset_code_point): Fixed.
2328
2329 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2330
2331         * mule-charset.c (Vcharset_mojikyo): Deleted.
2332         (Vcharset_mojikyo_2022_1): Deleted.
2333         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2334         (Qmin_code): New variable in UTF-2000.
2335         (Qmax_code): Likewise.
2336         (Qmother): Likewise.
2337         (Qconversion): Likewise.
2338         (Q94x60): Likewise.
2339         (Qmojikyo): Deleted.
2340         (Qmojikyo_2022_1): Deleted.
2341         (Qmojikyo_pj_{1..22}): Deleted.
2342         (mark_charset): Mark `cs->mother'.
2343         (charset_description): Add description for `mother'.
2344         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2345         new arguments `mother' and `conversion'; use
2346         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2347         (charset_code_point): Moved from char-ucs.h; support `mother'
2348         charset feature.
2349         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2350         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2351         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2352         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2353         allow 2 as the value of `graphic' in UTF-2000; add new properties
2354         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2355         require `final' in UTF-2000; modify for `make_charset'.
2356         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2357         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2358         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2359         (Fencode_char): New function.
2360         (syms_of_mule_charset): Add new builtin function `encode-char' in
2361         UTF-2000; add new symbols `min-code', `max-code', `mother',
2362         `conversion' and `94x60'; delete symbols `mojikyo',
2363         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2364         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2365         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2366         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2367
2368         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2369         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2370
2371         * char-ucs.h (Vcharset_mojikyo): Deleted.
2372         (Vcharset_mojikyo_2022_1): Deleted.
2373         (LEADING_BYTE_MOJIKYO): Deleted.
2374         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2375         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2376         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2377         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2378         add new member `mother'; add new member `conversion'.
2379         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2380         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2381         (CHARSET_MOTHER): New macro.
2382         (CHARSET_CONVERSION): New macro.
2383         (CONVERSION_IDENTICAL): New macro.
2384         (CONVERSION_94x60): New macro.
2385         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2386         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2387         (XCHARSET_MOTHER): New macro.
2388         (XCHARSET_CONVERSION): New macro.
2389         (MIN_CHAR_MOJIKYO): Deleted.
2390         (MAX_CHAR_MOJIKYO): Deleted.
2391         (DECODE_MOJIKYO_2022): Deleted.
2392         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2393         (charset_code_point): Changed to non-inline function.
2394         (encode_char_1): Use `charset_code_point'.
2395         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2396
2397 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2398
2399         * lread.c (read_compiled_function): Fix prototype.
2400         (read_vector): Likewise.
2401
2402 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2403
2404         * lrecord.h (struct lrecord_header): Delete `older'.
2405         (set_lheader_implementation): Delete code for `older'.
2406         (set_lheader_older_implementation): Deleted.
2407         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2408         (OLDER_RECORD_P): Deleted.
2409         (OLDER_RECORD_HEADER_P): Deleted.
2410         (alloc_older_lcrecord): Deleted.
2411         (alloc_older_lcrecord_type): Deleted.
2412
2413         * alloc.c (all_older_lcrecords): Deleted.
2414         (alloc_older_lcrecord): Deleted.
2415         (disksave_object_finalization_1): Delete code for older objects.
2416         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2417         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2418
2419 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2420
2421         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2422         instead of `make_older_vector'.
2423         (put_char_ccs_code_point): Likewise.
2424         (mark_charset): Mark `cs->decoding_table'.
2425         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2426
2427         * lisp.h (make_older_vector): Deleted.
2428         (make_vector_newer): Deleted.
2429
2430         * config.h.in (HAVE_GGC): Deleted.
2431
2432         * alloc.c (make_older_vector): Deleted.
2433         (make_vector_newer_1): Deleted.
2434         (make_vector_newer): Deleted.
2435
2436 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2437
2438         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2439         (Qideograph_daikanwa_2): New variable.
2440         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2441         (complex_vars_of_mule_charset): Add new coded-charset
2442         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2443         `LEADING_BYTE_DAIKANWA'.
2444
2445         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2446         (LEADING_BYTE_DAIKANWA_1): New macro.
2447         (LEADING_BYTE_DAIKANWA_2): New macro.
2448         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2449
2450 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2451
2452         * mule-charset.c (complex_vars_of_mule_charset): Change
2453         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2454         the second revised version.
2455
2456 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2457
2458         * mule-charset.c (Vcharset_ucs_smp): New variable.
2459         (Vcharset_ucs_sip): New variable.
2460         (Qucs_smp): New variable.
2461         (Qucs_sip): New variable.
2462         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2463         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2464         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2465         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2466         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2467         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2468
2469         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2470         (LEADING_BYTE_UCS_SIP): New macro.
2471         (MIN_CHAR_SMP): New macro.
2472         (MAX_CHAR_SMP): New macro.
2473         (MIN_CHAR_SIP): New macro.
2474         (MAX_CHAR_SIP): New macro.
2475
2476 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2477
2478         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2479         utf-2000.
2480
2481 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2482
2483         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2484         value; don't store value into `encoding_table' of `Lisp_Charset'.
2485         (mark_charset): `encoding_table' was deleted.
2486         (charset_description): Likewise.
2487         (make_charset): Likewise.
2488         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2489         `put_char_ccs_code_point'.
2490
2491         * chartab.h (Fput_char_attribute): New EXFUN.
2492
2493         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2494         is unified with normal symbol space.
2495         (Fget_char_attribute): Likewise.
2496         (Fput_char_attribute): Likewise; behavior of
2497         `put_char_ccs_code_point' is changed.
2498
2499         * char-ucs.h: Include "elhash.h".
2500         (Vchar_attribute_hash_table): New external variable.
2501         (struct Lisp_Charset): Delete `encoding_table'.
2502         (CHARSET_ENCODING_TABLE): New implementation; refer
2503         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2504         `Lisp_Charset'.
2505
2506 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2507
2508         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2509         (cs) == 0.
2510
2511 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2512
2513         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2514         `chinese-big5'.
2515
2516 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2517
2518         * chartab.c (uint8_byte_table_description): New constant.
2519         (uint8-byte-table): Use `uint8_byte_table_description'.
2520         (uint16_byte_table_description): New constant.
2521         (uint16-byte-table): Use `uint16_byte_table_description'.
2522
2523 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2524
2525         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2526         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2527
2528 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2529
2530         * mule-charset.c (Vcharset_ucs_ks): New variable.
2531         (Qucs_ks): New variable.
2532         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2533         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2534
2535         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2536
2537 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2538
2539         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2540         (Fdecode_char): Likewise.
2541
2542         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2543         chartab.h.
2544         (Fdefine_char): Modify for Fdecode_char.
2545         (Ffind_char): Likewise.
2546
2547         * mule-charset.c (Fdecode_char): Add new optional argument
2548         `defined-only'.
2549         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2550
2551 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2552
2553         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2554         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2555         (allocate_coding_system): Initialize initial-charsets of
2556         CODESYS_BIG5 in XEmacs UTF-2000.
2557         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2558         CODESYS_BIG5 in XEmacs UTF-2000.
2559         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2560         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2561
2562         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2563         variables.
2564         (Qideograph_hanziku_{1 .. 12}): Likewise.
2565         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2566         .. 12}'.
2567         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2568         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2569         `ideograph-hanziku-{1 .. 12}'.
2570
2571         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2572         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2573         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2574         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2575         (DECODE_DEFINED_CHAR): New inline function.
2576         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2577
2578 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2579
2580         * mule-charset.c (Vcharset_china3_jef): Renamed from
2581         `Vcharset_japanese_jef_china3'.
2582         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2583         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2584         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2585         (syms_of_mule_charset): Rename `china3-jef' from
2586         `japanese-jef-china3'.
2587         (complex_vars_of_mule_charset): Likewise; rename
2588         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2589
2590         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2591         `LEADING_BYTE_JEF_CHINA3'.
2592         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2593         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2594
2595 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2596
2597         * mule-charset.c (encode_builtin_char_1): Comment out special code
2598         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2599
2600         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2601         (MAX_CHAR_MOJIKYO_0): Comment out.
2602         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2603         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2604         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2605         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2606
2607 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2608
2609         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2610         (Qideograph_cbeta): New variable.
2611         (encode_builtin_char_1): Comment out special code for
2612         coded-charset `mojikyo' and `japanese-jef-china3'.
2613         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2614         (complex_vars_of_mule_charset): Add new coded-charset
2615         `ideograph-cbeta'.
2616
2617         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2618         (MIN_CHAR_CBETA): New macro.
2619         (MAX_CHAR_CBETA): New macro.
2620
2621 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2622
2623         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2624         (LEADING_BYTE_JEF_CHINA3): New macro.
2625         (MIN_CHAR_JEF_CHINA3): New macro.
2626         (MAX_CHAR_JEF_CHINA3): Likewise.
2627         (DECODE_CHAR): Fixed.
2628
2629 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2630
2631         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2632         (Qjapanese_jef_china3): New variable.
2633         (encode_builtin_char_1): Support `japanese-jef-china3'.
2634         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2635         (complex_vars_of_mule_charset): Add new coded-charset
2636         `japanese-jef-china3'.
2637
2638 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2639
2640         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2641         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2642         94^4, 96^3, 96^4, 128^n and 256^n set.
2643         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2644         (map_char_table): Likewise.
2645
2646 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2647
2648         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2649         UTF-2000.
2650
2651 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2652
2653         * chartab.h (get_char_id_table): New inline function.
2654
2655         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2656         function.
2657
2658 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2659
2660         * chartab.h (decode_char_table_range): New prototype in XEmacs
2661         UTF-2000.
2662         (put_char_id_table): New inline function in XEmacs UTF-2000.
2663
2664         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2665         function.
2666         (decode_char_table_range): Delete static declaration in XEmacs
2667         UTF-2000.
2668
2669 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2670
2671         * chartab.c (put_char_id_table): Use `put_char_table'.
2672
2673 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2674
2675         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2676         (map_over_uint16_byte_table): Likewise.
2677         (map_over_byte_table): Likewise.
2678         (map_char_table): Modify for `map_over_uint8_byte_table',
2679         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2680         UTF-2000.
2681
2682 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2683
2684         * chartab.c (struct map_char_table_for_charset_arg): New
2685         structure.
2686         (map_char_table_for_charset_fun): New function.
2687         (map_char_table): Use `map_char_table' for encoding_table of
2688         `range->charset'.
2689
2690 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2691
2692         * chartab.c (map_char_table): Check a character is found in
2693         range->charset instead of non default value is defined in
2694         char-table when range is CHARTAB_RANGE_ROW.
2695
2696 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2697
2698         * chartab.c (map_char_id_table): Deleted.
2699         (Fmap_char_attribute): Use `map_char_table' instead of
2700         `map_char_id_table'.
2701
2702 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2703
2704         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2705         UTF-2000.
2706         (update_syntax_table): Deleted in XEmacs UTF-2000.
2707
2708         * syntax.c (find_defun_start): Use `syntax_table' instead of
2709         `mirror_syntax_table' in XEmacs UTF-2000.
2710         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2711         UTF-2000.
2712         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2713         XEmacs UTF-2000.
2714         (Fmatching_paren): Likewise.
2715         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2716         in XEmacs UTF-2000.
2717         (find_start_of_comment): Likewise.
2718         (find_end_of_comment): Likewise.
2719         (Fforward_comment): Likewise.
2720         (scan_lists): Likewise.
2721         (char_quoted): Likewise.
2722         (Fbackward_prefix_chars): Likewise.
2723         (scan_sexps_forward): Likewise.
2724         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2725         (update_syntax_table): Likewise.
2726
2727         * search.c (skip_chars): Use `syntax_table' instead of
2728         `mirror_syntax_table' in XEmacs UTF-2000.
2729         (wordify): Likewise.
2730         (Freplace_match): Likewise.
2731
2732         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2733         `mirror_syntax_table' in XEmacs UTF-2000.
2734         (WORDCHAR_P_UNSAFE): Likewise.
2735         (re_match_2_internal): Likewise.
2736
2737         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2738         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2739
2740         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2741         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2742
2743         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2744         XEmacs UTF-2000.
2745
2746         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2747         UTF-2000.
2748         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2749         (char_table_description): Delete `mirror_table' in XEmacs
2750         UTF-2000.
2751         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2752         UTF-2000.
2753         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2754         (Fcopy_char_table): Likewise.
2755         (put_char_table): Don't call `update_syntax_table' in XEmacs
2756         UTF-2000.
2757
2758         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2759         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2760         (casify_region_internal): Likewise.
2761
2762         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2763
2764         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2765         `mirror_syntax_table' in XEmacs UTF-2000.
2766
2767         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2768         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2769         (Fexpand_abbrev): Likewise.
2770
2771 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2772
2773         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2774
2775 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2776
2777         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2778         (map_over_uint16_byte_table): Likewise.
2779         (map_over_byte_table): Likewise.
2780         (get_char_id_table): Refer `cit->default_value'.
2781         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2782         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2783         of character-id ranges.
2784         (mark_char_table): Mark `ct->default_value'.
2785         (char_table_description): Add `default_value'.
2786         (fill_char_table): Use `default_value'.
2787         (decode_char_table_range): Decode `nil' as
2788         `CHARTAB_RANGE_DEFAULT'.
2789         (get_char_id_table): Refer `cit->default_value'.
2790         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2791         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2792         temporary hack; check value of char-table is bound or not.
2793         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2794
2795         * chartab.h (struct Lisp_Char_Table): Add new member
2796         `default_value' in XEmacs UTF-2000.
2797         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2798         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2799         UTF-2000.
2800
2801 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2802
2803         * chartab.h (Lisp_Char_ID_Table): Deleted.
2804
2805         * chartab.c (char_table_description): Fix typo.
2806         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2807         `Lisp_Char_ID_Table'.
2808
2809 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2810
2811         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2812         `CHAR_ID_TABLE_P'.
2813
2814         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2815         `CHAR_ID_TABLE_P'.
2816
2817         * chartab.h (XCHAR_ID_TABLE): Deleted.
2818         (XSETCHAR_ID_TABLE): Deleted.
2819         (CHAR_ID_TABLE_P): Deleted.
2820
2821         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2822         `CHAR_ID_TABLE_P'.
2823         (Fget_composite_char): Likewise.
2824         (put_char_table): Likewise.
2825         (add_char_attribute_alist_mapper): Fixed.
2826         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2827         `CHAR_ID_TABLE_P'.
2828         (Fget_char_attribute): Likewise.
2829         (Fget_char_attribute): Likewise.
2830         (Fmap_char_attribute): Likewise.
2831
2832         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2833         `CHAR_ID_TABLE_P'.
2834         (encode_char_1): Likewise.
2835
2836 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2837
2838         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2839         `XCHAR_ID_TABLE'.
2840
2841         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2842         instead of `XCHAR_ID_TABLE'.
2843         (remove_char_ccs): Likewise.
2844
2845         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2846         `XCHAR_ID_TABLE'.
2847         (Fget_composite_char): Likewise.
2848         (Fchar_variants): Likewise.
2849         (put_char_table): Likewise.
2850         (add_char_attribute_alist_mapper): Likewise.
2851         (Fchar_attribute_alist): Likewise.
2852         (Fget_char_attribute): Likewise.
2853         (Fput_char_attribute): Likewise.
2854         (Fmap_char_attribute): Likewise.
2855         (Fmap_char_attribute): Likewise.
2856
2857         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2858         `XCHAR_ID_TABLE'.
2859         (encode_char_1): Likewise.
2860
2861 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2862
2863         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2864         `Lisp_Char_ID_Table'.
2865         (mark_char_id_table): Deleted.
2866         (print_char_id_table): Likewise.
2867         (char_id_table_equal): Likewise.
2868         (char_id_table_hash): Likewise.
2869         (char_id_table_description): Likewise.
2870         (char_id_table): Likewise.
2871         (make_char_id_table): Use `Fmake_char_table' and
2872         `fill_char_table'.
2873         (get_char_id_table): Use `Lisp_Char_Table' instead of
2874         `Lisp_Char_ID_Table'.
2875         (put_char_id_table): Likewise.
2876         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2877         `XCHAR_ID_TABLE'.
2878         (Fremove_char_attribute): Likewise.
2879         (syms_of_chartab): Don't define type `char-id-table'.
2880
2881         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2882         (char_id_table): Likewise.
2883         (GC_CHAR_ID_TABLE_P): Likewise.
2884         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2885         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2886         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2887         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2888         (get_char_id_table): Use `Lisp_Char_Table' instead of
2889         `Lisp_Char_ID_Table'.
2890         (put_char_id_table_0): Likewise.
2891         (put_char_id_table): Likewise.
2892
2893 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2894
2895         * chartab.h: Lisp_Byte_Table related codes are moved from
2896         chartab.h.
2897
2898         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2899
2900 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2901
2902         * chartab.h: Don't include "chartab.h".
2903         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2904         (Lisp_Char_ID_Table): Likewise.
2905         (char_id_table): Likewise.
2906         (XCHAR_ID_TABLE): Likewise.
2907         (XSETCHAR_ID_TABLE): Likewise.
2908         (CHAR_ID_TABLE_P): Likewise.
2909         (GC_CHAR_ID_TABLE_P): Likewise.
2910         (get_char_id_table): Likewise.
2911
2912         * char-ucs.h: Include "chartab.h".
2913         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2914         (Lisp_Char_ID_Table): Likewise.
2915         (char_id_table): Likewise.
2916         (XCHAR_ID_TABLE): Likewise.
2917         (XSETCHAR_ID_TABLE): Likewise.
2918         (CHAR_ID_TABLE_P): Likewise.
2919         (GC_CHAR_ID_TABLE_P): Likewise.
2920         (get_char_id_table): Likewise.
2921
2922 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2923
2924         * chartab.c (copy_uint8_byte_table): New function.
2925         (copy_uint16_byte_table): New function.
2926         (copy_byte_table): New function.
2927         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2928         characters to call.
2929         (map_over_uint16_byte_table): Likewise.
2930         (map_over_byte_table): Likewise.
2931         (get_byte_table): Move prototype to chartab.h.
2932         (put_byte_table): Likewise.
2933         (put_char_id_table_0): Moved to chartab.h.
2934         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2935         (char_table_entry_equal): Likewise.
2936         (char_table_entry_hash): Likewise.
2937         (char_table_entry_description): Likewise.
2938         (char_table_entry): Likewise.
2939         (make_char_table_entry): Likewise.
2940         (copy_char_table_entry): Likewise.
2941         (get_non_ascii_char_table_value): Likewise.
2942         (map_over_charset_ascii): Likewise.
2943         (map_over_charset_control_1): Likewise.
2944         (map_over_charset_row): Likewise.
2945         (map_over_other_charset): Likewise.
2946         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2947         (print_char_table): Likewise.
2948         (char_table_equal): Likewise.
2949         (char_table_hash): Likewise.
2950         (char_table_description): Likewise.
2951         (fill_char_table): Likewise.
2952         (Fcopy_char_table): Likewise.
2953         (get_char_table): Likewise.
2954         (Fget_range_char_table): Likewise.
2955         (put_char_table): Likewise.
2956         (map_char_table): Likewise.
2957         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2958         UTF-2000.
2959
2960 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2961
2962         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2963         `Vauto_fill_chars' in XEmacs UTF-2000.
2964
2965         * chartab.h (get_byte_table): New prototype [moved from
2966         chartab.c].
2967         (put_byte_table): Likewise [moved from chartab.c].
2968         (put_char_id_table_0): New inline function [moved from chartab.c].
2969         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2970         (Lisp_Char_Table_Entry): Likewise.
2971         (char_table_entry): Likewise.
2972         (XCHAR_TABLE_ENTRY): Likewise.
2973         (XSETCHAR_TABLE_ENTRY): Likewise.
2974         (CHAR_TABLE_ENTRYP): Likewise.
2975         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2976         (NUM_ASCII_CHARS): Likewise.
2977         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2978         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2979
2980 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2981
2982         * chartab.c (get_char_id_table): Change interface.
2983         (put_char_id_table_0): New function.
2984         (put_char_id_table): Change interface; new implementation.
2985         (Fget_composite_char): Modify for interface change of
2986         `get_char_id_table'.
2987         (Fchar_variants): Likewise.
2988         (add_char_attribute_alist_mapper): Likewise.
2989         (Fchar_attribute_alist): Likewise.
2990         (Fget_char_attribute): Likewise.
2991         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2992         as same as character as the first argument like `put-char-table';
2993         modify for interface change of `put_char_id_table'.
2994         (Fremove_char_attribute): Modify for interface change of
2995         `put_char_id_table'.
2996
2997 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2998
2999         * text-coding.c: Sync up with XEmacs 21.2.41.
3000         (COMPOSE_ADD_CHAR): Modify for interface change of
3001         `get_char_id_table'.
3002
3003         * mule-charset.c (put_char_ccs_code_point): Modify for interface
3004         change of `put_char_id_table'.
3005         (remove_char_ccs): Likewise.
3006
3007         * chartab.h (put_char_id_table): Change interface.
3008
3009         * char-ucs.h (get_char_id_table): Change interface.
3010         (charset_code_point): Modify for interface change of
3011         `get_char_id_table'.
3012         (encode_char_1): Likewise.
3013
3014 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3015
3016         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3017         argument `ccs'.
3018         (map_over_uint16_byte_table): Likewise.
3019         (map_over_byte_table): Likewise.
3020         (map_char_id_table): Add new argument `range' like
3021         `map_char_table'.
3022         (Fmap_char_attribute): Add new argument `range' like
3023         `Fmap_char_table'.
3024
3025 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3026
3027         * chartab.c (map_over_uint8_byte_table): Change interface of
3028         mapping function to use struct chartab_range instead of Emchar.
3029         (map_over_uint16_byte_table): Likewise.
3030         (map_over_byte_table): Likewise.
3031         (map_char_id_table): Likewise.
3032         (struct slow_map_char_id_table_arg): Deleted.
3033         (slow_map_char_id_table_fun): Deleted.
3034         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3035         function `slow_map_char_table_fun' instead of struct
3036         `slow_map_char_id_table_arg' and function
3037         `slow_map_char_id_table_fun'.
3038
3039 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3040
3041         * mule-charset.c: Move char-it-table related codes to chartab.c.
3042         (Vutf_2000_version): Moved to chartab.c.
3043         (Fdefine_char): Likewise.
3044         (Ffind_char): Likewise.
3045         (syms_of_mule_charset): Move types `uint8-byte-table',
3046         `uint16-byte-table', `byte-table' and `char-id-table' to
3047         chartab.c; move functions `char_attribute_list,
3048         `find_char_attribute_table, `char_attribute_alist,
3049         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3050         `map_char_attribute, `define_char, `find_char, `char_variants and
3051         `get_composite_char to chartab.c; move symbols `=>ucs',
3052         `->decomposition', `compat', `isolated', `initial', `medial',
3053         `final', `vertical', `noBreak', `fraction', `super', `sub',
3054         `circle', `square', `wide', `narrow', `small' and `font' to
3055         chartab.c.
3056         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3057         setting codes for `Vcharacter_composition_table' and
3058         `Vcharacter_variant_table' to chartab.c.
3059         (complex_vars_of_mule_charset): Move setting code for
3060         `Vchar_attribute_hash_table' to chartab.c.
3061
3062         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3063         (make_char_id_table): New prototype.
3064         (put_char_id_table): Likewise.
3065         (Fget_char_attribute): Likewise.
3066
3067         * chartab.c: Move char-id-table related code from mule-charset.c.
3068         (Vutf_2000_version): Moved from mule-charset.c.
3069
3070         * char-ucs.h (Qucs): New external variable.
3071         (put_char_ccs_code_point): New prototype.
3072         (remove_char_ccs): Likewise.
3073
3074 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3075
3076         * mule-charset.c (Vcharset_ucs_jis): New variable.
3077         (Qucs_jis): Likewise.
3078         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3079         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3080
3081         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3082
3083 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3084
3085         * mule-charset.c (map_over_uint8_byte_table): New function.
3086         (map_over_uint16_byte_table): Likewise.
3087         (map_over_byte_table): Likewise.
3088         (map_char_id_table): Likewise.
3089         (slow_map_char_id_table_fun): Likewise.
3090         (Fmap_char_attribute): Likewise.
3091         (syms_of_mule_charset): Add new function `map-char-attribute'.
3092
3093 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3094
3095         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3096         (syms_of_mule_charset): Add new function `find-char'.
3097
3098 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3099
3100         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3101         XEmacs UTF-2000.
3102         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3103         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3104         XEmacs UTF-2000.
3105         (complex_vars_of_mule_charset): Add new coded-charset
3106         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3107         `ideograph-gt-pj-*'.
3108
3109         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3110
3111 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3112
3113         * mule-charset.c (encode_builtin_char_1): Purge codes about
3114         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3115         {MIN|MAX}_CHAR_HEBREW.
3116         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3117         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3118
3119         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3120         (MAX_CHAR_GREEK): Purged.
3121         (MIN_CHAR_CYRILLIC): Purged.
3122         (MAX_CHAR_CYRILLIC): Purged.
3123         (MIN_CHAR_HEBREW): Commented out.
3124         (MAX_CHAR_HEBREW): Likewise.
3125
3126 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3127
3128         * mule-charset.c (Qto_ucs): New variable.
3129         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3130         (Fdefine_char): Likewise.
3131         (syms_of_mule_charset): Add new symbol `=>ucs'.
3132
3133 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3134
3135         * mule-charset.c (Fdecode_char): Fixed.
3136
3137 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3138
3139         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3140         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3141         "tcvn5712-1".
3142
3143 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3144
3145         * mule-charset.c (Vcharset_ucs_big5): New variable.
3146         (Qucs_big5): Likewise.
3147         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3148         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3149
3150         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3151
3152 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3153
3154         * mule-charset.c (decode_builtin_char): Check Big5 code range
3155         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3156
3157 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3158
3159         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3160         (Qchinese_gb12345): Likewise.
3161         (Fdecode_builtin_char): Fixed.
3162         (syms_of_mule_charset): Add `chinese-gb12345'.
3163         (complex_vars_of_mule_charset): Add coded-charset
3164         `chinese-gb12345'.
3165
3166         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3167         (LEADING_BYTE_CHINESE_GB12345): New macro.
3168
3169 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3170
3171         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3172         and `latin-viscii-upper' for `latin-viscii'.
3173
3174 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3175
3176         * mule-charset.c (Fdecode_builtin_char): Comment out
3177         regularization code for ISO-IR GR representation.
3178
3179 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3180
3181         * mule-charset.c (decode_builtin_char): New function; renamed from
3182         `make_builtin_char'; return -1 instead of signal.
3183         (Fdecode_builtin_char): Use `decode_builtin_char'.
3184
3185         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3186         `make_builtin_char'.
3187         (DECODE_CHAR): Use `decode_builtin_char' instead of
3188         `make_builtin_char'; use mapping table of `chinese-big5' for
3189         `chinese-big5-{1,2}'.
3190
3191 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3192
3193         * text-coding.c (char_encode_big5): New function.
3194         (char_finish_big5): Likewise.
3195         (reset_encoding_stream): Use `char_encode_big5' and
3196         `char_finish_big5' for CODESYS_BIG5.
3197         (mule_encode): Don't use `encode_coding_big5'.
3198         (encode_coding_big5): Deleted.
3199
3200 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3201
3202         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3203         0x81- in XEmacs UTF-2000.
3204         (detect_coding_big5): Likewise.
3205
3206 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3207
3208         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3209         generate character-id if the CCS property does not have
3210         corresponding predefined character.
3211         (make_builtin_char): Return -1 if corresponding predefined
3212         character is not found.
3213         (Fdecode_char): Return nil if corresponding character is not
3214         found.
3215         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3216         don't map to builtin ucs space.
3217
3218 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3219
3220         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3221         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3222
3223 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3224
3225         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3226         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3227         (Qideograph_gt): Likewise.
3228         (Qideograph_gt_pj_{1..11}): Likewise.
3229         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3230         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3231         `ideograph-gt-pj-11'.
3232         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3233         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3234         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3235
3236         * char-ucs.h (LEADING_BYTE_GT): New macro.
3237         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3238         (MIN_CHAR_GT): Likewise.
3239         (MAX_CHAR_GT): Likewise.
3240
3241 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3242
3243         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3244         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3245
3246         * doprnt.c (unsigned_int_converters): Add `c'.
3247         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3248
3249         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3250         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3251         `MIN_CHAR_MOJIKYO'.
3252         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3253         (MAX_CHAR_MOJIKYO_0): New macro.
3254         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3255
3256 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3257
3258         * mule-charset.c (Fdefine_char): Delete cemented out code.
3259         (encode_builtin_char_1): Modify for new allocation of builtin
3260         Mojikyo characters.
3261
3262         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3263
3264 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3265
3266         * mule-charset.c (Vcharset_ucs_cns): New variable.
3267         (Qucs_cns): New variable.
3268         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3269         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3270
3271 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3272
3273         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3274
3275 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3276
3277         * search.c (search_buffer): Make `charset_base_code' as
3278         character-id >> 6 to eliminate the corresponding last byte in
3279         UTF-8 representation [I'm not sure it is right thing].
3280         (boyer_moore): Likewise.
3281
3282 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3283
3284         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3285         representation in MULE.
3286
3287 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3288
3289         * text-coding.c (Fmake_coding_system): Use
3290         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3291         `EXTERNAL_PROPERTY_LIST_LOOP'.
3292
3293 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3294
3295         * text-coding.c (decode_output_utf8_partial_char): New function.
3296         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3297
3298 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3299
3300         * text-coding.c (decode_coding_utf8): Output original byte
3301         sequence if it is broken; change order of conditions.
3302
3303         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3304         of conditions.
3305
3306         * mb-multibyte.h (BYTE_ASCII_P):
3307         Use bit ops for char-signedness safety.
3308         (BYTE_C0_P): Use bit ops for char-signedness safety.
3309         (BYTE_C1_P): Use bit ops for char-signedness safety.
3310
3311         * character.h: (XCHAR_OR_CHAR_INT):
3312         Always use inline function.
3313         Remove redundant type checking assert() - XINT will abort quite
3314         nicely.
3315
3316 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3317
3318         * text-coding.c: (Fencode_shift_jis_char):
3319         (Fencode_big5_char):
3320         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3321         Replace 0 with '\0' when working with bytes.
3322         Replace initial "(" with "\(" in docstrings.
3323
3324         (Fmake_coding_system):
3325         When type is ccl and value is vector, register it with a proper
3326         symbol.  And checks whether the given ccl program is valid.
3327         (mule_decode): When calling ccl_driver, if src indicates
3328         NULL pointer, set an empty string instead.
3329         (mule_encode): Likewise.
3330
3331         (detect_eol_type):
3332         (detect_coding_sjis):
3333         (decode_coding_sjis):
3334         (detect_coding_big5):
3335         (decode_coding_big5):
3336         (detect_coding_ucs4):
3337         (decode_coding_ucs4):
3338         (detect_coding_utf8):
3339         (decode_coding_utf8):
3340         (detect_coding_iso2022):
3341         (decode_coding_iso2022):
3342         (decode_coding_no_conversion):
3343         (mule_decode):
3344         Make all detecting and decoding functions take an Extbyte * arg.
3345         (text_encode_generic):
3346         (encode_coding_big5):
3347         (encode_coding_no_conversion):
3348         (mule_encode):
3349         Make all encoding functions take a Bufbyte * arg.
3350         Use size_t instead of unsigned int for memory sizes.
3351         Only cast to unsigned char whenever dereferencing Extbyte *.
3352
3353         (struct lrecord_description fcd_description_1): Use countof.
3354         (complex_vars_of_file_coding):
3355         Use countof instead of sizeof.
3356         Use CHECK_NATNUM instead of CHECK_INT.
3357
3358 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3359
3360         * mule-charset.c (Fget_char_attribute): Add new optional argument
3361         `default-value'.
3362         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3363         (remove_char_ccs): Likewise.
3364
3365 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3366
3367         * text-coding.c (char_encode_shift_jis): New implementation in
3368         UTF-2000.
3369         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3370         ...)'.
3371
3372         * mule-charset.c (Vcharset_chinese_big5): New variable in
3373         UTF-2000.
3374         (Qchinese_big5): New variable in UTF-2000.
3375         (BIG5_SAME_ROW): New macro in UTF-2000.
3376         (make_builtin_char): Use builtin characters of
3377         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3378         characters of `Vcharset_chinese_big5'.
3379         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3380         (complex_vars_of_mule_charset): Add new coded-charset
3381         `chinese-big5' in UTF-2000.
3382
3383         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3384         (Vcharset_chinese_big5): New external variable declaration.
3385         (Vcharset_japanese_jisx0208_1990): Likewise.
3386
3387 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3388
3389         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3390         function.
3391         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3392
3393 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3394
3395         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3396         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3397         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3398         `mojikyo-pj-*'.
3399
3400 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3401
3402         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3403
3404 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3405
3406         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3407         to 0.17.
3408
3409 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3410
3411         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3412         for `CHARSET_BY_ATTRIBUTES'.
3413         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3414         `CHARSET_BY_ATTRIBUTES'.
3415
3416         * text-coding.c (struct decoding_stream): Rename member `CH' to
3417         `CPOS'.
3418         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3419         (decode_coding_sjis): Likewise.
3420         (decode_coding_big5): Likewise.
3421         (decode_coding_ucs4): Likewise.
3422         (decode_coding_utf8): Likewise.
3423         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3424         `CHARSET_BY_ATTRIBUTES'.
3425         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3426         `str->counter'; decode 3, 4 bytes sets.
3427         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3428         sets.
3429         (decode_coding_no_conversion): Use `str->cpos' instead of
3430         `str->ch'.
3431
3432         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3433         (Qmojikyo_2022_1): New variable.
3434         (make_charset): Don't use `CHARSET_TYPE_*'.
3435         (range_charset_code_point): Support coded-charset
3436         `mojikyo-2022-1'.
3437         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3438         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3439         `CHARSET_BY_ATTRIBUTES'.
3440         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3441         `CHARSET_BY_ATTRIBUTES'.
3442         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3443         (complex_vars_of_mule_charset): Add new coded-charset
3444         `mojikyo-2022-1'.
3445
3446         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3447         interface; changed to inline function.
3448
3449         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3450         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3451         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3452         (CHARSET_TYPE_94): Deleted.
3453         (CHARSET_TYPE_94X94): Deleted.
3454         (CHARSET_TYPE_96): Deleted.
3455         (CHARSET_TYPE_96X96): Deleted.
3456         (CHARSET_TYPE_128): Deleted.
3457         (CHARSET_TYPE_128X128): Deleted.
3458         (CHARSET_TYPE_256): Deleted.
3459         (CHARSET_TYPE_256X256): Deleted.
3460         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3461         to inline function.
3462         (DECODE_MOJIKYO_2022): New inline function.
3463         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3464         `Vcharset_mojikyo_2022_1'.
3465
3466 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3467
3468         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3469         instead of `EQ'.
3470         (put_byte_table): Likewise.
3471         (char_id_table_equal): Use `get_byte_table' [new implementation].
3472
3473 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3474
3475         * mule-charset.c: Include <limits.h> in UTF-2000.
3476         (BT_UINT8_MIN): New macro in UTF-2000.
3477         (BT_UINT8_MAX): New macro in UTF-2000.
3478         (BT_UINT8_t): New macro in UTF-2000.
3479         (BT_UINT8_nil): New macro in UTF-2000.
3480         (BT_UINT8_unbound): New macro in UTF-2000.
3481         (INT_UINT8_P): New inline function in UTF-2000.
3482         (UINT8_VALUE_P): New inline function in UTF-2000.
3483         (UINT8_ENCODE): New inline function in UTF-2000.
3484         (UINT8_DECODE): New inline function in UTF-2000.
3485         (mark_uint8_byte_table): New function in UTF-2000.
3486         (print_uint8_byte_table): New function in UTF-2000.
3487         (uint8_byte_table_equal): New function in UTF-2000.
3488         (uint8_byte_table_hash): New function in UTF-2000.
3489         (make_uint8_byte_table): New function in UTF-2000.
3490         (uint8_byte_table_same_value_p): New function in UTF-2000.
3491         (BT_UINT16_MIN): New macro in UTF-2000.
3492         (BT_UINT16_MAX): New macro in UTF-2000.
3493         (BT_UINT16_t): New macro in UTF-2000.
3494         (BT_UINT16_nil): New macro in UTF-2000.
3495         (BT_UINT16_unbound): New macro in UTF-2000.
3496         (INT_UINT16_P): New inline function in UTF-2000.
3497         (UINT16_VALUE_P): New inline function in UTF-2000.
3498         (UINT16_ENCODE): New inline function in UTF-2000.
3499         (UINT16_DECODE): New inline function in UTF-2000.
3500         (UINT8_TO_UINT16): New inline function in UTF-2000.
3501         (mark_uint16_byte_table): New function in UTF-2000.
3502         (print_uint16_byte_table): New function in UTF-2000.
3503         (uint16_byte_table_equal): New function in UTF-2000.
3504         (uint16_byte_table_hash): New function in UTF-2000.
3505         (make_uint16_byte_table): New function in UTF-2000.
3506         (uint16_byte_table_same_value_p): New function in UTF-2000.
3507         (print_byte_table): New function in UTF-2000.
3508         (byte-table): Use `print_byte_table' as printer.
3509         (make_byte_table): Delete second argument `older'.
3510         (byte_table_same_value_p): New function in UTF-2000.
3511         (copy_byte_table): Deleted.
3512         (get_byte_table): New function in UTF-2000.
3513         (put_byte_table): New function in UTF-2000.
3514         (print_char_id_table): New function in UTF-2000.
3515         (char-id-table): Use `print_char_id_table' as printer.
3516         (make_char_id_table): Delete second argument `older'.
3517         (get_char_id_table): Use `get_byte_table [new implementation].
3518         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3519         implementation].
3520         (Ffind_char_attribute_table): New function in UTF-2000.
3521         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3522         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3523         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3524         (syms_of_mule_charset): Add new function
3525         `find-char-attribute-table' in UTF-2000.
3526
3527         * lrecord.h (enum lrecord_type): Add
3528         `lrecord_type_uint16_byte_table' and
3529         `lrecord_type_uint8_byte_table'.
3530
3531         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3532         (Lisp_Uint8_Byte_Table): New type.
3533         (XUINT8_BYTE_TABLE): New macro.
3534         (XSETUINT8_BYTE_TABLE): New macro.
3535         (UINT8_BYTE_TABLE_P): New macro.
3536         (GC_UINT8_BYTE_TABLE_P): New macro.
3537         (struct Lisp_Uint16_Byte_Table): New structure.
3538         (Lisp_Uint16_Byte_Table): New type.
3539         (XUINT16_BYTE_TABLE): New macro.
3540         (XSETUINT16_BYTE_TABLE): New macro.
3541         (UINT16_BYTE_TABLE_P): New macro.
3542         (GC_UINT16_BYTE_TABLE_P): New macro.
3543
3544 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3545
3546         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3547         (Vcharacter_ideographic_strokes_table): Deleted.
3548         (Vcharacter_total_strokes_table): Deleted.
3549         (Vcharacter_morohashi_daikanwa_table): Deleted.
3550         (Vcharacter_decomposition_table): Deleted.
3551         (Qname): Deleted because it is duplicated.
3552         (Qideographic_radical): Deleted.
3553         (Qideographic_strokes): Deleted.
3554         (Qtotal_strokes): Deleted.
3555         (Qmorohashi_daikanwa): Deleted.
3556         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3557         `ideographic-radical', `ideographic-strokes', `total-strokes',
3558         `morohashi-daikanwa' and `->decomposition'.
3559         (Fget_char_attribute): Likewise.
3560         (Fput_char_attribute): Likewise; use `make-vector' instead of
3561         `make_older_vector' for `->decomposition' value.
3562         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3563         `ideograph-daikanwa'.
3564         (syms_of_mule_charset): Delete builtin symbols `name',
3565         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3566         `morohashi-daikanwa'.
3567         (vars_of_mule_charset): Don't setup
3568         `Vcharacter_ideographic_radical_table',
3569         `Vcharacter_ideographic_strokes_table',
3570         `Vcharacter_total_strokes_table',
3571         `Vcharacter_morohashi_daikanwa_table' and
3572         `Vcharacter_decomposition_table'.
3573
3574 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3575
3576         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3577         `make_older_vector', `make_vector_newer_1' and
3578         `make_vector_newer'.
3579
3580         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3581         `make_older_vector' and `make_vector_newer'.
3582
3583         * config.h.in (HAVE_GGC): New macro.
3584
3585 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3586
3587         * mule-charset.c (struct char_attribute_list_closure): New
3588         structure in UTF-2000.
3589         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3590         (Fchar_attribute_list): Likewise.
3591         (Fset_charset_mapping_table): Use `make_vector_newer'.
3592         (Fdecode_builtin_char): New function in UTF-2000.
3593         (syms_of_mule_charset): Add new function `char-attribute-list' and
3594         `decode-builtin-char' in UTF-2000.
3595
3596         * lisp.h (make_vector_newer): New prototype.
3597
3598         * alloc.c (make_vector_newer_1): New function.
3599         (make_vector_newer): New function.
3600
3601 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3602
3603         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3604         50100)'.
3605
3606 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3607
3608         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3609         (Vcharacter_attribute_table): Deleted.
3610         (Vcharacter_name_table): Deleted.
3611         (put_char_attribute): Deleted.
3612         (remove_char_attribute): Deleted.
3613         (struct char_attribute_alist_closure): New structure.
3614         (add_char_attribute_alist_mapper): New function.
3615         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3616         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3617         (Fget_char_attribute): Likewise.
3618         (Fput_char_attribute): Likewise.
3619         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3620         of `remove_char_attribute'.
3621         (Fdefine_char): Return character.
3622         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3623         and `Vcharacter_name_table'.
3624         (complex_vars_of_mule_charset): Likewise
3625         `Vchar_attribute_hash_table'.
3626
3627 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3628
3629         * character.h (CHARC_CHARSET): New macro.
3630         (CHARC_CHARSET_ID): New macro.
3631         (CHARC_CODE_POINT): New macro.
3632         (CHARC_COLUMNS): New macro.
3633         (CHARC_TO_CHAR): New inline function.
3634         (CHARC_EQ): New inline function.
3635         (CHARC_ASCII_EQ): New inline function.
3636         (CHARC_IS_SPACE): New inline function.
3637         (ASCII_TO_CHARC): New inline function.
3638
3639         * char-ucs.h (encode_char_2): Deleted.
3640         (ENCODE_CHAR): Use `encode_char_1' again.
3641         (breakup_char_1): Likewise.
3642         (CHAR_TO_CHARC): New inline function.
3643
3644         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3645
3646 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3647
3648         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3649         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3650         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3651         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3652         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3653         `CHARC_IS_SPACE'.
3654         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3655
3656         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3657         `CHARC_CODE_POINT'.
3658         (x_output_display_block): Use `CHARC_CHARSET' and
3659         `CHARC_ASCII_EQ'.
3660
3661         * redisplay-tty.c (tty_output_display_block): Use
3662         `CHARC_ASCII_EQ'.
3663         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3664
3665         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3666
3667         * insdel.c (find_charsets_in_charc_string): Use
3668         `CHARC_CHARSET_ID'.
3669         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3670         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3671         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3672         (convert_charc_string_into_malloced_string): Likewise.
3673
3674 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3675
3676         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3677         instead of <Emchar_dynarr *> for buf; use
3678         `convert_bufbyte_string_into_charc_dynarr' instead of
3679         `convert_bufbyte_string_into_emchar_dynarr'; use
3680         `find_charsets_in_charc_string' instead of
3681         `find_charsets_in_emchar_string'.
3682
3683         * redisplay.h:
3684         - Include "character.h".
3685         (struct rune): New member `cglyph'; delete member `chr'.
3686
3687         * redisplay.c (redisplay_text_width_charc_string): New function;
3688         delete `redisplay_text_width_emchar_string'.
3689         (rtw_charc_dynarr): New variable; renamed from
3690         `rtw_emchar_dynarr'.
3691         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3692         `rtw_emchar_dynarr'; use
3693         `convert_bufbyte_string_into_charc_dynarr' instead of
3694         `convert_bufbyte_string_into_emchar_dynarr'; use
3695         `redisplay_text_width_charc_string' instead of
3696         `redisplay_text_width_emchar_string'.
3697         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3698         instead of `rtw_emchar_dynarr'; use
3699         `convert_bufbyte_string_into_charc_dynarr' instead of
3700         `convert_bufbyte_string_into_emchar_dynarr'.
3701         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3702         `redisplay_text_width_charc_string' instead of
3703         `redisplay_text_width_emchar_string'.
3704         (create_text_block): Modify for <struct rune> change.
3705         (generate_formatted_string_db): Likewise.
3706         (create_string_text_block): Likewise.
3707         (pixel_to_glyph_translation): Likewise.
3708
3709         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3710         instead of <const Emchar *>.
3711         (x_text_width): Likewise.
3712         (x_output_display_block): Use <Charc_dynarr *> instead
3713         <Emchar_dynarr *>; modify for <structure rune> change.
3714         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3715         *>.
3716
3717         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3718         <const Emchar *>; use `charc_string_displayed_columns' instead of
3719         `emchar_string_displayed_columns'.
3720         (tty_output_display_block): Use <Charc_dynarr *> instead of
3721         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3722         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3723         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3724         `tty_output_emchar_dynarr_dynarr'.
3725         (tty_output_charc_dynarr): New function; delete
3726         `tty_output_charc_dynarr'.
3727
3728         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3729         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3730         <Emchar_dynarr *> for buf; use
3731         `convert_bufbyte_string_into_charc_dynarr' instead of
3732         `convert_bufbyte_string_into_emchar_dynarr'.
3733
3734         * frame.c (title_string_charc_dynarr): New variable; renamed from
3735         `title_string_emchar_dynarr'.
3736         (generate_title_string): Use `title_string_charc_dynarr' instead
3737         of `title_string_emchar_dynarr'; use
3738         `convert_charc_string_into_malloced_string' instead of
3739         `convert_emchar_string_into_malloced_string'.
3740         (init_frame): Use `title_string_charc_dynarr' instead of
3741         `title_string_emchar_dynarr'.
3742
3743         * console.h:
3744         - Include "character.h".
3745         (struct console_methods): Use <const Charc *> instead of <const
3746         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3747         <Emchar_dynarr *> in output_string_method.
3748
3749         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3750         <Emchar_dynarr *>.
3751
3752         * console-stream.c (stream_text_width): Use <const Charc *>
3753         instead of <const Emchar *>.
3754
3755         * character.h (Charc_dynarr): New type.
3756
3757         * char-ucs.h (structure Charc): New structure; define new type
3758         `Charc'.
3759
3760         * char-lb.h (DECODE_CHAR): New inline function.
3761         (encode_char_1): New inline function.
3762         (ENCODE_CHAR): New macro.
3763         (structure Charc): New structure; define new type `Charc'.
3764
3765         * char-1byte.h (Vcharset_control_1): New macro.
3766         (Vcharset_latin_iso8859_1): New macro.
3767         (DECODE_CHAR): New inline function.
3768         (encode_char_1): New inline function.
3769         (ENCODE_CHAR): New macro.
3770         (structure Charc): New structure; define new type `Charc'.
3771
3772         * insdel.c (find_charsets_in_charc_string): New function; delete
3773         `find_charsets_in_emchar_string'.
3774         (charc_string_displayed_columns): New function; delete
3775         `emchar_string_displayed_columns'.
3776         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3777         `convert_bufbyte_string_into_emchar_dynarr'.
3778         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3779         `convert_charc_string_into_bufbyte_dynarr'.
3780         (convert_charc_string_into_malloced_string): New function; delete
3781         `convert_charc_string_into_malloced_string'.
3782
3783         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3784         `find_charsets_in_emchar_string'.
3785         (charc_string_displayed_columns): New prototype; delete
3786         `emchar_string_displayed_columns'.
3787         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3788         `convert_charc_string_into_bufbyte_dynarr'.
3789         (convert_charc_string_into_malloced_string): New prototype; delete
3790         `convert_charc_string_into_malloced_string'.
3791
3792 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3793
3794         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3795
3796 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3797
3798         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3799
3800         * char-ucs.h: Use <short> for <Charset_ID>.
3801
3802         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3803         <Charset_ID>.
3804
3805 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3806
3807         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3808         to 0.16.
3809
3810 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3811
3812         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3813         variable.
3814         (Qmorohashi_daikanwa): New variable.
3815         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3816         for `morohashi-daikanwa' attribute.
3817         (Fget_char_attribute): Likewise.
3818         (Fput_char_attribute): Likewise.
3819         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3820         has the same value of `ideograph-daikanwa'.
3821         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3822         (vars_of_mule_charset): Setup
3823         `Vcharacter_morohashi_daikanwa_table'.
3824
3825 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3826
3827         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3828         attributes.
3829         (add_charset_to_list_mapper): Add `key' instead of
3830         `XCHARSET_NAME (value)' to return aliases.
3831
3832 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3833
3834         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3835         variable.
3836         (Vcharacter_ideographic_strokes_table): New variable.
3837         (Qideographic_radical): New variable.
3838         (Qideographic_strokes): New variable.
3839         (Fchar_attribute_alist): Use
3840         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3841         attribute; use `Vcharacter_ideographic_strokes_table' for
3842         `ideographic-strokes' attribute.
3843         (Fget_char_attribute): Likewise.
3844         (Fput_char_attribute): Likewise.
3845         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3846         `ideographic-strokes'.
3847         (vars_of_mule_charset): Setup
3848         `Vcharacter_ideographic_radical_table' and
3849         `Vcharacter_ideographic_strokes_table'.
3850
3851 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3852
3853         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3854         (Qtotal_strokes): New variable.
3855         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3856         `total-strokes' attribute.
3857         (Fget_char_attribute): Likewise.
3858         (Fput_char_attribute): Likewise.
3859         (syms_of_mule_charset): Add new symbol `total-strokes'.
3860         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3861
3862 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3863
3864         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3865         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3866         are found.
3867         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3868         `->decomposition' attribute.
3869         (Fput_char_attribute): Likewise.
3870         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3871
3872 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3873
3874         * mule-charset.c (decoding_table_check_elements): New function.
3875         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3876
3877 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3878
3879         * mule-charset.c (Fset_charset_mapping_table): Use
3880         `put_char_ccs_code_point'.
3881
3882 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3883
3884         * mule-charset.c (decoding_table_put_char): New inline function.
3885         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3886
3887 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3888
3889         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3890         (XCHARSET_BYTE_SIZE): New macro.
3891         (decoding_table_remove_char): New inline function.
3892         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3893         `decoding_table_remove_char'.
3894         (remove_char_ccs): Use `decoding_table_remove_char'.
3895         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3896
3897 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3898
3899         * mule-charset.c (Vcharacter_name_table): New variable.
3900         (Qname): New variable.
3901         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3902         attribute.
3903         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3904         `Vcharacter_name_table' for `name' attribute.
3905         (Fremove_char_attribute): Use function `remove_char_ccs'.
3906         (put_char_ccs_code_point): New function.
3907         (remove_char_ccs): New function.
3908         (syms_of_mule_charset): Add new symbol `name'.
3909         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3910
3911 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3912
3913         * mule-charset.c (make_byte_table): Add new argument `older'.
3914         (make_char_id_table): Likewise.
3915         (copy_char_id_table): Comment out because it is not used.
3916         (put_char_id_table): Modify for `make_byte_table'.
3917         (Fput_char_attribute): Make encoding_table as older object;
3918         inherit older bit of `Vcharacter_composition_table'.
3919         (mark_charset): Don't mark `cs->encoding_table'.
3920         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3921         normal object; make `Vcharacter_composition_table' as an older
3922         object; delete staticpro for `Vcharacter_composition_table'; make
3923         `Vcharacter_variant_table' as a normal object.
3924
3925         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3926         (mark_object): Don't check older object in UTF-2000.
3927
3928         * lrecord.h (struct lrecord_header): Add new member `older' in
3929         UTF-2000.
3930         (set_lheader_implementation): Setup `SLI_header->older' in
3931         UTF-2000.
3932         (set_lheader_older_implementation): New macro in UTF-2000.
3933         (OLDER_RECORD_P): New macro in UTF-2000.
3934         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3935         (alloc_older_lcrecord): New prototype in UTF-2000.
3936         (alloc_older_lcrecord_type): New macro in UTF-2000.
3937
3938 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3939
3940         * mule-charset.c (byte_table_description): Use
3941         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3942         (char_id_table_description): Delete bogus `, 1'.
3943         (Fget_char_attribute): Refer encoding_table of each coded-charset
3944         to get value of coded-charset attribute of a character.
3945         (Fput_char_attribute): Use `make_older_vector' instead of
3946         `make_vector'; use encoding_table of each coded-charset to store
3947         value of coded-charset attribute of a character.
3948         (Fremove_char_attribute): Use encoding_table of each coded-charset
3949         to store value of coded-charset attribute of a character.
3950         (mark_charset): Mark `cs->encoding_table'; don't mark
3951         `cs->decoding_table'.
3952         (charset_description): Add description of new member
3953         `encoding_table'.
3954         (make_charset): Initialize `encoding_table'.
3955
3956         * char-ucs.h (struct Lisp_Charset): Add new member
3957         `encoding_table'.
3958         (CHARSET_ENCODING_TABLE): New macro.
3959         (XCHARSET_ENCODING_TABLE): New macro.
3960         (charset_code_point): New implementation.
3961         (encode_char_1): Likewise.
3962
3963         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3964         (disksave_object_finalization_1): Call finalizers of
3965         `all_older_lcrecords' in UTF-2000.
3966         (make_older_vector): New function in UTF-2000.
3967         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3968         UTF-2000.
3969
3970         * lisp.h (make_older_vector): New prototype in UTF-2000.
3971
3972 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3973
3974         * lrecord.h (enum lrecord_type): Rename
3975         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3976
3977         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3978         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3979         `get_char_code_table'.
3980
3981         * mule-charset.c (mark_char_id_table): Renamed from
3982         `mark_char_code_table'.
3983         (char_id_table_equal): Renamed from `char_code_table_equal'.
3984         (char_id_table_hash): Renamed from `char_code_table_hash'.
3985         (make_char_id_table): Renamed from `make_char_code_table'.
3986         (copy_char_id_table): Renamed from `copy_char_code_table'.
3987         (get_char_id_table): Renamed from `get_char_code_table'.
3988         (put_char_id_table): Renamed from `put_char_code_table'.
3989         (to_char_id): Renamed from `to_char_code'.
3990
3991         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3992         `Lisp_Char_Code_Table'.
3993         (char_id_table): Renamed from `char_code_table'.
3994         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3995         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3996         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3997         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3998         (get_char_id_table): Renamed from `get_char_code_table'.
3999
4000 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4001
4002         * lrecord.h (enum lrecord_type): Rename
4003         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
4004
4005         * mule-charset.c (mark_byte_table): Renamed from
4006         `mark_char_byte_table'.
4007         (byte_table_equal): Renamed from `char_byte_table_equal'.
4008         (byte_table_hash): Renamed from `byte_table_hash'.
4009         (make_byte_table): Renamed from `make_byte_table'.
4010         (copy_byte_table): Renamed from `copy_char_byte_table'.
4011
4012         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4013         `Lisp_Char_Byte_Table'.
4014         (byte_table): Renamed from `char_byte_table'.
4015         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4016         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4017         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4018         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4019
4020 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4021
4022         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4023         (dfc_convert_to_internal_format): Likewise.
4024         
4025         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4026         * text-coding.c (Fcoding_system_alias_p): New function.
4027         * text-coding.c (Fcoding_system_aliasee): New function.
4028         * text-coding.c (append_suffix_to_symbol): New function.
4029         * text-coding.c (dangling_coding_system_alias_p): New function.
4030         * text-coding.c (Ffind_coding_system):
4031         * text-coding.c (Fcopy_coding_system):
4032         * text-coding.c (encode_coding_no_conversion):
4033         * text-coding.c (syms_of_file_coding):
4034         * text-coding.c (vars_of_file_coding):
4035         Rewrite coding system alias code.
4036         Allow nested aliases, like symbolic links.
4037         Allow redefinition of coding system aliases.
4038         Prevent existence of dangling coding system aliases.
4039         Eliminate convert_to_external_format.
4040         Eliminate convert_to_internal_format.
4041         
4042         * text-coding.c: Change enum eol_type to eol_type_t.
4043
4044 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4045
4046         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4047         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4048
4049         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4050         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4051
4052 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4053
4054         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4055         `ideograph-daikanwa'.
4056
4057         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4058         (Vcharset_ucs_bmp): Likewise.
4059         (Vcharset_mojikyo): Add new extern variable definition.
4060         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4061         (Vcharset_latin_iso8859_3): Likewise.
4062         (Vcharset_latin_iso8859_4): Likewise.
4063         (Vcharset_latin_iso8859_9): Likewise.
4064         (Vcharset_latin_viscii_lower): Likewise.
4065         (Vcharset_latin_viscii_upper): Likewise.
4066         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4067         `mojikyo' code-point is used to decode.
4068         (encode_char_2): New function [to convert `mojikyo' code-point to
4069         Mojikyo font encoding].
4070         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4071         (breakup_char_1): Likewise.
4072         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4073
4074 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4075
4076         * text-coding.c (Fmake_coding_system): Add document about
4077         `disable-composition' property.
4078
4079 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4080
4081         * text-coding.c (Qdisable_composition): New variable; delete
4082         `Qcomposite'.
4083         (Fmake_coding_system): Add new property `disable-composite';
4084         delete property `composite'.
4085         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4086         instead of `!CODING_SYSTEM_COMPOSITE'.
4087         (syms_of_file_coding): Add new symbol `disable-composition';
4088         delete symbol `composite'.
4089
4090         * file-coding.h (struct Lisp_Coding_System): Add
4091         `disable_composition'; delete `enable_composition'.
4092         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4093         `CODING_SYSTEM_COMPOSITE'.
4094         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4095         `XCODING_SYSTEM_COMPOSITE'.
4096
4097 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4098
4099         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4100         to 0.15.
4101
4102 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4103
4104         * text-coding.c (Qcomposite): New variable.
4105         (Fmake_coding_system): Add new property `composite'.
4106         (struct decoding_stream): Add `combined_char_count',
4107         `combined_chars' and `combining_table' in UTF-2000.
4108         (COMPOSE_FLUSH_CHARS): New macro.
4109         (COMPOSE_ADD_CHAR): New macro.
4110         (reset_decoding_stream): Reset `str->combined_char_count' and
4111         `str->combining_table' in UTF-2000.
4112         (decode_coding_iso2022): Modify for character-decomposition.
4113         (syms_of_file_coding): Add new symbol `composite'.
4114
4115 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4116
4117         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4118         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4119         of `Vcharacter_composition_table' if `->decomposition' property
4120         has only 1 element.
4121         (Qlatin_tcvn5712): New variable.
4122         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4123         (complex_vars_of_mule_charset): Add new coded-charset
4124         `latin-tcvn5712'.
4125
4126         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4127
4128 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4129
4130         * file-coding.h (struct Lisp_Coding_System): Add
4131         `enable_composition'.
4132         (CODING_SYSTEM_COMPOSITE): New macro.
4133         (XCODING_SYSTEM_COMPOSITE): New macro.
4134
4135 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4136
4137         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4138
4139 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4140
4141         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4142         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4143
4144 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4145
4146         * mule-charset.c (Vcharset_mojikyo): New variable.
4147         (Fdefine_char): Don't use coded-charset which does not have
4148         non-builtin character range to allocate character-id.
4149         (Qmojikyo): New variable.
4150         (syms_of_mule_charset): Add new symbol `mojikyo'.
4151         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4152
4153         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4154         (LEADING_BYTE_MOJIKYO): New macro.
4155         (MIN_CHAR_MOJIKYO): New macro.
4156         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4157         (MAX_CHAR_MOJIKYO): New macro.
4158
4159 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4160
4161         * mule-charset.c (remove_char_attribute): Fixed.
4162
4163 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4164
4165         * mule-charset.c (remove_char_attribute): New function.
4166         (Fremove_char_attribute): New function.
4167         (encode_builtin_char_1): Comment out builtin-support for
4168         greek-iso8859-7 and cyrillic-iso8859-5.
4169         (Fdecode_char): Check `code' is an integer.
4170         (syms_of_mule_charset): Add `remove-char-attribute'.
4171         (MIN_CHAR_GREEK): Deleted.
4172         (MAX_CHAR_GREEK): Likewise.
4173         (MIN_CHAR_CYRILLIC): Likewise.
4174         (MAX_CHAR_CYRILLIC): Likewise.
4175         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4176         MAX_CHAR_GREEK for `greek-iso8859-7'.
4177
4178         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4179         (MAX_CHAR_GREEK): Likewise.
4180         (MIN_CHAR_CYRILLIC): Likewise.
4181         (MAX_CHAR_CYRILLIC): Likewise.
4182
4183 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4184
4185         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4186         format is used without `ucs' property.
4187         (Fdecode_char): Fix problem with GR representation.
4188         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4189         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4190
4191 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4192
4193         * mule-charset.c (make_builtin_char): New function.
4194         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4195         (Fset_charset_mapping_table): Modify for new representation of
4196         code-point.
4197         (Fdecode_char): New function.
4198         (syms_of_mule_charset): Add new builtin function `decode-char' in
4199         UTF-2000.
4200
4201         * char-ucs.h (make_builtin_char): New prototype.
4202         (DECODE_CHAR): New inline function.
4203         (MAKE_CHAR): Use `DECODE_CHAR'.
4204
4205 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4206
4207         * text-coding.c (parse_charset_conversion_specs): Use
4208         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4209         `XCHARSET_TYPE'.
4210         (iso2022_designate): Likewise.
4211
4212         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4213         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4214
4215         * mule-charset.c (Vcharset_ucs): New variable.
4216         (print_charset): Change design; use `CHARSET_CHARS' and
4217         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4218         (make_charset): Change signature to specify `chars' and
4219         `dimension' instead of `type'.
4220         (range_charset_code_point): Modify for 256^n-set.
4221         (encode_builtin_char_1): Encode as `ucs' in default.
4222         (Fmake_charset): Modify for `make_charset'.
4223         (Fmake_reverse_direction_charset): Likewise.
4224         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4225         UTF-2000.
4226         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4227         for `make_charset'.
4228
4229         * char-ucs.h (Vcharset_ucs): New variable.
4230         (LEADING_BYTE_UCS): New macro.
4231         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4232         and `chars' to `unsigned short' from `unsigned int'.
4233         (CHARSET_TYPE): Deleted.
4234         (XCHARSET_TYPE): Deleted.
4235
4236 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4237
4238         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4239
4240         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4241         (ENCODE_CHAR): New macro.
4242
4243 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4244
4245         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4246         to 0.14 (Kawachi-Katakami).
4247
4248 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4249
4250         * text-coding.c (char_encode_shift_jis): Modify for
4251         `charset_code_point'.
4252         (char_encode_iso2022): Likewise.
4253
4254         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4255         (integer) instead of list of <Lisp_Object>s (integers) as the
4256         format of code-point of a coded-charset.
4257         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4258         (encode_builtin_char_1): New function; delete
4259         `split_builtin_char'.
4260         (charset_code_point): Return <int> instead of <Lisp_Object>.
4261         (Fsplit_char): Don't use `SPLIT_CHAR'.
4262
4263         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4264         prototype for `split_builtin_char'.
4265         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4266         (charset_code_point): Likewise.
4267         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4268         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4269
4270 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4271
4272         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4273         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4274
4275 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4276
4277         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4278
4279         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4280         (MAX_CHAR_OBS_94x94): Deleted.
4281
4282 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4283
4284         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4285
4286         * char-ucs.h (MAX_CHAR_BMP): New macro.
4287
4288 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4289
4290         * text-coding.c: Sync with r21-2-24.
4291
4292 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4293
4294         * file-coding.c: Modify for UTF-2000.
4295
4296 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4297
4298         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4299         to 0.13 (Takaida).
4300
4301 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4302
4303         * mule-charset.c (split_builtin_char): Delete builtin support for
4304         `katakana-jisx0201'.
4305         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4306         BMP area in builtin representation.
4307
4308         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4309         `Vcharset_katakana_jisx0201'.
4310
4311 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4312
4313         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4314         (Qisolated): New variable.
4315         (Qinitial): New variable.
4316         (Qmedial): New variable.
4317         (Qfinal): New variable.
4318         (Qvertical): New variable.
4319         (Qsmall): New variable.
4320         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4321         `Qvertical' and `Qsmall'.
4322         (Qmojikyo_pj_[1 .. 21]): New variable.
4323         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4324         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4325         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4326         .. 21]'.
4327
4328 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4329
4330         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4331         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4332         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4333
4334 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4335
4336         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4337         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4338         BMP.
4339         (Qjapanese_jisx0208_1990): New variable.
4340         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4341         (complex_vars_of_mule_charset): Add new coded-charset
4342         `japanese-jisx0208-1990'.
4343
4344         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4345         (MIN_CHAR_JIS_X0208_1990): New macro.
4346         (MAX_CHAR_JIS_X0208_1990): New macro.
4347
4348 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4349
4350         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4351         coded-charset is not found.
4352
4353 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4354
4355         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4356         (Fdefine_char): Use `Fmake_char'.
4357
4358 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4359
4360         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4361         (Vcharset_hiragana_jisx0208): Deleted.
4362         (Vcharset_katakana_jisx0208): Deleted.
4363         (Qideograph_daikanwa): New variable.
4364         (Qhiragana_jisx0208): Deleted.
4365         (Qkatakana_jisx0208): Deleted.
4366         (split_builtin_char): Split `ideograph-daikanwa'.
4367         (Fsplit_char): New implementation for UTF-2000.
4368         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4369         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4370         (complex_vars_of_mule_charset): Add new coded-charset
4371         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4372         `katakana-jisx0208'.
4373
4374         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4375         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4376         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4377         (MIN_CHAR_DAIKANWA): New macro.
4378         (MAX_CHAR_DAIKANWA): New macro.
4379
4380 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4381
4382         * data.c (Fstring_to_number): Don't recognize floating point if
4383         base is not 10.
4384
4385 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4386
4387         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4388
4389 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4390
4391         * mule-charset.c (Qsquare): New variable.
4392         (to_char_code): Add `Qsquare'.
4393         (syms_of_mule_charset): Add new symbol `square'.
4394
4395 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4396
4397         * mule-charset.c (Qcircle): New variable.
4398         (to_char_code): Add `Qcircle'.
4399         (syms_of_mule_charset): Add new symbol `circle'.
4400
4401 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4402
4403         * mule-charset.c (Qfont): New variable.
4404         (to_char_code): Add `Qfont'.
4405         (syms_of_mule_charset): Add new symbol `font'.
4406
4407 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4408
4409         * mule-charset.c (Qsub): New variable.
4410         (to_char_code): Add `Qsub'.
4411         (syms_of_mule_charset): Add new symbol `sub'.
4412
4413 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4414
4415         * mule-charset.c (Fput_char_attribute): Convert each element of
4416         VALUE to GL position if ATTRIBUTE is a GR-set,
4417
4418 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4419
4420         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4421         coded-charset is a GR-set.
4422
4423 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4424
4425         * mule-charset.c (Fput_char_attribute): Check each element of
4426         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4427
4428 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4429
4430         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4431         UTF-2000.
4432         (Qethiopic_ucs): New variable in UTF-2000.
4433         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4434         (complex_vars_of_mule_charset): Add new coded-charset
4435         `ethiopic-ucs' in UTF-2000.
4436
4437         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4438         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4439         9)'.
4440         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4441         10)'.
4442         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4443
4444 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4445
4446         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4447         `ascii'.
4448
4449 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4450
4451         * mule-charset.c (Vcharacter_variant_table): New variable.
4452         (Q_ucs): New variable.
4453         (Fchar_variants): New function.
4454         (Fput_char_attribute): Register `->ucs' value to
4455         `Vcharacter_variant_table'.
4456         (syms_of_mule_charset): Add new function `char-variants' and new
4457         symbol `->ucs'.
4458         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4459
4460 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4461
4462         * mule-charset.c (get_char_code_table): Allow negative character
4463         code.
4464         (put_char_code_table): Likewise.
4465         (Vcharacter_composition_table): New variable.
4466         (Q_decomposition): New variable.
4467         (Qwide): New variable.
4468         (Qnarrow): New variable.
4469         (Qcompat): New variable.
4470         (QnoBreak): New variable.
4471         (Qsuper): New variable.
4472         (Qfraction): New variable.
4473         (to_char_code): New function.
4474         (Fget_composite_char): New function.
4475         (Fput_char_attribute): Register `->decomposition' value to
4476         `Vcharacter_composition_table'.
4477         (syms_of_mule_charset): Add new function `get-composite-char', new
4478         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4479         `super' and `fraction'.
4480         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4481
4482 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4483
4484         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4485         character; copy the return value.
4486
4487 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4488
4489         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4490
4491         * mule-charset.c (range_charset_code_point): Must use make_int.
4492         (split_builtin_char): New function.
4493
4494 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4495
4496         * mule-charset.c (char_byte_table): Change name from
4497         "char-code-table" to "char-byte-table".
4498         (mark_char_code_table): New function.
4499         (char_code_table_equal): New function.
4500         (char_code_table_hash): New function.
4501         (char_code_table_description): New constant.
4502         (char_code_table): New type.
4503         (make_char_code_table): New function.
4504         (copy_char_code_table): New function.
4505         (get_char_code_table): Modify for `char_code_table' type.
4506         (put_char_code_table): Likewise.
4507         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4508         (Kashiwara).
4509
4510         * char-ucs.h (char_code_table): New type.
4511         (XCHAR_CODE_TABLE): New macro.
4512         (XSETCHAR_CODE_TABLE): New macro.
4513         (CHAR_CODE_TABLE_P): New macro.
4514         (GC_CHAR_CODE_TABLE_P): New macro.
4515         (struct Lisp_Char_Code_Table): New structure.
4516
4517 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4518
4519         * mule-charset.c (Fmake_charset): Setup byte_offset for
4520         {94|96}^n-set.
4521
4522 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4523
4524         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4525         character.
4526
4527 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4528
4529         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4530         is found.
4531
4532 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4533
4534         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4535         charset, it is regarded as a charset.
4536         (put_char_attribute): New function in UTF-2000.
4537         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4538         charset, mapping-table of the charset is modified.
4539         (Fdefine_char): New function in UTF-2000.
4540         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4541         `Fput_char_attribute'.
4542         (syms_of_mule_charset): Add new function `define-char' and new
4543         symbol `ucs' in UTF-2000.
4544         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4545
4546 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4547
4548         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4549         non-UTF-2000 configuration.
4550
4551 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4552
4553         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4554         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4555
4556         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4557         deleted.
4558         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4559         (Fset_charset_mapping_table): Likewise.
4560
4561         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4562         (CHARSET_ENCODING_TABLE): Delete.
4563         (XCHARSET_ENCODING_TABLE): Delete.
4564         (charset_code_point): New interface.
4565
4566 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4567
4568         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4569         instead of `charset_get_byte1' and `charset_get_byte2'.
4570
4571         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4572         (charset_get_byte2): Deleted.
4573
4574 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4575
4576         * char-ucs.h (SPLIT_CHAR): New inline function.
4577         (breakup_char_1): Use `SPLIT_CHAR'.
4578
4579         * mule-charset.c (range_charset_code_point): New function.
4580         (charset_code_point): New function.
4581
4582         * char-ucs.h (range_charset_code_point): New interface.
4583         (breakup_char_1): Use `range_charset_code_point'.
4584
4585 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4586
4587         * mule-charset.c (Fmake_charset): Delete unused local variable
4588         `code_offset'.
4589
4590         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4591         (breakup_char_1): Find a charset and code-point in
4592         `Vcharacter_attribute_table'.
4593
4594 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4595
4596         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4597         to 0.10 (Yao).
4598
4599 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4600
4601         * mule-charset.c (Vcharacter_attribute_table): New variable.
4602         (Fchar_attribute_alist): New function.
4603         (Fget_char_attribute): New function.
4604         (Fput_char_attribute): New function.
4605         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4606         too.
4607         (syms_of_mule_charset): Add new function `char-attribute-alist',
4608         `get-char-attribute' and `put-char-attribute'.
4609         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4610
4611 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4612
4613         * mule-charset.c (Fmake_charset): Just use
4614         `get_unallocated_leading_byte'.
4615
4616         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4617         sets; don't use final-byte based number for private sets.
4618
4619 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4620
4621         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4622         integer.
4623
4624 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4625
4626         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4627         to 0.9.
4628
4629 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4630
4631         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4632         of `CHAR_LEADING_BYTE' in UTF-2000.
4633
4634         * insdel.c (find_charsets_in_bufbyte_string): Use
4635         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4636         (find_charsets_in_emchar_string): Likewise.
4637
4638         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4639         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4640
4641         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4642         (CHAR_CHARSET_ID): New macro.
4643
4644 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4645
4646         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4647         charset-id - MIN_LEADING_BYTE.
4648         (put_char_table): Likewise.
4649
4650 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4651
4652         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4653         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4654         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4655         (CHARSET_ID_OFFSET): New macro.
4656         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4657         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4658         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4659         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4660         4).
4661         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4662         5).
4663         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4664         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4665         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4666         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4667         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4668
4669 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4670
4671         * mule-charset.c (next_allocated_leading_byte): New variable in
4672         UTF-2000.
4673         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4674         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4675         (get_unallocated_leading_byte): Simply use
4676         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4677         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4678         UTF-2000.
4679
4680         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4681         (MAX_LEADING_BYTE_PRIVATE): New macro.
4682         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4683         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4684
4685 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4686
4687         * mule-charset.c (Fmake_charset): Allocate final-byte based
4688         charset-id for 94-set, 96-set and 94x94-set.
4689
4690 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4691
4692         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4693         ambiguous `else'.
4694         (Fmake_charset): Likewise.
4695         (complex_vars_of_mule_charset): Modify the font registry of
4696         `ucs-bmp' not to match `Ethiopic-Unicode'.
4697
4698 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4699
4700         * mule-charset.c (complex_vars_of_mule_charset): Add font
4701         registory of `ucs-bmp'.
4702
4703 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4704
4705         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4706         coded-charsets in `default-coded-charset-priority-list' when
4707         breaking up a character.
4708
4709         * mule-charset.c (Vcharset_latin_viscii): New variable.
4710         (Qlatin_viscii): New variable.
4711         (make_charset): Don't use `decoding_table'.
4712         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4713         byte_offset.
4714         (Fset_charset_mapping_table): New implementation.
4715         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4716         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4717         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4718         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4719         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4720         charset `latin_viscii'.
4721
4722         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4723         (CHARSET_TYPE_94X94): Change to 1 from 2.
4724         (CHARSET_TYPE_96): Change to 2 from 1.
4725         (CHARSET_TYPE_128): New macro.
4726         (CHARSET_TYPE_128X128): Change to 5 from 4.
4727         (CHARSET_TYPE_256): New macro.
4728         (CHARSET_TYPE_256X256): Change to 7 from 5.
4729         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4730
4731 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4732
4733         * text-coding.c (char_encode_shift_jis): Refer
4734         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4735         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4736
4737         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4738         (char_byte_table_equal): New function in UTF-2000.
4739         (char_byte_table_hash): New function in UTF-2000.
4740         (char_byte_table_description): New constant in UTF-2000.
4741         (char_byte_table): New type in UTF-2000.
4742         (make_char_byte_table): New function in UTF-2000.
4743         (copy_char_byte_table): New function in UTF-2000.
4744         (make_char_code_table): New macro in UTF-2000.
4745         (get_char_code_table): New function in UTF-2000.
4746         (put_char_code_table): New function in UTF-2000.
4747         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4748         (charset_description): Add setting in UTF-2000.
4749         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4750         `CHARSET_TO_BYTE1_TABLE(cs)'.
4751         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4752         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4753         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4754         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4755         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4756         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4757         `CHARSET_TO_BYTE2_TABLE(cs)'.
4758
4759         * char-ucs.h (char_byte_table): New type.
4760         (XCHAR_BYTE_TABLE): New macro.
4761         (XSETCHAR_BYTE_TABLE): New macro.
4762         (CHAR_BYTE_TABLE_P): New macro.
4763         (GC_CHAR_BYTE_TABLE_P): New macro.
4764         (struct Lisp_Char_Byte_Table): New structure.
4765         (get_char_code_table): New interface.
4766         (Emchar_to_byte_table): Deleted.
4767         (get_byte_from_character_table): Deleted.
4768         (struct Lisp_Charset): Add `encoding_table'; delete
4769         `to_byte1_table' and `to_byte2_table'.
4770         (CHARSET_ENCODING_TABLE): New macro.
4771         (CHARSET_TO_BYTE1_TABLE): Deleted.
4772         (CHARSET_TO_BYTE2_TABLE): Deleted.
4773         (XCHARSET_ENCODING_TABLE): New macro.
4774         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4775         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4776
4777 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4778
4779         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4780         `vietnamese-viscii-*'.
4781
4782 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4783
4784         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4785         (Qvietnamese_viscii_upper): New variable.
4786         (Fdefine_charset_alias): New function.
4787         (syms_of_mule_charset): Add new function `define-charset-alias'.
4788         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4789         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4790         `latin-viscii-*'.
4791
4792 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4793
4794         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4795         (MAX_CHAR_OBS_94x94): New macro.
4796         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4797         for 94x94 sets.
4798
4799         * mule-charset.c (put_byte_from_character_table): Change unit size
4800         from 128 to 256.
4801         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4802         not defined.
4803         (Fmake_reverse_direction_charset): Modify dummy argument of
4804         `make_charset' for non-UTF-2000 environment.
4805
4806 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4807
4808         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4809
4810         * mule-charset.c (destroy_byte_from_character_table): New macro.
4811         (latin_jisx0201_to_ucs): Deleted.
4812         (latin_iso8859_2_to_ucs): Deleted.
4813         (latin_iso8859_3_to_ucs): Deleted.
4814         (latin_iso8859_4_to_ucs): Deleted.
4815         (latin_iso8859_9_to_ucs): Deleted.
4816         (latin_viscii_lower_to_ucs): Deleted.
4817         (latin_viscii_upper_to_ucs): Deleted.
4818         (mark_charset): Mark `cs->decoding_table'.
4819         (Fcharset_mapping_table): Fix DOC-string.
4820         (Fset_charset_mapping_table): New function.
4821         (syms_of_mule_charset): Add nwe function
4822         `set-charset-mapping-table'.
4823         (complex_vars_of_mule_charset): Don't setup and use
4824         `latin_*_to_ucs'.
4825
4826 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4827
4828         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4829         charset.
4830
4831 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4832
4833         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4834         (Vcharset_katakana_jisx0208): New variable.
4835         (Qhiragana_jisx0208): New variable.
4836         (Qkatakana_jisx0208): New variable.
4837         (make_charset): Add new argument `byte_offset'.
4838         (charset_get_byte1): Modify for new coded-charset definition; use
4839         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4840         `XCHARSET_BYTE_OFFSET'.
4841         (Fmake_charset): Modify for `make_charset'.
4842         (Fmake_reverse_direction_charset): Likewise.
4843         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4844         `katakana-jisx0208'.
4845         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4846         `.'  in font registry of charset `katakana-jisx0201',
4847         `latin-jisx0201', `vietnamese-viscii-lower' and
4848         `vietnamese-viscii-upper'; modify DOC-string of charset
4849         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4850         registry of charset `japanese-jisx0208' not to use font for JIS
4851         X0208:1990; add new charset `hiragana-jisx0208' and
4852         `katakana-jisx0208'.
4853
4854         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4855         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4856         (struct Lisp_Charset): Add `byte_offset'.
4857         (CHARSET_BYTE_OFFSET): New macro.
4858         (XCHARSET_UCS_MIN): New macro.
4859         (XCHARSET_UCS_MAX): New macro.
4860         (XCHARSET_CODE_OFFSET): New macro.
4861         (XCHARSET_BYTE_OFFSET): New macro.
4862         (MIN_CHAR_HIRAGANA): New macro.
4863         (MAX_CHAR_HIRAGANA): New macro.
4864         (MIN_CHAR_KATAKANA): New macro.
4865         (MAX_CHAR_KATAKANA): New macro.
4866         (MAKE_CHAR): Modify for new coded-charset definition; use
4867         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4868         `XCHARSET_BYTE_OFFSET'.
4869
4870 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4871
4872         * mule-charset.c (CHAR96): Deleted.
4873         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4874         <Lisp_Object>.
4875         (latin_iso8859_2_to_ucs): Likewise.
4876         (latin_iso8859_3_to_ucs): Likewise.
4877         (latin_iso8859_4_to_ucs): Likewise.
4878         (latin_iso8859_9_to_ucs): Likewise.
4879         (latin_viscii_lower_to_ucs): Likewise.
4880         (latin_viscii_upper_to_ucs): Likewise.
4881         (latin_tcvn5712_to_ucs): Commented out.
4882         (make_charset): Change type of argument `decoding_table' from
4883         <Emchar*> to <Lisp_Object> [vector of characters].
4884         (Fmake_charset): Modify for `make_charset'.
4885         (Fmake_reverse_direction_charset): Likewise.
4886         (Fcharset_mapping_table): New function in UTF-2000.
4887         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4888         UTF-2000.
4889         (complex_vars_of_mule_charset): Modify for type change of
4890         `*_to_ucs'; modify for `make_charset'.
4891
4892         * char-ucs.h (struct Lisp_Charset): Change type of
4893         `decoding_table' from <Emchar*> to <Lisp_Object>.
4894         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4895
4896 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4897
4898         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4899         error with non-UTF-2000-Mule.
4900
4901 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4902
4903         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4904         in lisp again].
4905         (Vcharset_chinese_cns11643_4): Likewise.
4906         (Vcharset_chinese_cns11643_5): Likewise.
4907         (Vcharset_chinese_cns11643_6): Likewise.
4908         (Vcharset_chinese_cns11643_7): Likewise.
4909         (Qchinese_cns11643_3): Likewise.
4910         (Qchinese_cns11643_4): Likewise.
4911         (Qchinese_cns11643_5): Likewise.
4912         (Qchinese_cns11643_6): Likewise.
4913         (Qchinese_cns11643_7): Likewise.
4914         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4915         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4916         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4917         (complex_vars_of_mule_charset): Likewise.
4918
4919 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4920
4921         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4922         96-set.
4923         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4924         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4925
4926 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4927
4928         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4929         0xFF60.
4930         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4931         (breakup_char_1): Likewise.
4932
4933         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4934         one of them includes the specified character.
4935
4936 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4937
4938         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4939
4940 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4941
4942         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4943
4944 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4945
4946         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4947         definition for non-UTF-2000 Mule.
4948         (latin_iso8859_3_to_ucs): Likewise.
4949         (latin_iso8859_4_to_ucs): Likewise.
4950         (latin_iso8859_9_to_ucs): Likewise.
4951         (latin_jisx0201_to_ucs): Likewise.
4952         (MIN_CHAR_THAI): Likewise.
4953         (MAX_CHAR_THAI): Likewise.
4954         (MIN_CHAR_GREEK): Likewise.
4955         (MAX_CHAR_GREEK): Likewise.
4956         (MIN_CHAR_HEBREW): Likewise.
4957         (MAX_CHAR_HEBREW): Likewise.
4958         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4959         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4960         (MIN_CHAR_CYRILLIC): Likewise.
4961         (MAX_CHAR_CYRILLIC): Likewise.
4962
4963 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4964
4965         * char-ucs.h (breakup_char_1): Use
4966         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4967         thai-tis620 and katakana-jisx0201 area.
4968
4969 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4970
4971         * char-ucs.h (breakup_char_1): Use
4972         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4973         area.
4974
4975         * text-coding.c (reset_encoding_stream): Fixed.
4976         (char_encode_ucs4): Delete `& 255'.
4977
4978         * char-ucs.h (breakup_char_1): Use
4979         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4980
4981 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4982
4983         * file-coding.c (Fmake_coding_system): Don't set up
4984         `codesys->fixed.size'.
4985         (encode_coding_no_conversion): Don't refer
4986         `str->codesys->fixed.size'.
4987
4988 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4989
4990         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4991         (latin_a_char_to_byte1): Deleted.
4992         (latin_a_char_to_byte2): Deleted.
4993
4994 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4995
4996         * mule-charset.c (make_charset): Add new argument `ucs_min',
4997         `ucs_max' and `code_offset'.
4998         (charset_get_byte1): New implementation [delete specific charset
4999         depended implementations].
5000         (Fmake_charset): Modify for `make_charset'.
5001         (Fmake_reverse_direction_charset): Likewise.
5002         (complex_vars_of_mule_charset): Likewise.
5003
5004         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5005         `code_offset'.
5006         (CHARSET_UCS_MIN): New macro.
5007         (CHARSET_UCS_MAX): New macro.
5008         (CHARSET_CODE_OFFSET): New macro.
5009         (MAKE_CHAR): Delete charset depended definitions [except
5010         katakana-jisx0201].
5011
5012 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5013
5014         * char-ucs.h (breakup_char_1): Use
5015         `Vdefault_coded_charset_priority_list' for C0-Controls,
5016         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5017
5018 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5019
5020         * char-ucs.h (charset_get_byte1): New function.
5021         (XCHARSET_GET_BYTE1): Deleted.
5022         (charset_get_byte2): New function.
5023         (XCHARSET_GET_BYTE2): Deleted.
5024         (Vdefault_coded_charset_priority_list): New external variable.
5025         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5026         `Vdefault_preferred_coded_charset_list'.
5027
5028         * mule-charset.c (charset_get_byte1): New function.
5029         (charset_get_byte2): New function.
5030         (Vdefault_coded_charset_priority_list): New variable.
5031         (vars_of_mule_charset): Add new variable
5032         `default-coded-charset-priority-list'.
5033
5034 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5035
5036         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5037         (XCHARSET_GET_BYTE2): New inline function.
5038         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5039         `XCHARSET_GET_BYTE2'.
5040
5041 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5042
5043         * mule-charset.c (make_charset): Initialize
5044         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5045         NULL if table is not defined.
5046
5047 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5048
5049         * text-coding.c (char_encode_shift_jis): Use
5050         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5051         `ucs_to_latin_jisx0201'.
5052
5053         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5054         (ucs_to_latin_iso8859_2): Deleted.
5055         (ucs_to_latin_iso8859_3): Deleted.
5056         (ucs_to_latin_iso8859_4): Deleted.
5057         (ucs_to_latin_iso8859_9): Deleted.
5058         (ucs_to_latin_viscii_lower): Deleted.
5059         (ucs_to_latin_viscii_upper): Deleted.
5060         (ucs_to_latin_tcvn5712): Deleted.
5061         (make_charset): Add new argument `decoding_table'; set up
5062         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5063         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5064         `decoding_table' is defined in UTF-2000.
5065         (Fmake_charset): Modify for `make_charset'.
5066         (Fmake_reverse_direction_charset): Likewise.
5067         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5068         and `GENERATE_96_SET'.
5069
5070         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5071         (ucs_to_latin_jisx0201): Deleted.
5072         (latin_iso8859_2_to_ucs): Deleted.
5073         (ucs_to_latin_iso8859_2): Deleted.
5074         (latin_iso8859_3_to_ucs): Deleted.
5075         (ucs_to_latin_iso8859_3): Deleted.
5076         (latin_iso8859_4_to_ucs): Deleted.
5077         (ucs_to_latin_iso8859_4): Deleted.
5078         (latin_iso8859_9_to_ucs): Deleted.
5079         (ucs_to_latin_iso8859_9): Deleted.
5080         (latin_viscii_lower_to_ucs): Deleted.
5081         (ucs_to_latin_viscii_lower): Deleted.
5082         (latin_viscii_upper_to_ucs): Deleted.
5083         (ucs_to_latin_viscii_upper): Deleted.
5084         (struct Lisp_Charset): Renamed `encoding_table' to
5085         `to_byte1_table'; add `to_byte2_table'.
5086         (CHARSET_DECODING_TABLE): New macro.
5087         (CHARSET_TO_BYTE1_TABLE): New macro.
5088         (CHARSET_TO_BYTE2_TABLE): New macro.
5089         (XCHARSET_DECODING_TABLE): New macro.
5090         (XCHARSET_TO_BYTE1_TABLE): New macro.
5091         (XCHARSET_TO_BYTE2_TABLE): New macro.
5092         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5093         tables.
5094         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5095         don't use `ucs_to_*' tables.
5096
5097 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5098
5099         * text-coding.c (Fmake_coding_system): Don't set up
5100         `codesys->fixed.size'.
5101         (encode_coding_no_conversion): Use `if' instead of `switch'.
5102
5103         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5104
5105 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5106
5107         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5108         (Fmake_charset): Modify for `make_charset'.
5109         (Fmake_reverse_direction_charset): Likewise.
5110         (complex_vars_of_mule_charset): Likewise.
5111
5112 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5113
5114         * text-coding.c (char_encode_shift_jis): Use table
5115         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5116
5117 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5118
5119         * text-coding.c (text_encode_generic): Use `if' instead of
5120         `switch'.
5121         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5122         decode JIS-Latin.
5123
5124 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5125
5126         * text-coding.c (encode_coding_sjis): Deleted.
5127         (char_encode_shift_jis): New function.
5128         (char_finish_shift_jis): New function.
5129         (reset_encoding_stream): Set up `encode_char' and `finish' for
5130         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5131         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5132         (char_encode_utf8): Treat `eol_type'.
5133
5134 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5135
5136         * file-coding.c (decode_coding_iso2022): Use
5137         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5138
5139 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5140
5141         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5142         to 0.7 (Hirano).
5143
5144 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5145
5146         * char-lb.h (CHAR_COLUMNS): New macro.
5147
5148 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5149
5150         * text-coding.c (char_encode_ucs4): New function.
5151         (char_finish_ucs4): New function.
5152         (encode_coding_ucs4): Deleted.
5153         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5154         (text_encode_generic): Delete local variable `charset' and `half'.
5155         (ucs_to_mule_table): Deleted.
5156         (mule_to_ucs_table): Deleted.
5157         (Fset_ucs_char): Deleted.
5158         (ucs_to_char): Deleted.
5159         (Fucs_char): Deleted.
5160         (Fset_char_ucs): Deleted.
5161         (Fchar_ucs): Deleted.
5162         (decode_ucs4): Deleted.
5163         (mule_char_to_ucs4): Deleted.
5164         (encode_ucs4): Deleted.
5165         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5166         (decode_coding_utf8): Likewise.
5167         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5168         (char_encode_iso2022): Fixed.
5169         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5170         `Fset_char_ucs' and `Fchar_ucs'.
5171         (complex_vars_of_file_coding): Don't initialize
5172         `ucs_to_mule_table'.
5173
5174         * objects-tty.c (tty_initialize_font_instance): Don't use
5175         `XCHARSET_COLUMNS'.
5176
5177         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5178         UTF-2000.
5179
5180         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5181         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5182
5183         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5184         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5185         (emchar_string_displayed_columns): Likewise.
5186
5187         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5188         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5189         (string_column_at_point): Likewise.
5190         (Fmove_to_column): Likewise.
5191
5192         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5193         `encoding_table' and `decoding_table'.
5194         (CHARSET_REP_BYTES): Deleted.
5195         (XCHARSET_REP_BYTES): Deleted.
5196         (XCHARSET_COLUMNS): Deleted.
5197         (CHAR_COLUMNS): New macro.
5198         (lookup_composite_char): Deleted unconditionally.
5199         (composite_char_string): Likewise.
5200
5201 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5202
5203         * char-ucs.h (Emchar_to_byte_table): New type.
5204         (get_byte_from_character_table): New function interface.
5205         (Vcharset_latin_jisx0201): New variable.
5206         (latin_jisx0201_to_ucs): New variable.
5207         (ucs_to_latin_jisx0201): New variable.
5208         (Vcharset_latin_iso8859_2): New variable.
5209         (latin_iso8859_2_to_ucs): New variable.
5210         (ucs_to_latin_iso8859_2): New variable.
5211         (Vcharset_latin_iso8859_3): New variable.
5212         (latin_iso8859_3_to_ucs): New variable.
5213         (ucs_to_latin_iso8859_3): New variable.
5214         (Vcharset_latin_iso8859_4): New variable.
5215         (latin_iso8859_4_to_ucs): New variable.
5216         (ucs_to_latin_iso8859_4): New variable.
5217         (Vcharset_latin_iso8859_9): New variable.
5218         (latin_iso8859_9_to_ucs): New variable.
5219         (ucs_to_latin_iso8859_9): New variable.
5220         (Vcharset_latin_viscii_lower): New variable.
5221         (latin_viscii_lower_to_ucs): New variable.
5222         (ucs_to_latin_viscii_lower): New variable.
5223         (Vcharset_latin_viscii_upper): New variable.
5224         (latin_viscii_upper_to_ucs): New variable.
5225         (ucs_to_latin_viscii_upper): New variable.
5226         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5227         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5228         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5229         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5230         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5231         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5232         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5233         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5234         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5235         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5236
5237         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5238         (Vcharset_latin_viscii_upper): New variable.
5239         (make_byte_from_character_table): New function.
5240         (put_byte_from_character_table): New function.
5241         (get_byte_from_character_table): New function.
5242         (CHAR96): New macro.
5243         (ucs_to_latin_jisx0201): New variable.
5244         (latin_jisx0201_to_ucs): New variable.
5245         (ucs_to_latin_iso8859_2): New variable.
5246         (latin_iso8859_2_to_ucs): New variable.
5247         (ucs_to_latin_iso8859_3): New variable.
5248         (latin_iso8859_3_to_ucs): New variable.
5249         (ucs_to_latin_iso8859_4): New variable.
5250         (latin_iso8859_4_to_ucs): New variable.
5251         (ucs_to_latin_iso8859_9): New variable.
5252         (latin_iso8859_9_to_ucs): New variable.
5253         (ucs_to_latin_viscii_lower): New variable.
5254         (latin_viscii_lower_to_ucs): New variable.
5255         (ucs_to_latin_viscii_upper): New variable.
5256         (latin_viscii_upper_to_ucs): New variable.
5257         (ucs_to_latin_tcvn5712): New variable.
5258         (latin_tcvn5712_to_ucs): New variable.
5259         (Qlatin_viscii_lower): New variable.
5260         (Qlatin_viscii_upper): New variable.
5261         (syms_of_mule_charset): Set up new symbol
5262         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5263         (complex_vars_of_mule_charset): Set up new charset
5264         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5265         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5266         `ucs_to_<CHARSET>' tables.
5267
5268 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5269
5270         * text-coding.c: New file.
5271
5272 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5273
5274         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5275
5276         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5277         (MAKE_CHAR): Modify for `ucs-bmp'.
5278         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5279         non-MULE characters of BMP.
5280
5281 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5282
5283         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5284         to 0.6.
5285
5286 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5287
5288         * lstream.h:
5289         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5290         - Include character.h for `CHAR_ASCII_P'.
5291
5292         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5293
5294         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5295         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5296
5297         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5298         (BYTE_C0_P): Likewise.
5299         (BYTE_C1_P): Likewise.
5300         (Lstream_get_emchar_1): Likewise.
5301         (Lstream_fput_emchar): Likewise.
5302         (Lstream_funget_emchar): Likewise.
5303         (copy_internal_to_external): Likewise.
5304         (copy_external_to_internal): Likewise.
5305
5306         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5307         (BYTE_C0_P): Likewise.
5308         (BYTE_C1_P): Likewise.
5309         (Lstream_get_emchar_1): Likewise.
5310         (Lstream_fput_emchar): Likewise.
5311         (Lstream_funget_emchar): Likewise.
5312         (copy_internal_to_external): Likewise.
5313         (copy_external_to_internal): Likewise.
5314
5315         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5316         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5317
5318         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5319         (BYTE_ASCII_P): Moved to mb-1byte.h.
5320
5321 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5322
5323         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5324
5325         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5326         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5327         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5328         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5329         (VALIDATE_CHARPTR_FORWARD): Likewise.
5330         (simple_charptr_emchar): Moved to mb-multibyte.h.
5331         (simple_set_charptr_emchar): Likewise.
5332         (simple_charptr_copy_char): Likewise.
5333         (non_ascii_charptr_emchar): Likewise.
5334         (non_ascii_set_charptr_emchar): Likewise.
5335         (non_ascii_charptr_copy_char): Likewise.
5336         (charptr_emchar): Moved to mb-*byte.h.
5337         (set_charptr_emchar): Likewise.
5338         (charptr_copy_char): Likewise.
5339
5340         * mb-1byte.h, mb-multibyte.h: New files.
5341
5342 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5343
5344         * mb-utf-8.h (MULTIBYTE): New macro.
5345         (MAX_EMCHAR_LEN): Moved from buffer.h.
5346         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5347
5348         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5349
5350         * mb-lb.h, multibyte.h: New files.
5351
5352         * char-1byte.h (Charset_ID): Moved from buffer.h.
5353         (MIN_LEADING_BYTE): Likewise.
5354         (LEADING_BYTE_ASCII): Likewise.
5355         (NUM_LEADING_BYTES): Likewise.
5356         (CHARSETP): Likewise.
5357         (CHARSET_BY_LEADING_BYTE): Likewise.
5358         (XCHARSET_LEADING_BYTE): Likewise.
5359         (XCHARSET_GRAPHIC): Likewise.
5360         (XCHARSET_COLUMNS): Likewise.
5361         (XCHARSET_DIMENSION): Likewise.
5362         (CHAR_CHARSET): Likewise.
5363         (CHAR_LEADING_BYTE): Likewise.
5364         (BREAKUP_CHAR): Likewise.
5365         (Vcharset_ascii): Likewise.
5366
5367         * buffer.h: Include multibyte.h unconditionally.
5368         (VALID_CHARPTR_P): Moved to multibyte.h.
5369         (ASSERT_VALID_CHARPTR): Likewise.
5370         (REAL_INC_CHARPTR): Likewise.
5371         (REAL_INC_CHARBYTIND): Likewise.
5372         (REAL_DEC_CHARPTR): Likewise.
5373         (INC_CHARPTR): Likewise.
5374         (INC_CHARBYTIND): Likewise.
5375         (DEC_CHARPTR): Likewise.
5376         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5377         (VALIDATE_CHARPTR_FORWARD): Likewise.
5378         (charptr_n_addr): Likewise.
5379         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5380         (simple_charptr_emchar): Moved to multibyte.h.
5381         (simple_set_charptr_emchar): Likewise.
5382         (simple_charptr_copy_char): Likewise.
5383         (non_ascii_charptr_emchar): Likewise.
5384         (non_ascii_set_charptr_emchar): Likewise.
5385         (non_ascii_charptr_copy_char): Likewise.
5386         (charptr_emchar): Likewise.
5387         (set_charptr_emchar): Likewise.
5388         (charptr_copy_char): Likewise.
5389         (charptr_emchar_n): Likewise.
5390         (Charset_ID): Moved to char-1byte.h.
5391         (Vcharset_ascii): Likewise.
5392         (CHAR_CHARSET): Likewise.
5393         (CHAR_LEADING_BYTE): Likewise.
5394         (LEADING_BYTE_ASCII): Likewise.
5395         (NUM_LEADING_BYTES): Likewise.
5396         (MIN_LEADING_BYTE): Likewise.
5397         (CHARSETP): Likewise.
5398         (CHARSET_BY_LEADING_BYTE): Likewise.
5399         (XCHARSET_LEADING_BYTE): Likewise.
5400         (XCHARSET_GRAPHIC): Likewise.
5401         (XCHARSET_COLUMNS): Likewise.
5402         (XCHARSET_DIMENSION): Likewise.
5403         (BREAKUP_CHAR): Likewise.
5404
5405 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5406
5407         * character.h: Add document about interface for characters.
5408
5409         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5410         (MAKE_CHAR): Delete comment about
5411         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5412         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5413         (BREAKUP_CHAR): Modify name of arguments.
5414         (CHAR_CHARSET): Modify name of argument.
5415
5416         * buffer.h: Delete document about Emchar accessors.
5417
5418 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5419
5420         * character.h (CHAR_INTP): Moved from buffer.h
5421         (CHAR_OR_CHAR_INTP): Likewise.
5422         (XCHAR_OR_CHAR_INT): Likewise.
5423         (CHECK_CHAR_COERCE_INT): Likewise.
5424
5425         * buffer.h (CHAR_INTP): Moved to character.h
5426         (CHAR_OR_CHAR_INTP): Likewise.
5427         (XCHAR_OR_CHAR_INT): Likewise.
5428         (CHECK_CHAR_COERCE_INT): Likewise.
5429
5430 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5431
5432         * character.h:
5433         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5434         - Include char-1byte.h, char-lb.h or char-ucs.h.
5435
5436         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5437
5438         * buffer.h: Include character unconditionally.
5439         (valid_char_p): Moved to char-*.h.
5440         (non_ascii_valid_char_p): Moved to char-lb.h.
5441
5442         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5443
5444 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5445
5446         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5447         in UTF-2000 because it is not ported yet and not to use
5448         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5449         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5450         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5451
5452         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5453         (CHAR_ASCII_P): Moved from character.h.
5454
5455         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5456         (CHAR_ASCII_P): Likewise.
5457         (CHAR_FIELD1_MASK): Deleted.
5458         (CHAR_FIELD2_MASK): Deleted.
5459         (CHAR_FIELD3_MASK): Deleted.
5460         (MAX_CHAR_BASIC_LATIN): New macro.
5461         (CHAR_FIELD1): Deleted.
5462         (CHAR_FIELD2_INTERNAL): Deleted.
5463         (CHAR_FIELD3_INTERNAL): Deleted.
5464         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5465         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5466         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5467         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5468         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5469         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5470         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5471         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5472         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5473         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5474         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5475         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5476         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5477         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5478         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5479         (MIN_CHAR_COMPOSITION): Deleted.
5480         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5481         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5482
5483 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5484
5485         * buffer.h: Include mb-utf-8.h in UTF-2000.
5486
5487         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5488
5489         * mb-utf-8.h: New file.
5490
5491 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5492
5493         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5494         instead of `int'.
5495
5496         * mule-charset.h, buffer.h (Charset_ID): New type.
5497
5498 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5499
5500         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5501         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5502         instead of `MULE_CHAR_PRIVATE_OFFSET',
5503         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5504         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5505         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5506
5507         * character.h (Vcharset_japanese_jisx0212): New variable
5508         definition.
5509
5510 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5511
5512         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5513         (charset_by_attributes): Delete array about direction.
5514         (latin_a_char_to_charset): New variable in UTF-2000.
5515         (latin_a_char_to_byte1): New variable in UTF-2000.
5516         (latin_a_char_to_byte2): New variable in UTF-2000.
5517         (Qucs_bmp): New variable.
5518         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5519         `Bufbyte'.
5520         (next_allocated_2_byte_leading_byte): Likewise.
5521         (non_ascii_set_charptr_emchar): Likewise.
5522         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5523         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5524         `charset_by_attributes'.
5525         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5526         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5527         and `CHARSET_BY_LEADING_BYTE'.
5528         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5529         `utf-2000-version' to `vars_of_mule_charset'.
5530         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5531         define `leading-code-private-11' in UTF-2000; move setting of
5532         `utf-2000-version' from `syms_of_mule_charset'.
5533         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5534         UTF-2000.
5535
5536         * character.h (Charset_ID): New type.
5537         (LEADING_BYTE_UCS_BMP): New macro.
5538         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5539         (CHARSET_ID_OFFSET_94): New macro.
5540         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5541         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5542         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5543         final-byte.
5544         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5545         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5546         (CHARSET_ID_OFFSET_96): New macro.
5547         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5548         CHARSET_ID_OFFSET_96 and final-byte.
5549         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5550         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5551         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5552         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5553         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5554         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5555         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5556         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5557         (LEADING_BYTE_THAI_TIS620): Likewise.
5558         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5559         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5560         (CHARSET_ID_OFFSET_94x94): New macro.
5561         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5562         CHARSET_ID_OFFSET_94x94 and final-byte.
5563         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5564         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5565         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5566         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5567         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5568         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5569         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5570         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5571         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5572         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5573         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5574         (CHARSET_TYPE_128X128): New macro.
5575         (CHARSET_TYPE_256X256): New macro.
5576         (XCHARSET_PRIVATE_P): Delete unconditionally.
5577         (charset_by_attributes): Delete array about direction.
5578         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5579         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5580         (MIN_CHAR_94): New macro.
5581         (MAX_CHAR_94): New macro.
5582         (MIN_CHAR_96): New macro.
5583         (MAX_CHAR_96): New macro.
5584         (MIN_CHAR_94x94): New macro.
5585         (MAX_CHAR_94x94): New macro.
5586         (MIN_CHAR_96x96): New macro.
5587         (MAX_CHAR_96x96): New macro.
5588         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5589         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5590         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5591         - 32)'.
5592         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5593         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5594         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5595         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5596         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5597         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5598         `XCHARSET_LEADING_BYTE' to make code-point.
5599         (latin_a_char_to_charset): New variable.
5600         (latin_a_char_to_byte1): New variable.
5601         (latin_a_char_to_byte2): New variable.
5602         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5603         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5604         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5605
5606         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5607         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5608         (find_charsets_in_emchar_string): Likewise.
5609         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5610
5611         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5612         `int'.
5613         (decode_coding_iso2022): Likewise.
5614
5615         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5616         of `unsigned char'.
5617
5618         * redisplay.c (redisplay_text_width_emchar_string): Use
5619         `Charset_ID' instead of `unsigned char'.
5620         (redisplay_frame_text_width_string): Likewise.
5621
5622         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5623         `unsigned char'.
5624
5625         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5626         instead of `unsigned char'.
5627         (face_cachel_charset_font_metric_info): Likewise.
5628
5629         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5630         (get_non_ascii_char_table_value): Likewise.
5631         (get_char_table): Likewise.
5632         (put_char_table): Likewise.
5633         (map_over_other_charset): Likewise.
5634         (map_char_table): Likewise.
5635
5636         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5637         instead of `unsigned char'.
5638
5639 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5640
5641         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5642         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5643
5644         * mule-charset.c (leading_code_private_11): Don't define in
5645         UTF-2000.
5646
5647         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5648         in UTF-2000 because it is not ported yet and not to use
5649         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5650
5651 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5652
5653         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5654
5655 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5656
5657         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5658         in UTF-2000.
5659
5660         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5661         of unsigned char to store leading-byte.
5662
5663         * chartab.c (get_non_ascii_char_table_value): Don't use
5664         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5665
5666         * file-coding.c (encode_coding_big5): Delete bogus implementation
5667         in UTF2000.
5668
5669         * character.h (LEADING_BYTE_*): Delete definition for
5670         non-UTF-2000.
5671         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5672         (LEADING_BYTE_PREFIX_P): Deleted.
5673         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5674         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5675         (BUFBYTE_LEADING_BYTE_P): Deleted.
5676         (CHARSET_PRIVATE_P): Deleted unconditionally.
5677         (rep_bytes_by_first_byte): Deleted unconditionally.
5678         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5679         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5680         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5681         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5682         (CHAR_FIELD2): Deleted.
5683         (CHAR_FIELD3): Deleted.
5684         (MAKE_CHAR): Delete definition for non-UTF-2000.
5685         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5686         (breakup_char_1): New implementation.
5687         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5688         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5689
5690 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5691
5692         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5693         condition.
5694
5695 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5696
5697         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5698         (CHARSET_PRIVATE_P): Likewise.
5699         (XCHARSET_PRIVATE_P): Likewise.
5700         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5701
5702         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5703         UTF2000.
5704         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5705
5706 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5707
5708         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5709         (NUM_LEADING_BYTES): Changed from 128 to 256.
5710         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5711         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5712         UTF2000.
5713         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5714
5715         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5716         UTF2000.
5717         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5718         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5719         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5720         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5721         (Qchinese_cns11643_3): New variable in UTF2000.
5722         (Qchinese_cns11643_4): New variable in UTF2000.
5723         (Qchinese_cns11643_5): New variable in UTF2000.
5724         (Qchinese_cns11643_6): New variable in UTF2000.
5725         (Qchinese_cns11643_7): New variable in UTF2000.
5726         (syms_of_mule_charset): Define `chinese-cns11643-3',
5727         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5728         and `chinese-cns11643-7' in UTF2000.
5729         (vars_of_mule_charset): Initialize
5730         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5731         + 1 in UTF2000.
5732         (complex_vars_of_mule_charset): Setup charset
5733         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5734         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5735
5736 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5737
5738         * mule-charset.c: Move setting for `leading-code-private-11' from
5739         `syms_of_mule_charset' to `vars_of_mule_charset'.
5740
5741 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5742
5743         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5744         and `NUM_LEADING_BYTES' in assert.
5745
5746 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5747
5748         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5749         instead of 128.
5750         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5751         `NUM_LEADING_BYTES' instead of 128.
5752
5753 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5754
5755         * mule-charset.h (charset_by_leading_byte): Use
5756         `NUM_LEADING_BYTES' instead of 128.
5757         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5758
5759         * mule-charset.c (charset_by_leading_byte): Use
5760         `NUM_LEADING_BYTES' instead of 128.
5761         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5762
5763         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5764         128.
5765
5766 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5767
5768         * mule-charset.c (syms_of_mule_charset): Update to
5769         0.4 (Shin-Imamiya).
5770
5771 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5772
5773         * file-coding.c (encode_coding_sjis): New implementation for
5774         UTF2000.  (decode_coding_sjis): Ditto.
5775
5776 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5777
5778         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5779         Don't define in UTF2000.
5780
5781         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5782         defined.
5783
5784         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5785         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5786         MULE.
5787
5788 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5789
5790         * config.h.in (CHAR_IS_UCS4): New macro.
5791
5792         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5793         conventional MULE representation.
5794         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5795
5796         * mule-charset.h: Reverted to original.
5797
5798         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5799         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5800         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5801
5802         * character.h: New file.
5803
5804         * file-coding.c (Fmake_coding_system): Set 1 to
5805         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5806         defined.
5807         (encode_coding_no_conversion): New implementation for UTF2000.
5808
5809         * file-coding.h (struct Lisp_Coding_System): Add new member
5810         `fixed.size'.
5811
5812 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5813
5814         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5815         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5816         (encode_coding_iso2022): New implementation for UTF2000.
5817
5818 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5819
5820         * mule-canna.c (c2mu): New implementation for UTF2000.
5821         (m2c): Likewise.
5822
5823 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5824
5825         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5826
5827 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5828
5829         * file-coding.c (reset_encoding_stream): Set 0 to
5830         `str->iso2022.current_char_boundary' in UTF2000.
5831         (encode_utf8): Don't define in UTF2000.
5832         (encode_coding_utf8): New implementation for UTF-8 representation
5833         of UTF2000.
5834         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5835
5836 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5837
5838         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5839
5840         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5841         UTF2000.
5842         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5843
5844         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5845
5846         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5847         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5848         as UTF-8 in UTF2000.
5849         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5850         (non_ascii_valid_char_p): Don't define in UTF2000.
5851         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5852         (Lstream_get_emchar_1): Likewise.
5853         (utf-2000-version): New variable in UTF2000.
5854
5855         * lread.c (read_escape): Add new reader `u'.
5856
5857         * insdel.c (three_to_one_table): Don't define in UTF2000.
5858         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5859         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5860         UTF2000.
5861         (bytind_to_bufpos_func): Likewise.
5862         (buffer_mule_signal_inserted_region): Likewise.
5863         (vars_of_insdel): Don't initialize `three_to_one_table'.
5864         (init_buffer_text): Use `buf->text->mule_size' instead of
5865         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5866         UTF2000.
5867
5868         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5869         UTF-8 representation in UTF2000.
5870         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5871         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5872         (decode_coding_iso2022): Don't define local variable `lb' in
5873         UTF2000; don't use LEADING_BYTE in UTF2000; use
5874         `DECODE_ADD_UCS_CHAR' in UTF2000.
5875         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5876
5877         * config.h.in (UTF2000): New macro.
5878
5879         * buffer.h (struct buffer_text): Add new member `mule_size' and
5880         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5881         (valid_char_p): Return always 1 in UTF2000.
5882         (MAX_EMCHAR_LEN): 6 in UTF2000.
5883         (three_to_one_table): Don't define in UTF2000.
5884         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5885         UTF2000.
5886         (real_bytind_to_bufpos): Likewise.
5887
5888         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5889
5890 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5891
5892         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5893         representation change.
5894         (Vutf_2000_version): New variable.
5895         (leading_code_private_11): New variable.
5896         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5897         `leading-code-private-11'.
5898
5899         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5900         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5901         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5902         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5903         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5904         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5905         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5906         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5907         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5908         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5909         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5910         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5911         (MIN_CHAR_GREEK): New macro.
5912         (MAX_CHAR_GREEK): New macro.
5913         (MIN_CHAR_CYRILLIC): New macro.
5914         (MAX_CHAR_CYRILLIC): New macro.
5915         (MIN_CHAR_HEBREW): New macro.
5916         (MAX_CHAR_HEBREW): New macro.
5917         (MIN_CHAR_THAI): New macro.
5918         (MAX_CHAR_THAI): New macro.
5919         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5920         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5921         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5922         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5923         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5924         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5925         (CHAR_FIELD2): New inline function.
5926         (CHAR_FIELD3): New inline function.
5927         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5928         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5929         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5930         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5931         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5932         (MIN_CHAR_COMPOSITION): Likewise.
5933         (CHAR_LEADING_BYTE): Modified for character representation change.
5934         (MAKE_CHAR): Likewise.
5935
5936         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5937         (Vcharset_greek_iso8859_7): Likewise.
5938         (Vcharset_cyrillic_iso8859_5): Likewise.
5939         (Vcharset_hebrew_iso8859_8): Likewise.
5940         (Vcharset_thai_tis620): Likewise.
5941         (Vcharset_katakana_jisx0201): Likewise.
5942
5943 2007-10-07  Vin Shelton  <acs@xemacs.org>
5944
5945         * XEmacs 21.4.21 is released
5946
5947 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
5948
5949         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
5950
5951 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
5952
5953         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
5954         (png_instantiate): Initialize setjmp_buffer early, and avoid
5955         recursive entry to error handler.
5956
5957 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
5958
5959         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
5960         a typo fix.
5961
5962 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
5963
5964         * event-Xt.c (x_reset_modifier_mapping):
5965         * event-gtk.c (gtk_reset_modifier_mapping):
5966         Zero out the device's modifier map once we've freed it, to prevent
5967         a double free on a re-entrant call. 
5968
5969 2007-05-17  Vin Shelton  <acs@xemacs.org>
5970
5971         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
5972         64-bit linux.  Patch from Hans de Graaff.
5973
5974 2007-05-02  Vin Shelton  <acs@xemacs.org>
5975
5976         * dumper.c (pdump): Don't close pdump_fd (already closed by
5977         fclose() call.  Patch from Steve Higham.
5978         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
5979         already closed.  Patch inspired by Steve Higham.
5980
5981 2007-05-01  Vin Shelton  <acs@xemacs.org>
5982
5983         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
5984         (mswindows_fstat): Ditto.
5985         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
5986
5987 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
5988
5989         * postgresql.c: Update Steve Baur's email address by his request.
5990         * postgresql.h: Ditto.
5991
5992 2007-01-04  Vin Shelton  <acs@xemacs.org>
5993
5994         * fileio.c (check_writable): Check old-style readonly bit only for
5995         non-directories.
5996
5997 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
5998
5999         * src/fileio.c (check_writable): 
6000         Cope with the fact that the read-only attribute trumps Windows NTFS
6001         ACLS.
6002
6003
6004 2006-12-09  Vin Shelton  <acs@xemacs.org>
6005
6006         * XEmacs 21.4.20 is released
6007
6008 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6009
6010         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6011         relocated the definitions to be used sooner in file.
6012         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6013         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6014         overflow.
6015
6016 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6017
6018         * sound.c (init_native_sound):
6019         Only X11 and GTK devices can possibly not be on the console of the
6020         associated machine. Fixes a crash when init_native_sound is called
6021         on a msprinter device. 
6022
6023 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6024
6025         * buffer.c (buffer-file-name): Document invariant.
6026         (buffer-file-truename): Sync wording to buffer-file-name.
6027         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6028         and discussion.
6029
6030 2006-11-19  Benson Margulies  <benson@dchbk.us>
6031
6032         * fileio.c: Add code to use full Win32 API to check for write
6033         access.  Win32 has the general design policy that you aren't
6034         supposed to ask this question, since security checks change
6035         depending on asynchronous processes.  Nonetheless, there is a way,
6036         by acting as if we are a server doing interpretive access
6037         control.
6038
6039 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6040
6041         * bytecode.c: Use xnew_array instead of alloca.
6042
6043 2006-07-04  Vin Shelton  <acs@xemacs.org>
6044
6045         * redisplay-msw.c: Fix tiny, but crucial typo.
6046
6047 2006-06-22  Jerry James  <james@xemacs.org>
6048
6049         * EmacsShell-sub.c (ChangeManaged):
6050         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6051         NULL.
6052         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6053         checking if it is NULL.  Also fix a memory leak.
6054         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6055         dereference it, not the other way around.
6056         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6057         overflow check.
6058         * dumper.c (pdump_register_struct): Ditto.
6059         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6060         to (short) warnpath overflow warnpath.
6061         * extents.c (detach_all_extents): Call extent_list_delete_all with
6062         a non-NULL parameter only.
6063         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6064         NULL width and height.
6065         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6066         xic before checking if they are NULL.
6067         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6068         allocated array.
6069         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6070         * nas.c (Err): Fix a memory leak.
6071         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6072         Don't create the buffer if there is nothing to do.
6073         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6074         * redisplay-output.c (redisplay_output_layout): Ditto.
6075         * redisplay-tty.c (tty_output_display_block): Ditto.
6076         * redisplay-x.c (x_output_display_block): Ditto.
6077         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6078         dereference instance->scrollbar_data if it is NULL.
6079         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6080         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6081         for sb->scrollbar_data.
6082         * sound.c (init_native_sound): Avoid a buffer overflow by
6083         allocating a buffer with the appropriate size.
6084
6085 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6086
6087         * EmacsShell-sub.c (RootGeometryManager):
6088         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6089         Based on a suggestion by Francois L'Archeveque.
6090
6091 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6092
6093         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6094         current values found in GNU Emacs.
6095
6096 2006-03-17  Vin Shelton  <acs@xemacs.org>
6097
6098         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6099         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6100
6101         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6102         'hex_initialized' because it conflicts with 'initialized' in
6103         lisp.h.
6104
6105 2006-01-28  Vin Shelton  <acs@xemacs.org>
6106
6107         * XEmacs 21.4.19 is released
6108
6109 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6110
6111         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6112
6113 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6114
6115         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6116         5000 to INT_MAX.
6117
6118 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6119
6120         * database.c: Suppress compiler warning under Cygwin.
6121         * database.c: Removed __FreeBSD__ check, should be handled by
6122         HAVE_U_xxx_T defines.
6123
6124 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6125
6126         * console.c (stuff_buffered_input): Compile body only if
6127         HAVE_TTY.
6128
6129 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6130
6131         * callproc.c: #include sysdir.h, so that any appropriate Mule
6132         magic happens with the chdir() call when calling a subprocess. 
6133
6134 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6135
6136         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6137         * mule-ccl.c: Check that a character set exists before using it
6138         to create a character. 
6139
6140 2005-12-06  Vin Shelton  <acs@xemacs.org>
6141
6142         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6143         to INT_MAX.
6144
6145 2005-12-03  Vin Shelton <acs@xemacs.org>
6146
6147         * XEmacs 21.4.18 is released
6148
6149 2005-11-27  Kean Johnston <kean@armory.com>
6150
6151         * redisplay-tty.c (set_tty_modes):
6152         (reset_tty_modes): disable auto-margins if the terminal supports
6153         them.
6154         (init_tty_for_redisplay): fix cursor shape.
6155
6156 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6157
6158         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6159         for control-1 characters properly, both when reading multibyte
6160         characters and writing them. 
6161
6162 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6163
6164         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6165         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6166         were seeing with incremental selection transfer failing. 
6167
6168 2005-11-26  Vin Shelton  <acs@xemacs.org>
6169
6170         * callproc.c (Fold_call_process_internal): Create the buffer if it
6171         does not already exist.  The original patch came from Ben Wing in
6172         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6173
6174 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6175
6176         * callproc.c: Process-related docstring improvements spurred by
6177         Norbert Koch.
6178
6179 2005-11-25  Vin Shelton  <acs@xemacs.org>
6180
6181         * depend: Regenerated.
6182
6183 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6184
6185         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6186         says it clashes with a global with the same name.
6187
6188 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6189
6190         * sysdll.c (dll_open): Under MacOS X return NULL under the
6191         filename is NULL.  Fixes problems finding local symbols under 10.4
6192         (Tiger)
6193
6194 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6195         
6196         * config.h.in: New HAVE_U_INT*_T defines.
6197         
6198         * database.c: Only use u_int*_t typedefs if not already
6199         defined.
6200
6201 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6202
6203         * src/process-unix.c (unix_open_network_stream): moved
6204           'portbuf' buffer out of an inner block as it is used in the
6205           entire function. With gcc4, the stack may get corrupted
6206           after leaving this block. This patches adjusts the size of
6207           the used buffer also; static '128' bytes are far too much
6208           currently and might not suffice for future architectures
6209           (e.g. for 512 bit ones ;)). Instead of, use only the really
6210           required space (max octets * ln(256)/ln(10) chars + space
6211           for '\0' and the sign)
6212
6213 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6214
6215         * callproc.c: Include sysdir.h, so any necessary Mule processing
6216         is done on the current directory name before starting a new
6217         process.
6218
6219 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6220
6221         * chartab.c (Fchar_table_p):
6222         (Fget_range_char_table):
6223         (Fput_char_table):
6224         (Fmap_char_table):
6225         Describe range representation and fix typo.
6226
6227 2005-02-12  Vin Shelton  <acs@xemacs.org>
6228
6229         * emacs.c (shut_down_emacs): Advise users to send email to the
6230         xemacs-beta list instead of crashes@xemacs.org.
6231
6232 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6233
6234         * process-unix.c (unix_send_process): Flush the last chunk, even
6235         when the pipe is blocked.
6236
6237 2005-02-06  Vin Shelton <acs@xemacs.org>
6238
6239         * XEmacs 21.4.17 is released
6240
6241 2005-01-31  Ben Wing  <ben@xemacs.org>
6242
6243         * emacs.c:
6244         Define assert_failed() always.
6245         * lisp.h:
6246         Always define ABORT().
6247
6248 2005-01-25  Ben Wing  <ben@xemacs.org>
6249
6250         * Makefile.in.in:
6251         * Makefile.in.in (%.o):
6252         Don't compile executable as Windows (-mwindows) under Cygwin.
6253         Semi-recent changes to Cygwin's executable-startup handling make
6254         it impossible to access the TTY this way.
6255
6256         Don't use special linker file under Cygwin (cygwin.sc) except
6257         when non-PDUMP (even in this case it is highly questionable); you
6258         get errors like
6259
6260       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6261    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6262
6263 2005-01-29  Ben Wing  <ben@xemacs.org>
6264
6265         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6266
6267         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6268
6269 2005-01-29  Ben Wing  <ben@xemacs.org>
6270
6271         * bytecode.c (optimize_compiled_function):
6272         * print.c (FROB):
6273         * print.c (long_to_string):
6274         Add casts to avoid warning.
6275         
6276         * glyphs-eimage.c:
6277         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6278         #### The better solution is to move the TIFF and JPEG code to
6279         different files.
6280         
6281         * glyphs-msw.c (mswindows_xbm_instantiate):
6282         Define __STDC__ to avoid problems with compface.h.
6283         
6284         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6285         * EmacsShell-sub.c:
6286         * EmacsShell-sub.c (ABORT):
6287         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6288         * EmacsShell-sub.c (RootGeometryManager):
6289         * EmacsShell.c:
6290         * EmacsShell.c (ABORT):
6291         * EmacsShell.c (EmacsShellUpdateSizeHints):
6292         * alloc.c (free_lcrecord):
6293         * alloca.c (i00afunc):
6294         * buffer.c (delete_from_buffer_alist):
6295         * buffer.c (MARKED_SLOT):
6296         * bytecode.c (execute_rare_opcode):
6297         * bytecode.c (optimize_byte_code):
6298         * bytecode.c (Ffetch_bytecode):
6299         * chartab.c (char_table_type_to_symbol):
6300         * chartab.c (Freset_char_table):
6301         * chartab.c (decode_char_table_range):
6302         * chartab.c (Fget_range_char_table):
6303         * chartab.c (check_valid_char_table_value):
6304         * chartab.c (map_char_table):
6305         * chartab.c (slow_map_char_table_fun):
6306         * chartab.c (chartab_instantiate):
6307         * cm.c (cmcheckmagic):
6308         * console-msw.c (DHEADER):
6309         * console.c (MARKED_SLOT):
6310         * data.c (finish_marking_weak_lists):
6311         * data.c (encode_weak_list_type):
6312         * debug.h (DASSERT):
6313         * device-gtk.c (gtk_init_device):
6314         * device-msw.c (mswindows_get_default_margin):
6315         * device-tty.c (tty_init_device):
6316         * device-x.c (get_device_from_display):
6317         * device-x.c (x_get_visual_depth):
6318         * doprnt.c (parse_doprnt_spec):
6319         * doprnt.c (get_doprnt_args):
6320         * dumper.c (pdump_get_indirect_count):
6321         * dumper.c (pdump_register_sub):
6322         * dumper.c (pdump_register_object):
6323         * dumper.c (pdump_register_struct):
6324         * dumper.c (pdump_dump_data):
6325         * dumper.c (pdump_reloc_one):
6326         * elhash.c (print_hash_table):
6327         * elhash.c (make_standard_lisp_hash_table):
6328         * elhash.c (hash_table_instantiate):
6329         * emacs.c:
6330         * emacs.c (Fforce_debugging_signal):
6331         * emacs.c (sort_args):
6332         * emacs.c (main):
6333         * emacs.c (assert_failed):
6334         * eval.c (throw_or_bomb_out):
6335         * eval.c (signal_1):
6336         * eval.c (Fsignal):
6337         * event-Xt.c:
6338         * event-Xt.c (emacs_Xt_mapping_action):
6339         * event-Xt.c (Xt_process_to_emacs_event):
6340         * event-msw.c:
6341         * event-stream.c (check_event_stream_ok):
6342         * event-stream.c (Fadd_timeout):
6343         * event-stream.c (Fadd_async_timeout):
6344         * event-stream.c (Fdiscard_input):
6345         * event-stream.c (execute_internal_event):
6346         * event-stream.c (Frecent_keys):
6347         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6348         * event-stream.c (lookup_command_event):
6349         * event-unixoid.c (poll_fds_for_input):
6350         * events.c:
6351         * events.c (mark_event):
6352         * events.c (event_equal):
6353         * events.c (event_hash):
6354         * events.c (Fmake_event):
6355         * events.c (Fdeallocate_event):
6356         * events.c (event_chain_find_previous):
6357         * events.c (event_to_character):
6358         * events.c (format_event_object):
6359         * events.c (Fevent_type):
6360         * events.c (event_pixel_translation):
6361         * events.c (Fevent_properties):
6362         * extents.c (extent_in_region_p):
6363         * extents.c (print_extent):
6364         * extents.c (process_extents_for_insertion_mapper):
6365         * extents.c (report_extent_modification_mapper):
6366         * extents.c (glyph_layout_to_symbol):
6367         * faces.c (face_validate):
6368         * file-coding.c (eol_type_to_symbol):
6369         * file-coding.c (subsidiary_coding_system):
6370         * file-coding.c (Fcoding_system_type):
6371         * file-coding.c (Fcoding_system_property):
6372         * file-coding.c (mule_decode):
6373         * file-coding.c (mule_encode):
6374         * file-coding.c (encode_coding_ucs4):
6375         * file-coding.c (encode_coding_utf8):
6376         * file-coding.c (parse_iso2022_esc):
6377         * file-coding.c (encode_coding_iso2022):
6378         * fileio.c:
6379         * fns.c (concat):
6380         * fns.c (Fsubseq):
6381         * fns.c (mapcar1):
6382         * fns.c (Fbase64_encode_region):
6383         * fns.c (Fbase64_encode_string):
6384         * fns.c (Fbase64_decode_region):
6385         * fns.c (Fbase64_decode_string):
6386         * font-lock.c (find_context):
6387         * font-lock.c (context_to_symbol):
6388         * frame-gtk.c (gtk_set_frame_pointer):
6389         * frame-gtk.c (gtk_update_frame_external_traits):
6390         * frame-x.c (x_wm_mark_shell_size_user_specified):
6391         * frame-x.c (x_wm_mark_shell_position_user_specified):
6392         * frame-x.c (x_wm_set_shell_iconic_p):
6393         * frame-x.c (x_wm_set_cell_size):
6394         * frame-x.c (x_wm_set_variable_size):
6395         * frame-x.c (x_wm_store_class_hints):
6396         * frame-x.c (x_wm_maybe_store_wm_command):
6397         * frame-x.c (x_initialize_frame_size):
6398         * frame-x.c (x_update_frame_external_traits):
6399         * frame.c:
6400         * frame.c (delete_frame_internal):
6401         * frame.c (mouse_pixel_position_1):
6402         * frame.c (change_frame_size_1):
6403         * free-hook.c (check_free):
6404         * free-hook.c (check_realloc):
6405         * free-hook.c (note_block_input):
6406         * free-hook.c (log_gcpro):
6407         * gccache-gtk.c (gc_cache_lookup):
6408         * glyphs-eimage.c (tiff_memory_write):
6409         * glyphs-gtk.c (gtk_finalize_image_instance):
6410         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6411         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6412         * glyphs-gtk.c (gtk_xpm_instantiate):
6413         * glyphs-gtk.c (gtk_unmap_subwindow):
6414         * glyphs-gtk.c (gtk_map_subwindow):
6415         * glyphs-gtk.c (gtk_button_redisplay):
6416         * glyphs-msw.c:
6417         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6418         * glyphs-x.c (init_image_instance_from_xbm_inline):
6419         * glyphs-x.c (extract_xpm_color_names):
6420         * glyphs-x.c (x_xpm_instantiate):
6421         * glyphs.c (get_image_instantiator_governing_domain):
6422         * glyphs.c (print_image_instance):
6423         * glyphs.c (image_instance_equal):
6424         * glyphs.c (image_instance_hash):
6425         * glyphs.c (encode_image_instance_type):
6426         * glyphs.c (make_image_instance_1):
6427         * glyphs.c (inherit_instantiate):
6428         * glyphs.c (image_instantiate):
6429         * glyphs.c (allocate_glyph):
6430         * glyphs.c (Fglyph_type):
6431         * glyphs.c (redisplay_subwindow):
6432         * glyphs.c (display_table_entry):
6433         * gtk-glue.c (xemacs_list_to_gtklist):
6434         * gtk-glue.c (xemacs_gtklist_to_list):
6435         * gtk-glue.c (xemacs_list_to_array):
6436         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6437         * gutter.c (gutter_was_visible):
6438         * gutter.c (get_gutter_coords):
6439         * input-method-xlib.c (get_XIM_input):
6440         * insdel.c (bufpos_to_bytind_func):
6441         * insdel.c (bytind_to_bufpos_func):
6442         * insdel.c (move_gap):
6443         * intl.c (x_get_composed_input):
6444         * keymap.c (keymap_lookup_directly):
6445         * keymap.c (keymap_delete_inverse_internal):
6446         * keymap.c (ensure_meta_prefix_char_keymapp):
6447         * keymap.c (accessible_keymaps_mapper_1):
6448         * keymap.c (where_is_recursive_mapper):
6449         * lisp.h:
6450         * lisp.h (ABORT):
6451         * lread.c (read_atom):
6452         * lstream.c (Lstream_delete):
6453         * lstream.c (make_lisp_buffer_stream_1):
6454         * macros.c (pop_kbd_macro_event):
6455         * malloc.c (malloc):
6456         * malloc.c (free):
6457         * marker.c (bi_marker_position):
6458         * marker.c (set_bi_marker_position):
6459         * menubar-gtk.c (menu_descriptor_to_widget_1):
6460         * menubar-msw.c (prune_menubar):
6461         * menubar-x.c (set_frame_menubar):
6462         * mule-charset.c (get_unallocated_leading_byte):
6463         * mule-charset.h (CHAR_LEADING_BYTE):
6464         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6465         * nt.c (init_environment):
6466         * nt.c (generate_inode_val):
6467         * ntproc.c (delete_child):
6468         * ntproc.c (_sys_read_ahead):
6469         * ntproc.c (create_child):
6470         * objects.c (color_instantiate):
6471         * objects.c (font_instantiate):
6472         * objects.c (face_boolean_instantiate):
6473         * print.c (printing_major_badness):
6474         * process-nt.c (nt_send_process):
6475         * process-unix.c (unix_send_process):
6476         * process.c (get_process):
6477         * ralloc.c (obtain):
6478         * ralloc.c (relinquish):
6479         * ralloc.c (relocate_blocs):
6480         * ralloc.c (resize_bloc):
6481         * ralloc.c (r_alloc_free):
6482         * ralloc.c (r_re_alloc):
6483         * ralloc.c (r_alloc_thaw):
6484         * ralloc.c (init_ralloc):
6485         * ralloc.c (Free_Addr_Block):
6486         * ralloc.c (r_alloc):
6487         * redisplay-gtk.c (gtk_output_display_block):
6488         * redisplay-msw.c (mswindows_output_display_block):
6489         * redisplay-output.c (get_next_display_block):
6490         * redisplay-output.c (get_cursor_size_and_location):
6491         * redisplay-output.c (redisplay_output_layout):
6492         * redisplay-output.c (redisplay_clear_region):
6493         * redisplay-tty.c (tty_output_display_block):
6494         * redisplay-x.c (x_output_display_block):
6495         * redisplay.c (add_propagation_runes):
6496         * redisplay.c (add_glyph_rune):
6497         * redisplay.c (create_text_block):
6498         * redisplay.c (add_margin_runes):
6499         * redisplay.c (create_left_glyph_block):
6500         * redisplay.c (create_right_glyph_block):
6501         * redisplay.c (create_string_text_block):
6502         * redisplay.c (regenerate_window):
6503         * redisplay.c (REGEN_INC_FIND_START_END):
6504         * redisplay.c (redisplay_frame):
6505         * redisplay.c (point_in_line_start_cache):
6506         * regex.c:
6507         * regex.c (ABORT):
6508         * regex.c (re_compile_fastmap):
6509         * regex.c (re_match_2_internal):
6510         * regex.c (regerror):
6511         * scrollbar-gtk.c (gtk_scrollbar_loop):
6512         * scrollbar-gtk.c (scrollbar_cb):
6513         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6514         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6515         * scrollbar-x.c (x_update_scrollbar_instance_status):
6516         * scrollbar-x.c (x_scrollbar_loop):
6517         * scrollbar-x.c (x_update_frame_scrollbars):
6518         * search.c (search_command):
6519         * search.c (Fmatch_data):
6520         * select-x.c (motif_clipboard_cb):
6521         * signal.c (interrupt_signal):
6522         * specifier.c (specifier_add_spec):
6523         * specifier.c (specifier_instance_from_inst_list):
6524         * specifier.c (specifier_instance):
6525         * specifier.h:
6526         * specifier.h (struct specifier_methods):
6527         * strftime.c (add_num_time_t):
6528         * sunplay.c (init_device):
6529         * symbols.c (Fsetplist):
6530         * symbols.c (do_symval_forwarding):
6531         * symbols.c (store_symval_forwarding):
6532         * symbols.c (Fset):
6533         * symbols.c (Fbuilt_in_variable_type):
6534         * symbols.c (decode_magic_handler_type):
6535         * symbols.c (handler_type_from_function_symbol):
6536         * syntax.c (update_syntax_cache):
6537         * sysdep.c (init_baud_rate):
6538         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6539         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6540         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6541         * toolbar.c (get_toolbar_coords):
6542         * ui-gtk.c (build_gtk_boxed):
6543         * ui-gtk.c (describe_gtk_arg):
6544         * ui-gtk.c (gtk_type_to_lisp):
6545         * ui-gtk.c (lisp_to_gtk_type):
6546         * ui-gtk.c (lisp_to_gtk_ret_type):
6547         * ui-gtk.c (lisp_to_flag):
6548         * unexnt.c (read_in_bss):
6549         * unexnt.c (map_in_heap):
6550         * window.c (real_window):
6551         * window.c (window_display_lines):
6552         * window.c (window_display_buffer):
6553         * window.c (set_window_display_buffer):
6554         * window.c (window_modeline_height):
6555         * window.c (unshow_buffer):
6556         * window.c (window_loop):
6557         * window.c (Fget_lru_window):
6558         * window.c (Fsplit_window):
6559         * window.c (Fset_window_configuration):
6560         * window.c (saved_window_index):
6561         * xgccache.c (gc_cache_lookup):
6562         abort() -> ABORT().  Eliminate preprocessor games with abort()
6563         since it creates huge problems in VC7, solvable only by including
6564         massive amounts of files in every compile (and not worth it).
6565
6566         * sysdep.c:
6567         * sysproc.h:
6568         Inclusion of process.h does not need to be before lisp.h any more.
6569         Move later and remove comment about abort().
6570
6571 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6572
6573         * regex.c (re_match_2_internal):
6574         Correctly initialize loop which clears uninitialized registers.
6575
6576 2005-01-28  Vin Shelton  <acs@xemacs.org>
6577
6578         * sheap.c (more_static_core): Applied Ben's version of the long
6579         string patch.
6580
6581 2005-01-24  Vin Shelton  <acs@xemacs.org>
6582
6583         * sheap.c (more_static_core): Reformatted printf string so
6584         gcc-3.3.3 will compile this on Cygwin.
6585
6586 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6587
6588         * console.c (function_key_map): Reference `key-binding'.
6589
6590         * keymap.c (Vkey_translation_map): Improve docstring.
6591
6592 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6593
6594         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6595         * window.c (window_loop): [fix] Take into account
6596         `allow-deletion-of-last-visible-frame' variable.
6597         * window.c (replace-buffer-in-windows): Ditto.
6598
6599 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6600
6601         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6602
6603 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6604
6605         * event-gtk.c: Recognise AltGr as a valid modifier.
6606
6607 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6608
6609         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6610
6611 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6612
6613         Fix backreference bug caught by test suite.
6614
6615         * regex.c (regex_compile):
6616         Make backref duplicate internal register.
6617
6618 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6619
6620         Documentation, code clarification, and warning suppression.
6621         
6622         * regex.c (regex_compile):
6623         Improve comments.
6624         (re_match_2_internal):
6625         Improve comments and avoid redundant braces.  [Most of the big hunk
6626         at l. 4710 is indentation; use diff -w to see the real changes.]
6627         (alt_match_null_string_p):
6628         (common_op_match_null_string_p):
6629         Avoid shadowing global on Mac OS X 10.4, at least.
6630
6631 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6632
6633         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6634         introduced with shy groups fix).  [Already applied, probably
6635         with the second "fix shy groups" patch of 2004-10-07.] 
6636
6637 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6638
6639         From Andrey Slusar <anrays@gmail.com>:
6640
6641         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6642
6643 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6644
6645         * Makefile (RECURSIVE_MAKE): Removed.
6646         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6647         handling parallel builds.
6648
6649 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6650
6651         * Makefile.in.in: Enable support for parallel builds.
6652
6653 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6654
6655         From Andrey Slusar <anrays@gmail.com>:
6656
6657         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6658         FreeBSD version is >= 199701 _and_ < 600006.
6659
6660 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6661
6662         * scrollbar.c (compute_scrollbar_instance_usage):
6663         Only call device method compute_scrollbar_instance_usage() if it
6664         is defined.
6665
6666 2004-12-05  Vin Shelton <acs@xemacs.org>
6667
6668         * XEmacs 21.4.16 is released
6669
6670 2004-12-04  Vin Shelton  <acs@xemacs.org>
6671
6672         * depend: Regenerated.
6673
6674 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6675
6676         * regex.c (re_match_2_internal): Map internal to external
6677         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6678         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6679
6680 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6681
6682         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6683         to fix a crash.  Also, check the buffer is live and it
6684         really exists in buffer_list.  If the buffer is not in the list,
6685         prepend it.
6686
6687 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6688
6689         Fix shy groups by implementing recording of all groups for
6690         repetition and backtracking.  Backport from 21.5.
6691         
6692         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6693         external_to_internal_register, external_to_internal_register_size,
6694         and update comments for re_nsub.
6695
6696         * regex.c (re_opcode_t): Update comments.
6697         (print_compiled_pattern): Ouput external_to_internal_register,
6698         external_to_internal_register_size, and re_ngroups for debugging.
6699         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6700         (regex_compile): Update header comment.
6701         Ensure that all groups are recorded so that repeat matches and
6702         backtracking work correctly.  Comment related warning for groups >
6703         255.
6704         (re_search_2): Construct map of API indexes (which count only
6705         nonshy groups) to internal register numbers, and keep it updated.
6706
6707 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6708
6709         * frame-gtk.c (gtk_make_frame_visible):
6710         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6711         show/hide.  This is what X uses and is prevents previously hidden
6712         widgets from suddenly reappearing.
6713         * gtk-xemacs.c (gtk_xemacs_paint):
6714         * gtk-xemacs.c (gtk_xemacs_draw):
6715         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6716         drawable.
6717         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6718         size and location changes so that they can be seen before the next
6719         idle event.  Without this rapid changes to scrollbar properties
6720         are not seen.
6721
6722 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6723
6724         * console-gtk.h:
6725         * console-gtk.h (struct gtk_frame):
6726         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6727           Add hash tables track tab_control callback data.
6728           Added #defines for GTK object data names.
6729           Declaration of gtk_widget_to_frame().
6730         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6731         * frame-gtk.c (gtk_widget_to_frame): New.
6732         * frame-gtk.c (gtk_create_widgets):
6733         * frame-gtk.c (allocate_gtk_frame_struct):
6734         * frame-gtk.c (gtk_mark_frame):
6735         Manage frame callbakc hash tables.
6736         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6737         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6738         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6739         of widget size.
6740         * glyphs-gtk.c (gtk_widget_query_geometry): New
6741         * glyphs-gtk.c (gtk_register_gui_item): New
6742         * glyphs-gtk.c (gtk_add_tab_item): New
6743         * glyphs-gtk.c (gtk_tab_control_callback): New
6744         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6745         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6746         Use correct list when loading item.
6747         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6748         Register new methods.
6749         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6750         default size, for widgets.
6751         * gui-x.c:  Improved comment.
6752         * menubar-gtk.c (__generic_button_callback): Use
6753         gtk_widget_to_frame instead of __get_channel.
6754         * scrollbar-gtk.c:
6755         * ui-gtk.c: Use symbolic names for GTK object data.
6756
6757 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6758
6759         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6760
6761 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6762
6763         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6764
6765 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6766
6767         * malloc.c (morecore): siz is a long because in some architectures
6768         (eg ia-64) an int cannot hold the address range.  Additional patch
6769         from the SuSe distribution.
6770
6771 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6772
6773         * emacs.c:
6774         * malloc.c: lim_data is a long because in some architectures
6775         (eg ia-64) an int cannot hold the address range.
6776         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6777         instead of ulimit() because ulimit() always returns -1.
6778
6779 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6780
6781         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6782
6783 2004-06-11  David Kastrup  <dak@gnu.org>
6784
6785         * search.c (match_limit): Don't flag an error if match-data
6786         exceeding the allocated search_regs.num_regs gets requested, just
6787         return Qnil.
6788
6789 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6790
6791         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6792         replace symbolic color entries with the real colors specified in
6793         xpm-color-symbols, before passing the XPM to gtk.
6794         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6795         instead of a GTK specific field, so that it is used in by generic
6796         code.
6797
6798 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6799
6800        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6801         coredump from deref of NULL ptr (ExtData)
6802
6803 2004-04-19  Jerry James  <james@xemacs.org>
6804
6805         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6806         VALBITS to compute the location of the sign bit.
6807         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6808         of VALBITS with EMACS_INT_MAX.
6809         * events.c (Fevent_timestamp): Ditto.
6810         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6811         compute the halfway point to timestamp wraparound.
6812         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6813         EMACS_INT_MIN instead of using VALBITS.
6814         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6815         incorrect number with VALBITS.
6816         * fns.c (Frandom): Correct number of integer bits in docstring.
6817         Use INT_VALBITS instead of VALBITS to compute the denominator.
6818         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6819         build random numbers.
6820
6821 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6822         * event-gtk.c:
6823         * event-gtk.c (gtk_event_to_emacs_event):
6824         * menubar-gtk.c:
6825         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6826         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6827         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6828         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6829         * menubar-gtk.c (__activate_menu):
6830         * menubar-gtk.c (convert_underscores):
6831         * menubar-gtk.c (remove_underscores):
6832         * menubar-gtk.c (menu_convert):
6833         * menubar-gtk.c (menu_descriptor_to_widget_1):
6834         * menubar-gtk.c (menu_descriptor_to_widget):
6835         * menubar-gtk.c (menu_can_reuse_widget):
6836         * menubar-gtk.c (menu_create_menubar):
6837         * menubar-gtk.c (gtk_popup_menu):
6838         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6839         Added support for Gtk menu bar and menu item mnemonics.
6840
6841 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6842
6843         * sysdll.c: (dll_function): Added support for finding symbols in
6844         Darwin shared libraries as well in Darwin bundles.
6845         * sysdll.c (image_for_address): New
6846         * sysdll.c (my_find_image): New
6847         * sysdll.c (search_linked_libs): New
6848
6849 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6850
6851         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6852         return to GTK requires a different API to marshalling data to use
6853         as GTK parameters.
6854         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6855
6856 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6857
6858         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6859
6860 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6861
6862         * glyphs.c (process_image_string_instantiator):
6863         (Fset_console_type_image_conversion_list):
6864         Stop GCC from warning about shadowing of `exp'.
6865
6866         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6867
6868 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6869
6870         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6871
6872 2004-02-03  Vin Shelton  <acs@xemacs.org>
6873
6874         * glyphs.c (image_instance_layout): Remove pointless assertion.
6875         * regex.c (regex_grow_registers): Return type is void.
6876
6877 2004-02-02  Vin Shelton <acs@xemacs.org>
6878
6879         * XEmacs 21.4.15 is released
6880
6881 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6882
6883         * device-x.c (x_error_handler): Don't call stderr_out
6884
6885 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6886
6887         * buffer.c (other-buffer): Clarify documentation of order of
6888         arguments for FSF Emacs.
6889
6890 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6891
6892         * window.c (Fdelete_window): Dirty the mirror structure _before_
6893         marking the window deleted.
6894
6895 2003-09-15  Jerry James  <james@xemacs.org>
6896
6897         * event-msw.c (debug_mswin_messages): Conditionally compile
6898         messages missing from the Cygwin headers.
6899
6900 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6901
6902         * data.c (eq_with_ebola_notice): Fix typo in comment.
6903         (Ftrue_list_p): Improve docstring.
6904
6905 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6906
6907         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6908
6909 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6910
6911         * search.c (trivial_regexp_p): Regexps containing "\{" are
6912         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6913         Stefan Monnier for suggesting a diagnosis.
6914
6915 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6916
6917         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6918
6919 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6920
6921         * search.c (Fsearch_forward):
6922         (Fsearch_backward):
6923         Document negative count.
6924
6925 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6926
6927         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6928
6929 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6930
6931         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6932
6933 2003-09-15  Vin Shelton  <acs@xemacs.org>
6934
6935         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6936         21.5.
6937
6938 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6939
6940         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6941         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6942         (re_match_2_internal): Use TRANSLATE instead of
6943         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6944         non-ASCII char case conversion.
6945
6946 2003-09-08  Mike Sperber  <mike@xemacs.org>
6947
6948         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6949         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6950
6951 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6952
6953        * .gdbinit (pobj): fix printing of symbol name.
6954
6955 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6956
6957         * frame-x.c (x_layout_widgets): When resizing is about to cause
6958         frame size slip, mark it for redisplay.
6959
6960 2003-08-18  Jerry James  <james@xemacs.org>
6961
6962         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6963
6964 2003-09-03  Vin Shelton <acs@xemacs.org>
6965
6966         * XEmacs 21.4.14 is released
6967
6968 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6969
6970         * config.h.in (REGEX_MALLOC): Make it configure'able.
6971
6972 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6973
6974         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6975         linking.
6976         * sysdll.c (dll_init):
6977         * sysdll.c (dll_open):
6978         * sysdll.c (dll_close):
6979         * sysdll.c (dll_function):
6980         * sysdll.c (dll_variable):
6981         * sysdll.c (dll_error):
6982         Add support for loading bundles using Darwin/MacOSX
6983         native API.
6984
6985 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6986
6987         * process.c (start-process-internal): Document coding systems.
6988
6989 2003-07-30  Jerry James  <james@xemacs.org>
6990
6991         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6992
6993 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6994
6995         * event-msw.c (mswindows_enqueue_mouse_button_event):
6996         * event-msw.c (mswindows_wnd_proc):
6997           enqueue button event when scrollwheel event isn't handled by 
6998           mswindows_handle_mousewheel_event, such as when the scrollbars
6999           are not showing.
7000
7001 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
7002
7003         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
7004
7005 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7006
7007         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7008
7009 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7010
7011         * regex.c (re_match_2_internal): Fix matching degenerate word
7012         boundaries.
7013
7014 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7015
7016         * XEmacs 21.4.13 is released
7017
7018 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7019
7020         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7021         * lisp.h (<inttypes.h>):
7022         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7023         the definition.
7024
7025 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7026
7027         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7028         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7029         Result: "temacs can only be run in -batch mode."
7030         Fix: Check xemacs executable candidate for directory-ness.
7031
7032 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7033
7034         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7035           they conflict with <sys/types.h>.
7036
7037 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7038
7039         * database.c: Berkeley DB wants __STDC__ to be defined.
7040
7041 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7042
7043         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7044
7045 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7046
7047         * process-unix.c (unix_send_process): Fix C++ compile error.
7048
7049 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7050
7051         * Added .dylib as an acceptable shared library file extension
7052         * to support MacOSX.
7053
7054 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7055
7056         * EmacsFrameP.h (EmacsFramePart):
7057         Kludge to allow compiling with Motif1, but linking with Motif2.
7058
7059 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7060
7061         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7062
7063
7064 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7065
7066         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7067
7068 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7069
7070         * sysdll.c: Included lisp.h to define needed alloca_array.
7071
7072 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7073
7074         Make XEmacs redisplay 10 times faster.
7075         If, that is, you're using a slow X connection and MoveOpaque.
7076         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7077         Use compress_motion = TRUE.
7078         * EmacsFrame.c (emacsFrameClassRec): 
7079         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7080         * EmacsManager.c (emacsManagerClassRec):
7081         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7082
7083 2003-01-30  Vin Shelton  <acs@xemacs.org>
7084
7085         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7086
7087 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7088
7089         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7090         Patch by Martin Buchholz.
7091
7092 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7093
7094         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7095         Thanks to icc for warning and Martin Buchholz for reporting.
7096
7097 2003-01-29  Vin Shelton <acs@xemacs.org>
7098
7099         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7100
7101         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7102         remember to multiply by the element size.
7103
7104 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7105
7106         * XEmacs 21.4.12 "Portable Code" is released.
7107
7108 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7109
7110         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7111         * s/cygwin.sc: new linker file.
7112
7113 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7114
7115         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7116
7117         * redisplay-x.c (x_output_string): Use X11-specified types.
7118         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7119         * emacs.c (__free_hook): Use typeof with Intel compiler.
7120         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7121
7122 2003-01-08  Andy Piper  <andy@xemacs.org>
7123
7124         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7125         reserve size during unexec().
7126
7127 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7128
7129         * process-unix.c (unix_create_process): Don't let outchannel block.
7130
7131 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7132
7133         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7134         Needed for IsBadReadPtr().
7135
7136 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7137
7138         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7139
7140 2002-12-14  Ben Wing  <ben@xemacs.org>
7141
7142         * callint.c: Declaration error.
7143         * dumper.c (pdump):
7144         * dumper.c (pdump_load): Warning fix.
7145         * process.c: GCPRO error.
7146         * glyphs.c (unmap_subwindow):
7147         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7148         * event-stream.c (maybe_kbd_translate): Wrong argument to
7149         character_to_event().
7150
7151         * alloc.c (garbage_collect_1):
7152         * emacs.c:
7153         * emacs.c (debug_can_access_memory):
7154         * emacs.c (fatal_error_signal):
7155         * emacs.c (mswindows_handle_hardware_exceptions):
7156         * emacs.c (main_1):
7157         * emacs.c (main):
7158         * emacs.c (assert_failed):
7159         * emacs.c (syms_of_emacs):
7160         * lisp.h:
7161         * print.c:
7162         * print.c (std_handle_out_va):
7163         * print.c (write_string_to_stdio_stream):
7164         * print.c (write_fmt_string):
7165         * print.c (printing_badness):
7166         * print.c (printing_major_badness):
7167         * print.c (print_internal):
7168         * print.c (debug_print_no_newline):
7169         * print.c (debug_backtrace):
7170         Be more defensive in handling bad values when printing.  Add code
7171         from trunk involving inhibit_non_essential_printing_operations.
7172         When going down or in debug_print(), don't do external conversion
7173         and such and try really, really hard when printing to avoid core
7174         dumping.  Add force-debugging-signal, debug_break().
7175
7176 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7177
7178         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7179         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7180
7181 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7182
7183         * database.c: Fix open_database. Berkeley DB API has changed in
7184         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7185
7186 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7187
7188         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7189
7190 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7191
7192         * event-Xt.c (Xt_timeout):
7193         (Xt_timeout_callback):
7194         (emacs_Xt_add_timeout):
7195         (emacs_Xt_remove_timeout):
7196         (Xt_timeout_to_emacs_event):
7197         Turn completed_timeouts from a stack into a queue.  Fixes
7198         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7199
7200 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7201
7202         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7203         * emacs.c (main): Assert that mmap'd allocation is disabled.
7204
7205 2002-10-14  Andy Piper  <andy@xemacs.org>
7206
7207         * glyphs-widget.c (layout_query_geometry): add in fiddle
7208         factor. Include border text in width layout calculation.
7209         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7210
7211 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7212
7213         * XEmacs 21.4.10 "Military Intelligence" is released.
7214
7215 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7216
7217         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7218         using the NAS private array SoundFileInfo that no longer exists in
7219         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7220         and earlier.  This is broken for some versions between 1.5a and
7221         1.5f.
7222
7223 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7224
7225         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7226
7227         * emacs.c (shut_down_emacs): Improve crash message.
7228
7229 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7230
7231         * file-coding.c (determine_real_coding_system): Check for coding
7232         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7233         shebangs and Python PEP 263.
7234
7235 2002-10-08  Andy Piper  <andy@xemacs.org>
7236
7237         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7238         if static sizes haven't been set.
7239
7240 2002-08-30  Mike Alexander  <mta@arbortext.com>
7241
7242         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7243         to close a socket.
7244
7245 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7246
7247         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7248
7249 2002-09-20  Mike Sperber <mike@xemacs.org>
7250
7251         (This partially gets back my patch from 2002-07-20 without the
7252         bug.)
7253         * callproc.c (child_setup): Remove Ben's comment noting confusion
7254         over the file descriptors >= 3: close_process_descs() doesn't
7255         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7256         * process-unix.c (unix_create_process): Call
7257         begin_dont_check_for_quit to inhibit unwanted interaction (and
7258         thus breaking of X event synchronicity) in the child.
7259
7260 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7261
7262         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7263         widget.
7264
7265 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7266
7267         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7268         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7269         the xemacs process did not exit, but looped infinitely here.  This
7270         fixes that problem.
7271
7272 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7273
7274         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7275         (find_context): Improve comments.
7276
7277         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7278         (re_match_2): An XCHAR_TABLE operation was missing.
7279
7280         Many of the following changes were inspired by Andy Piper's (now
7281         obsolete) patch to make syntax-table text property lookup optional.
7282
7283         [Documentation]
7284
7285         * syntax.h (top level): Document semantics of syntax flags.
7286         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7287         * syntax.c, syntax.h (top level): Document syntax cache better in
7288         comments.
7289
7290         [Instrument syntax caching (temporary change)]
7291
7292         * syntax.h (enum syntax_cache_statistics_functions, struct
7293         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7294         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7295         * syntax.c (scan_words, Fforward_comment, scan_lists,
7296         Fbackward_prefix_characters):
7297         * font-lock.c (find_context):
7298         Use them to instrument syntax caching. 
7299         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7300         syntax_cache_statistics_function_names): New type and variables.
7301         * syntax.c (update_syntax_cache): Update and report statistics.
7302
7303         [Major syntax cache optimizations]
7304
7305         syntax.c (lookup_syntax_properties): Default off.
7306
7307         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7308         * syntax.c (update_syntax_cache):
7309         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7310
7311         [Minor syntax cache optimizations and code clarifications]
7312
7313         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7314         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7315         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7316         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7317         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7318         (Code clarification.)
7319
7320         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7321         scan_lists): Compute code from syncode, use Boolean macros instead
7322         of redundant masking operations.  (Code clarification; any decent
7323         compiler can do this optimization.)
7324
7325         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7326         for clarity.
7327
7328         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7329         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7330         use F*_single_property_change instead of F*_extent_change.
7331         Currently F*_single_property_change is _much_ less efficient.
7332
7333         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7334         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7335         syntax_cache.object properly, don't leave Qt or Qnil.
7336         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7337         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7338         tests for Qt or Qnil.
7339
7340 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7341
7342         * redisplay.c (point_in_line_start_cache): 
7343         * extents.c (print_extent_1):
7344         Fix warnings.
7345
7346         * extents.c (Fset_extent_property): Document `syntax-table' property.
7347
7348         * extents.h (Fnext_single_property_change): EXFUN it.
7349
7350 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7351
7352         * search.c (clear_unused_search_regs): New static function.
7353         (search_buffer): 
7354         (simple_search): 
7355         (boyer_moore):
7356         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7357         Minor clarifications in comments.
7358
7359         * regex.c (re_match_2_internal): Ensure no stale submatches.
7360
7361 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7362
7363         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7364
7365 2002-08-29  Jerry James  <james@xemacs.org>
7366
7367         * lisp.h: structrures -> structures.
7368
7369 2002-06-03  Andy Piper  <andy@xemacs.org>
7370
7371         * frame.c (frame_conversion_internal): add conversion appropriate
7372         for setting frame dimensions in pixels.
7373
7374         * console.h (struct console_methods): add device-specific widget
7375         layout functions.
7376
7377         * emacs.c (main_1): initialize glyph vars.
7378
7379         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7380         (handle_focus_event_2): new function. Allow focus to
7381         be set to a particular window and widget.
7382         (enqueue_focus_event): new function. Create a
7383         synthetic focus event.
7384         (emacs_Xt_handle_magic_event): call
7385         handle_focus_event_2.
7386
7387         * frame.c (Fset_frame_pixel_height): new function. Allow
7388         pixel-based sizing. Does the right thing on character-oriented
7389         displays.
7390         (Fset_frame_pixel_width): ditto.
7391         (Fset_frame_pixel_size): ditto.
7392         (syms_of_frame): declare.
7393
7394         * general-slots.h: add :vertically-justify and
7395         :horizontally-justify.
7396
7397         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7398         (mswindows_widget_border_width): new function.
7399         (mswindows_combo_box_instantiate): set border widths.
7400         (console_type_create_glyphs_mswindows): declare.
7401
7402         * glyphs-widget.c:
7403         (check_valid_justification): allow vertical and horizontal
7404         justification.
7405         (widget_border_width): new function. Call device methods.
7406         (widget_instance_border_width): ditto.
7407         (logical_unit_height): new function. Determine the height of a
7408         logical-unit. Logical units are intended to provide grid-like
7409         layout for subcontrols in a layout. If the layout is
7410         :vertically-justify top then subcontrols will be positioned on
7411         logical-unit boundaries, thus allowing adjacent subcontrols to
7412         line up.
7413         (widget_logical_unit_height): ditto for widgets.
7414         (redisplay_widget): misc cleanup.
7415         (widget_spacing): new function. Call device specific
7416         methods. Intended to be the default gap between adjacent widgets.
7417         (widget_query_geometry): use new spacing functions to determine
7418         appropriate geometry.
7419         (initialize_widget_image_instance): initialize horizontal and
7420         vertical justification.
7421         (widget_instantiate): use logica-units where appropriate for
7422         sizing large widgets.
7423         (button_query_geometry): use widget_instance_border_width.
7424         (tree_view_query_geometry): ditto.
7425         (tab_control_query_geometry): ditto.
7426         (edit_field_query_geometry): new function.
7427         (layout_update): pick up :justify, :horizontally-justify and
7428         :vertically-justify none of which worked previously. :justify is
7429         used as a fallback for both horizontal and vertical justification.
7430         (layout_query_geometry): use logical units to size appropriately.
7431         (layout_layout): ditto.
7432         (Fwidget_logical_to_character_width): new function. Allow users to
7433         convert from logical units to characters so that frame sizes can
7434         be set appropriately.
7435         (Fwidget_logical_to_character_height): ditto.
7436         (syms_of_glyphs_widget): declare.
7437         (image_instantiator_edit_fields): add edit_field_query_geometry.
7438         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7439         :horizontally-justify.
7440         (specifier_vars_of_glyphs_widget): new function. Declare
7441         Vwidget_border_width which is not yet used.
7442
7443         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7444         (x_widget_border_width): new function.
7445         (x_widget_instantiate): create a sensible name for widgets.
7446         (console_type_create_glyphs_x): declare x_widget_border_width.
7447
7448         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7449         (struct Lisp_Image_Instance): add :vertically-justify and
7450         :horizontally-justify.
7451         (LAYOUT_JUSTIFY_TOP): new.
7452         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7453         (ROUND_UP): new macro. Round argument up to next integral
7454         interval.
7455
7456         * redisplay-output.c (redisplay_output_layout): misc formatting.
7457
7458         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7459
7460 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7461
7462         * XEmacs 21.4.9 "Informed Management" is released.
7463
7464 2002-08-19  Andy Piper  <andy@xemacs.org>
7465
7466         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7467         win32 format.
7468
7469         * realpath.c (xrealpath): normalize drive spec also so that dir
7470         sep chars are not mixed on cygwin.
7471
7472 2002-08-06  Jerry James  <james@xemacs.org>
7473
7474         * window.c (Fsplit_window): Count only half of the divider width
7475         against the left window when splitting horizontally. 
7476
7477 2002-06-24  Andy Piper  <andy@xemacs.org>
7478
7479         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7480         toolbar was cleared.
7481
7482         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7483         function. Split out from mswindows_output_frame_toolbars.
7484         (mswindows_output_frame_toolbars): move clear pieces to
7485         mswindows_output_frame_toolbars.
7486
7487         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7488         out from gtk_output_frame_toolbars.
7489         (gtk_output_frame_toolbars): move clear pieces to
7490         gtk_clear_frame_toolbars.
7491
7492         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7493         the frame is cleared. How this ever worked before is a mystery.
7494         (x_output_frame_toolbars): Only output toolbars.
7495         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7496
7497         * gutter.c (update_gutter_geometry):
7498         Mark frame layout changed.
7499         (update_frame_gutter_geometry, update_frame_gutters):
7500         Respect frame_layout_changed.
7501
7502         * console.h (struct console_methods): add
7503         clear_frame_toolbars_method.
7504
7505         * redisplay.c (redisplay_frame): call
7506         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7507
7508         * toolbar.h: declare update_frame_toolbars_geometry.
7509
7510         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7511         out from update_frame_toolbars.  Call clear_frame_toolbars.
7512         (update_frame_toolbars): only output, do not change geometry.
7513
7514         * redisplay.c: add frame_layout_changed.
7515
7516         * redisplay.h: add frame_layout_changed.
7517         (CLASS_RESET_CHANGED_FLAGS): set it.
7518         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7519         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7520         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7521
7522         * device.h (struct device): add frame_layout_changed.
7523         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7524
7525         * frame.h (struct frame): add frame_layout_changed.
7526         (MARK_FRAME_LAYOUT_CHANGED): new.
7527
7528 2002-06-30  Mike Alexander  <mta@arbortext.com>
7529
7530         * event-msw.c (mswindows_need_event): Don't wait for a new message
7531         if the queue is not empty.  Suggested by Paul Moore.
7532
7533 2002-06-12  Andy Piper  <andy@xemacs.org>
7534
7535         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7536         for printing on accurately.
7537
7538 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7539
7540         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7541         WM_ACTIVATE message. Make sure that the frame is visible if the
7542         window is visible. This seemss to fix the problem where XEmacs
7543         appears to freeze after switching desktops with certain virtual
7544         window managers.
7545         (debug_output_mswin_message): Added code to output message
7546         parameters for WM_WINDOWPOSCHANGED, 
7547         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7548
7549 2002-05-25  Andy Piper  <andy@xemacs.org>
7550
7551         * select-x.c (vars_of_select_x): Fix docstring of
7552         x-selection-strict-motif-ownership
7553
7554 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7555
7556         * keymap.c (get_keymap):
7557         Add comment about do_autoload GCPROs own args.
7558
7559 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7560
7561         * bytecode.c (execute_optimized_program): check_opcode ifdef
7562         ERROR_CHECK_BYTE_CODE.
7563
7564 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7565
7566         Thanks to Ben Wing and Michael Sperber.
7567
7568         * eval.c (Fcommand_execute):
7569         (Feval):
7570         (Ffuncall):
7571         (Fmacroexpand_internal):
7572         (function_argcount):
7573         callint.c (Fcall_interactively):
7574         Add comment about do_autoload GCPROs own args.
7575
7576         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7577
7578         * eval.c (Ffuncall): Extra braces to placate GCC.
7579
7580 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7581
7582         * backtrace.h (grow_specpdl):
7583         (SPECPDL_RESERVE):
7584         * EmacsFrame.c (EmacsFrameSetValues):
7585         * eval.c (grow_specpdl):
7586         * ExternalShell.c (hack_event_masks_1):
7587         * glyphs-x.c (convert_EImage_to_XImage): 
7588         (x_finalize_image_instance):
7589         * ralloc.c (page_size):
7590         (r_alloc_sbrk):
7591         * xgccache.c (gc_cache_hash):
7592         Fix unsigned comparison warnings.
7593
7594 2002-07-29  Jerry James  <james@xemacs.org>
7595
7596         * lread.c (locate_file): Any nonnegative return value indicates
7597         success if MODE is nonnegative.
7598
7599 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7600
7601         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7602         argument. 
7603
7604 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7605
7606         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7607
7608         * dumper.c (pdump_get_indirect_count):
7609         (pdump_scan_by_alignment):
7610         (pdump_dump_root_struct_ptrs):
7611         (pdump_dump_rtables):
7612         (pdump_dump_root_objects):
7613         (pdump):
7614         * nas.c (WaveOpenDataForReading):
7615         * fns.c (print_bit_vector):
7616         * font-lock.c (SINGLE_SYNTAX_STYLE):
7617         * glyphs.c (check_for_ignored_expose):
7618         (find_matching_subwindow):
7619         * glyphs-eimage.c:
7620         * imgproc.c (get_histogram):
7621         * redisplay.c (point_in_line_start_cache):
7622         * redisplay-output.c (redisplay_unmap_subwindows):
7623         * symbols.c (defsymbol_massage_name_1):
7624         (defkeyword_massage_name):
7625         (deferror_massage_name_and_message):
7626         * redisplay-x.c (x_output_string): 
7627         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7628         * frame.h (struct frame):
7629         * filelock.c (current_lock_owner):
7630         * doprnt.c (emacs_doprnt_1):
7631         * lisp.h (struct Lisp_Bit_Vector):
7632         (DO_REALLOC):
7633         Fix warnings.
7634
7635 2002-02-13  Ben Wing  <ben@xemacs.org>
7636
7637         * event-stream.c (reset_key_echo):
7638         * event-stream.c (reset_this_command_keys):
7639         * event-stream.c (execute_command_event):
7640         If console is dead as a result of C-x 5 0, then post-command stuff
7641         needs to be careful and do only non-console-specific stuff.
7642
7643 2002-07-01  Mike Sperber <mike@xemacs.org>
7644
7645         * process-unix.c (unix_send_process): Mark coding_outstream as
7646         non-open upon SIGPIPE.
7647
7648         * event-stream.c (Fnext_event): Reorder switch cases to something
7649         that makes sense.
7650
7651 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7652
7653         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7654         Don't bogusly reinitialize ascii_character property.
7655
7656 2002-07-08  Mike Sperber <mike@xemacs.org>
7657
7658         * process.c (Fstart_process_internal): Do error checking before we
7659         fork off the child, so the child can't muck with the state of the
7660         parent.
7661
7662 2002-07-08  Mike Sperber <mike@xemacs.org>
7663
7664         * ralloc.c (init_ralloc): Allocate properly for pdump.
7665
7666 2002-06-12  Andy Piper  <andy@xemacs.org>
7667
7668         * glyphs.c (query_string_geometry): check the string.
7669
7670         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7671         widget names.
7672
7673 2002-06-17  Jerry James  <james@xemacs.org>
7674
7675         * sysdll.c: Remove RTLD_GLOBAL initialization.
7676         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7677
7678 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7679
7680         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7681
7682 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7683
7684         * sysdep.c (sys_rename): Make sys_rename work for the case where
7685         Windows rename sets errno to EACCES if target file exists.
7686
7687 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7688
7689         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7690         Fix detection of metric units to work on Win95
7691
7692 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7693
7694         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7695
7696 2002-04-25  Andy Piper  <andy@xemacs.org>
7697
7698         * redisplay.c (create_text_block): Remove extra comment trailer.
7699
7700 2002-04-24  Andy Piper  <andy@xemacs.org>
7701
7702         * redisplay.c (create_text_block): Don't actually add propagation
7703         data if the line ends after we have added a glyph.
7704
7705 2002-04-22  Andy Piper  <andy@xemacs.org>
7706
7707         * extents.c (extent_fragment_update): check for glyphs we have
7708         previously displayed.
7709         * extents.c (print_extent_1): warning removal.
7710         * extents.h: change prototype.
7711         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7712         widths correctly for wide glyphs.
7713         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7714         * redisplay.c (prop_type): add PROP_GLYPH.
7715         * redisplay.c (struct prop_block): add glyph type
7716         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7717         to the propagation data.
7718         * redisplay.c (create_text_block): if there is a glyph in the
7719         propagation data use it to salt extent_fragment_update.
7720         * redisplay.c (create_string_text_block): ditto.
7721
7722 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7723
7724         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7725         * redisplay-output.c (compare_runes): Compare them.
7726         * redisplay.c: Update copyright date.
7727         * redisplay.c (pos_data): Add need_baseline_computation field.
7728         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7729         need_baseline_computation; zero yoffset. Set max_pixmap_height
7730         for all pixmaps, not just automatically positioned ones.
7731         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7732         * redisplay.c (calculate_baseline): New, compute textual baseline.
7733         * redisplay.c (add_glyph_rune): Call them.
7734         * redisplay.c (create_text_block): Likewise.
7735         * redisplay.c (create_overlay_glyph_block): Likewise.
7736         * redisplay.c (add_margin_runes): Likewise.
7737         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7738
7739         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7740         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7741         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7742         * redisplay-msw.c (mswindows_output_string): Likewise.
7743         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7744         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7745         * redisplay-x.c (x_output_display_block): Likewise.
7746
7747 2002-03-28  Ben Wing  <ben@xemacs.org>
7748
7749         * redisplay.c: Fixed bug in redisplay
7750         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7751         and down of the lines, since they're bigger than the line
7752         size. (It was seen most obviously when there's a horizontal scroll
7753         bar, e.g. do C-h a glyph or something like that.) The problem was
7754         that the glyph-contrib-p setting on glyphs was ignored even if it
7755         was set properly, which it wasn't until now.
7756
7757 2002-04-24  Andy Piper  <andy@xemacs.org>
7758
7759         * lisp.h (Dynarr_end): Fix definition.
7760
7761 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7762
7763         * redisplay.c (mark_redisplay): Remove call to
7764         update_frame_window_mirror.
7765
7766 2001-11-15  Andy Piper  <andy@xemacs.org>
7767
7768         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7769         cygwin (again).
7770
7771 2002-02-13  Andy Piper  <andy@xemacs.org>
7772
7773         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7774         we did in fact enqueue the XM_MAPFRAME event.
7775
7776 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7777
7778         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7779         to fix problem switching between virtual desktops under virtuawin
7780         virtual window manager.
7781
7782 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7783
7784         * event-msw.c: Typo fix.
7785         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7786         magic XM_MAPFRAME event has been sent.
7787
7788 2001-11-23  Andy Piper  <andy@xemacs.org>
7789
7790         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7791
7792 2001-11-21  Andy Piper  <andy@xemacs.org>
7793
7794         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7795         mouse events outside the frame.
7796
7797 2002-03-20  Andy Piper  <andy@xemacs.org>
7798
7799         * menubar-msw.c (mswindows_popup_menu): warning removal.
7800         * dialog-msw.c (dialog_popped_down): ditto.
7801
7802 2001-12-11  Andy Piper  <andy@xemacs.org>
7803
7804         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7805         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7806         popup_up_p.
7807         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7808         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7809         * menubar-msw.c (mswindows_popup_menu): ditto.
7810
7811 2001-10-29  Andy Piper  <andy@xemacs.org>
7812
7813         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7814         cancels.
7815
7816 2002-01-03  Andy Piper  <andy@xemacs.org>
7817
7818         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7819         letters.
7820         (xrealpath): ditto.
7821
7822 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7823
7824         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7825         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7826         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7827         Detect and handle case where machine is set up for metric units
7828
7829 2002-04-02  Andy Piper  <andy@xemacs.org>
7830
7831         * dired-msw.c (mswindows_get_files): 
7832         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7833         completely handled by XEmacs. Suggested by Thomas Vogler
7834         <mail@thomas-vogler.de>.
7835
7836 2001-11-14  Andy Piper  <andy@xemacs.org>
7837
7838         * nt.c (REG_ROOT): change registry key to XEmacs.
7839
7840 2002-04-27  Andy Piper  <andy@xemacs.org>
7841
7842         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7843
7844 2002-04-26  Andy Piper  <andy@xemacs.org>
7845
7846         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7847         behavior.
7848
7849 2002-03-14  Mike Alexander  <mta@arbortext.com>
7850
7851         * event-msw.c (mswindows_unwait_process): New, remove process from
7852         wait list
7853         * process-nt.c (nt_finalize_process_data): Call
7854         mswindows_unwait_process
7855         * console-msw.h: Declare mswindows_unwait_process
7856
7857 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7858
7859         * editfns.c (Fdecode_time):
7860         (Fformat_time_string):
7861         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7862         (make_time): Warning elimination (change arg name).
7863
7864 2001-11-24  Andy Piper  <andy@xemacs.org>
7865
7866         * window.c (Fsplit_window): Doc return type.
7867
7868 2002-04-01  Andy Piper  <andy@xemacs.org>
7869
7870         * emacs.c (Fkill_emacs): Only output message box in interactive
7871         mode.
7872
7873 2002-04-26  Andy Piper  <andy@xemacs.org>
7874  
7875         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7876         cygwin.
7877
7878 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7879
7880         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7881         bit platform.
7882
7883 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7884
7885         * XEmacs 21.4.8 "Honest Recruiter" is released.
7886
7887 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7888
7889         Supersedes 2002-04-17 patch.
7890
7891         * process.h (PROCESS_LIVE_P): Use the process status as
7892         evidence of health, not the state of the input stream.
7893         (PROCESS_READABLE_P): Say if the process is readable
7894         from. (It may be dead nonetheless.)
7895         (CHECK_READABLE_PROCESS): Test for that condition.
7896
7897         * process.c (create_process): Use PROCESS_READABLE_P.
7898         (read_process_output, set_process_filter): Likewise.
7899
7900         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7901         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7902
7903         This code is #if 0'd, this is not the time to add new functions:
7904
7905         * process.c (Fprocess_readable_p): Report readability status.
7906         * process.c (Qprocess_readable_p): New, associated symbol...
7907         * process.c (syms_of_process): ... initialize it.
7908
7909 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7910
7911         * XEmacs 21.4.7 "Economic Science" is released.
7912
7913 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7914
7915         * process.h (PROCESS_LIVE_P): Use the process status as
7916         evidence of health, not the state of the input stream.
7917
7918 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7919
7920         * sysdep.c (sys_siglist): change "signum" to "signal"
7921
7922 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7923
7924         * s/darwin.h: New file.
7925         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7926         
7927 2002-04-23  Andreas Jaeger  <aj@suse.de>
7928
7929         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7930         which use lib64 for 64-bit libs.
7931         (START_FILES): Likewise.
7932
7933 2002-02-11  Mike Sperber  <mike@xemacs.org>
7934
7935         * device-x.c: 
7936         (x_IO_error_handler):
7937         (x_init_device): Temporarily keep device in static variable
7938         `device_being_initialized' so we can recover gracefully from
7939         internal XOpenDevice failure.  (XOpenDevice is documented to
7940         return NULL on failure, but sometimes calls the IO error handler
7941         instead.)
7942
7943 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7944
7945         * dired.c (Ffile_name_all_completions): Change documentation --
7946         remove reference to completion-ignored-extensions.
7947         * dired.c (vars_of_dired): Change documentation for
7948         completion-ignored-extensions -- remove reference to
7949         file-name-all-completions.
7950
7951 2002-03-06  Jerry James  <james@xemacs.org>
7952
7953         * emodules.c (emodules_load): Fix multiple loading of same module.
7954
7955 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7956         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7957         RTLD_LAZY to avoid incorrect symbol binding when using nested
7958         shared libraries on Solaris.
7959
7960 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7961
7962         * fileio.c (Ffind_file_name_handler): Improve docstring.
7963
7964 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7965
7966         * fns.c (Fmapconcat): Improve docstring.
7967
7968 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7969
7970         * device-gtk.c: Add prototype for
7971         emacs_gtk_selection_clear_event_handle.
7972         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7973         selection.  Setup signal handler for "selection_clear_event"
7974         (emacs_gtk_selection_clear_event_handle).
7975
7976         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7977         other applications owning the clipboard (based on
7978         x_handle_selection_clear).
7979
7980 2001-12-23  William M. Perry  <wmperry@gnu.org>
7981
7982         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7983         
7984 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7985
7986         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7987
7988 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7989
7990         * XEmacs 21.4.6 "Common Lisp" is released.
7991
7992 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7993
7994         * search.c (Freplace_match): Add missing sub-expression functionality.
7995
7996         * buffer.c (decode_buffer): Add a check for pointer type to
7997         decode_buffer, before gcc's CSE optimization reorders a
7998         dereference in front of the allow_string test.
7999
8000 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
8001
8002         * window.c (window_loop): Fix bug that sometimes prevented
8003         window_loop() from iterating across multiple devices.  Also, at
8004         Ben's request, changed infloop-detecting code to abort() instead
8005         of silently terminating window_loop().
8006
8007 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8008
8009         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8010         * editfns.c (make_time): New function.
8011         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8012         * lisp.h (make_time): Prototype and comment it.
8013         * dired.c (wasteful_word_to_lisp): Deprecate.
8014         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8015
8016 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8017
8018         * fileio.c (auto_save_1): Use current coding system, not
8019         escape-quoted.
8020
8021 2001-11-13  Ben Wing  <ben@xemacs.org>
8022
8023         * window.c:
8024         * window.c (window_truncation_on):
8025         * window.c (syms_of_window):
8026         truncate-partial-width-windows should respect the buffer being
8027         displayed, like other redisplay vars.
8028
8029 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8030
8031         * event-stream.c (Fread_key_sequence): save current buffer.
8032
8033 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8034
8035         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8036
8037 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8038
8039         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8040
8041 2001-10-26  Mike Alexander  <mta@arbortext.com>
8042
8043         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8044
8045 2001-10-25  Andy Piper  <andy@xemacs.org>
8046
8047         * ChangeLog:
8048         * dialog-msw.c (handle_directory_proc): new function.
8049          (handle_directory_dialog_box): new fucntion.
8050          (handle_file_dialog_box): use new directory dialog support.
8051          (mswindows_make_dialog_box_internal): ditto.
8052         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8053         handling.
8054         (mswindows_find_frame): make global.
8055         * fileio.c (Fexpand_file_name): build fix.
8056         * general-slots.h: add Qdirectory.
8057         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8058         handling.
8059         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8060         cygwin not leaving win32 paths unchanged.
8061         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8062         cygwin runtime to do path conversion.
8063         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8064         (syms_of_win32): add new function.
8065         * window.c (window_loop): build fix.
8066
8067 2001-10-15  Andy Piper  <andy@xemacs.org>
8068
8069         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8070
8071 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8072
8073         * XEmacs 21.4.5 "Civil Service" is released.
8074
8075 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8076
8077         * glyphs-x.c: Force buffer-tab highlight update when moving the
8078         buffer, avoiding an ugly black border, used for keyboard focus
8079         indication, on a widget that can never have keyboard focus, the
8080         buffer tab.
8081
8082 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8083
8084         * process-unix.c (unix_open_multicast_group): Remove too much
8085         conversion between host and network byte order.
8086
8087 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8088
8089         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8090         before replacing them.
8091
8092         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8093         operation.
8094
8095         * src/window.c (undedicate_windows): Use it.
8096         * src/window.h: Add prototype.
8097
8098 2001-09-17  Ben Wing  <ben@xemacs.org>
8099
8100         * fileio.c (normalize_filename):
8101         * fileio.c (Fexpand_file_name):
8102         Fix various C++ compile errors in Andy's recent code.
8103         
8104         * callint.c (Fcall_interactively):
8105         * editfns.c (Ftemp_directory):
8106         * editfns.c (Fuser_full_name):
8107         * emacs.c (argmatch):
8108         * lread.c (locate_file_map_suffixes):
8109         * redisplay-x.c (x_ring_bell):
8110         Fix sign-compare warnings.
8111         
8112 2001-09-08  Andy Piper  <andy@xemacs.org>
8113
8114         * fileio.c (normalize_filename): copied from nt.c
8115         * (Ffile_name_directory): enable win32 paths under cygwin.
8116         * (Ffile_name_nondirectory): ditto.
8117         * (directory_file_name): ditto.
8118         * (Fexpand_file_name): ditto.
8119         * (Ffile_truename): ditto.
8120         * (Fsubstitute_in_file_name): ditto.
8121         * (Ffile_name_absolute_p): ditto.
8122         * (Ffile_readable_p): ditto.
8123
8124 2001-09-08  Andy Piper  <andy@xemacs.org>
8125
8126         * device-msw.c (mswindows_finish_init_device): remove dde
8127         initialization.
8128         * device-msw.c (mswindows_init_dde): factor out from
8129         mswindows_finish_init_device()
8130         * device-msw.c (init_mswindows_very_early): new function
8131         initialize but don't enable dde.
8132         * emacs.c (main_1): call init_mswindows_very_early.
8133         * event-msw.c:
8134         * event-msw.c (mswindows_dde_callback): only execute when we are
8135         ready.
8136         * symsinit.h: declare init_mswindows_very_early.
8137
8138 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8139
8140         [sjt: This has been in 21.5 for months with no complaints.]
8141
8142         * console.h (struct console_methods): Added flags member.
8143         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8144         (CONMETH_IMPL_FLAG):
8145         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8146         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8147
8148         * device.c (window_system_pixelated_geometry): Use the above macros.
8149
8150         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8151         implememntation flag.
8152         * device.h (DEVICE_DISPLAY_P): Use it.
8153
8154         * frame.c (delete_frame_internal): Use the above macro.
8155
8156         * redisplay.c (redisplay_device): Use it.
8157         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8158         (redisplay_frame): Ditto.
8159
8160         * device-msw.c (mswindows_device_implementation_flags): Removed.
8161         (msprinter_device_implementation_flags): Removed.
8162         (console_type_create_device_mswindows): Removed references to
8163         implementation_flags methods, set implementation flags here.
8164         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8165
8166         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8167         (console_type_create_device_gtk): Removed method declaration.
8168         Added commented out statement which semantically matches the
8169         commented out statement in the above removed method.
8170
8171 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8172
8173         The attached patch fixes a few warnings. 
8174
8175         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8176         * src/frame-gtk.c: guard against GNOME calls in GTK only
8177         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8178         * src/select-gtk.c: prototype lisp_to_time
8179
8180 2001-06-08  Ben Wing  <ben@xemacs.org>
8181
8182         ------ gc-in-window-procedure fixes ------
8183         
8184         * alloc.c:
8185         * alloc.c (struct post_gc_action):
8186         * alloc.c (register_post_gc_action):
8187         * alloc.c (run_post_gc_actions):
8188         * alloc.c (garbage_collect_1):
8189         Create "post-gc actions", to avoid those dreaded "GC during window
8190         procedure" problems.
8191
8192         * event-msw.c:
8193         Abort, clean and simple, when GC in window procedure.  We want
8194         to flush these puppies out.
8195
8196         * glyphs-msw.c:
8197         * glyphs-msw.c (finalize_destroy_window):
8198         * glyphs-msw.c (mswindows_finalize_image_instance):
8199         Use a post-gc action when destroying subwindows.
8200
8201         * lisp.h:
8202         Declare register_post_gc_action().
8203
8204         * scrollbar-msw.c:
8205         * scrollbar-msw.c (unshow_that_mofo):
8206         Use a post-gc action when unshowing scrollbar windows, if in gc.
8207
8208         * redisplay.c (mark_redisplay):
8209         Add comment about the utter evilness of what's going down here.
8210
8211         ------ cygwin setitimer fixes ------
8212         
8213         * Makefile.in.in (sheap_objs):
8214         * Makefile.in.in (profile_objs):
8215         * Makefile.in.in (objs):
8216         Compile profile.c only when HAVE_SETITIMER.
8217         
8218         * nt.c (mswindows_sigset):
8219         * nt.c (mswindows_sighold):
8220         * nt.c (mswindows_sigrelse):
8221         * nt.c (mswindows_sigpause):
8222         * nt.c (mswindows_raise):
8223         * nt.c (close_file_data):
8224         Style fixes.
8225         
8226         * nt.c:
8227         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8228         
8229         * profile.c:
8230         * profile.c (Fstart_profiling):
8231         * profile.c (Fstop_profiling):
8232         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8233         instead of just plain setitimer().
8234         
8235         * signal.c:
8236         * signal.c (set_one_shot_timer):
8237         * signal.c (alarm):
8238         Define qxe_setitimer() as an encapsulation around setitimer() --
8239         call setitimer() directly unless Cygwin or MS Win, in which case
8240         we use our simulated version in win32.c.
8241         
8242         * systime.h:
8243         * systime.h (struct itimerval):
8244         * systime.h (ITIMER_REAL):
8245         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8246         comment about "qxe" and the policy regarding encapsulation.
8247
8248         * win32.c:
8249         * win32.c (setitimer_helper_proc):
8250         * win32.c (setitimer_helper_period):
8251         * win32.c (setitimer_helper):
8252         * win32.c (mswindows_setitimer):
8253         Move setitimer() emulation here, so Cygwin can use it.
8254         Rename a couple of functions and variables to be longer and more
8255         descriptive.  In setitimer_helper_proc(), send the signal
8256         using either mswindows_raise() or (on Cygwin) kill().  If for
8257         some reason we are still getting lockups, we'll change the kill()
8258         to directly invoke the signal handlers.
8259
8260         ------ windows shell fixes ------
8261         
8262         * callproc.c:
8263         * ntproc.c:
8264         Comments about how these two files must die.
8265
8266         * callproc.c (init_callproc):
8267         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8268         not just COMSPEC. (more correct and closer to FSF.) Don't
8269         force a value for SHELL into the environment. (Comments added
8270         to explain why not.)
8271         
8272         * nt.c (init_user_info):
8273         Don't shove a fabricated SHELL into the environment.  See above.
8274
8275 2001-06-01  Ben Wing  <ben@xemacs.org>
8276
8277         * Makefile.in.in (ldflags):
8278         eliminate that pesky "defaulting to 00401000" warning.
8279         * nt.h:
8280         eliminate warnings.
8281
8282 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8283
8284         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8285         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8286
8287 2001-04-24  Jerry James <james@xemacs.org>
8288
8289         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8290         correct order.
8291
8292 2001-06-01  Ben Wing  <ben@xemacs.org>
8293
8294         * event-msw.c (debug_mswin_messages):
8295         conditionalize the messages that were causing compile errors.
8296         (if only macros could generate #ifdef statements ...)
8297
8298 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8299
8300         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8301
8302 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8303
8304         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8305
8306 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8307
8308         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8309         * process-unix.c (unix_canonicalize_host_name):
8310         sysdep.c (init_system_name):
8311         Use it to conditionally support IPv6 canonicalization.
8312
8313 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8314
8315         * event-msw.c:
8316         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8317
8318 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8319
8320         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8321         attempt is made to scroll when no scroll bar is available.
8322
8323 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8324
8325         * input-method-motif.c (XIM_delete_frame): New callback.
8326         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8327         got deleted from 21.4.3.)
8328
8329 2001-06-01  Ben Wing  <ben@xemacs.org>
8330
8331         * nt.c (mswindows_utime):
8332         * nt.c (close_file_data):
8333         fix off-by-one-indirection error.
8334
8335 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8336
8337         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8338         because set_file_times() now takes Lisp_Object path, instead of
8339         char*.
8340         * nt.c: Include buffer.h.
8341         * nt.c (convert_from_time_t): New.
8342         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8343         not set mtime correctly.
8344         * nt.h: Declare mswindows_utime().
8345         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8346         path, instead of char*.
8347         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8348
8349 2001-05-30  Ben Wing  <ben@xemacs.org>
8350
8351         For 21.4:
8352
8353         (Stephen, just take all event-msw.c patches.  This includes
8354         the "iconify" fix below.)
8355
8356         * event-msw.c:
8357         * event-msw.c (mswindows_dequeue_dispatch_event):
8358         * event-msw.c (assert):
8359         * event-msw.c (emacs_mswindows_quit_p):
8360         * event-msw.c (debug_mswin_messages):
8361         * event-msw.c (debug_output_mswin_message):
8362         * event-msw.c (vars_of_event_mswindows):
8363         Fix yet more problems with C-g handling.
8364         Implement debug-mswindows-events.
8365         
8366 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8367
8368         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8369         
8370 2001-05-23  Ben Wing  <ben@xemacs.org>
8371
8372         * event-msw.c (winsock_writer):
8373         * event-msw.c (winsock_closer):
8374         prior kludgy code was clobbering the buffer, thinking it was
8375         "unused" space to store an unneeded return value; instead, use
8376         the variable we've already got staring us in the face.
8377
8378 2001-05-17  Andy Piper  <andy@xemacs.org>
8379
8380         * sysfile.h: don't assume that file attributes are boolean
8381
8382 2001-05-23  Ben Wing  <ben@xemacs.org>
8383
8384         * device-msw.c (msprinter_init_device):
8385         signal an error rather than crash with an unavailable network
8386         printer (from Mike Alexander).
8387         
8388         * event-msw.c:
8389         * event-msw.c (struct winsock_stream):
8390         * event-msw.c (winsock_writer):
8391         * event-msw.c (winsock_closer):
8392         * event-msw.c (make_winsock_stream_1):
8393         cleanup headers.  fix (hopefully) an error with data corruption
8394         when sending to a network connection.
8395
8396         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8397         to handle the ~user prefix by (a) always assuming we're referencing
8398         ourselves and not even verifying the user -- hence any file with
8399         a tilde as its first char is invalid! (b) if there wasn't a slash
8400         following the filename, the pointer was set *past* the end of
8401         file and we started reading from uninitialized memory.  Now we
8402         simply treat these as files, always.
8403
8404         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8405         
8406 2001-05-19  Ben Wing  <ben@xemacs.org>
8407
8408         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8409
8410         * process-nt.c:
8411         * process-nt.c (vars_of_process_nt):
8412         remove unused mswindows-quote-process-args.  rec for 21.4.
8413         
8414 2001-05-12  Ben Wing  <ben@xemacs.org>
8415
8416         * event-msw.c (mswindows_dde_callback):
8417         * event-msw.c (mswindows_wnd_proc):
8418         eliminate cygwin warnings.
8419
8420 2001-05-06  Ben Wing  <ben@xemacs.org>
8421
8422         * console-msw.h:
8423         * device-msw.c:
8424         * device-msw.c (print_dialog_worker):
8425         * device-msw.c (mswindows_handle_print_dialog_box):
8426         * device-msw.c (syms_of_device_mswindows):
8427         * dialog-msw.c (mswindows_make_dialog_box_internal):
8428         * general-slots.h:
8429         implement printing the selection when it's selected.
8430
8431 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8432
8433         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8434
8435 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8436
8437         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8438         EMACS_INT is signed.
8439
8440 2001-04-15  Michael Lausch  <mla@1012surf.net>
8441
8442         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8443         gtk_widget_request_size() to give scrollbar >0 width for
8444         GTK >1.2.8.
8445
8446 2001-05-30  William M. Perry  <wmperry@gnu.org>
8447
8448         * event-gtk.c: Check for buttons as modifier keys.
8449
8450 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8451
8452         * s\mingw32.h:
8453         Properly find MinGW's <process.h> inside Cygwin's restructured
8454         include directories.  Don't try to include <cygwin/version.h>
8455         since we are dropping support for MinGW in versions of Cygwin
8456         earlier than b21.
8457         * nt.c:
8458         Drop support for MinGW in versions of Cygwin before b21.
8459         * sysdep.c:
8460         Properly find MinGW's <process.h> inside Cygwin's restructured
8461         include directories.
8462         * syswindows.h:
8463         Drop support for MinGW in versions of Cygwin before b21.
8464         * unexcw.c:
8465         Even though a.out.h is no longer detected by configure, allow
8466         MinGW to use it until we figure out how to do the job with Win32.
8467
8468 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8469
8470         * syntax.c (find_start_of_comment):
8471         Fix `unbalanced parentheses' bug when dealing with mixed comment
8472         styles in c++/java/etc. mode
8473
8474 2001-05-29  Mike Alexander  <mta@arbortext.com>
8475
8476         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8477         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8478
8479 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8480
8481         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8482
8483 2001-03-31  Mike Sperber <mike@xemacs.org>
8484
8485         * search.c (Freplace_match): Support FSF-style specification of
8486         match subexpression when applied to a buffer.
8487
8488 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8489
8490         * event-stream.c (is_scrollbar_event): add missing semicolon
8491
8492 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8493
8494         * Makefile.in.in: Use TAR macro instead of hardcoding
8495           tar.  Allows use of GNU tar instead of system tar
8496
8497 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8498
8499         * event-stream.c (is_scrollbar_event): add missing semicolon
8500
8501 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8502
8503         * XEmacs 21.4.3 "Academic Rigor" is released.
8504
8505 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8506
8507         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8508
8509 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8510
8511         * buffer.c (Vcase_fold_search): Remove obsolete
8512           comment about non ASCII case-fold-search.  This
8513           bug has been fixed by case-table changes.
8514
8515 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8516
8517         * event-msw.c: Restore include of events-mod.h.
8518
8519 2001-04-22   zhaoway  <zw@debian.org>
8520
8521         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8522         !HAVE_SCROLLBARS.
8523
8524 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8525
8526         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8527
8528 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8529
8530         * mule-charset.c (Fmake_charset): Add missing else.
8531
8532 2001-04-23  Ben Wing  <ben@xemacs.org>
8533
8534         * event-msw.c (FAKE_MOD_QUIT):
8535         * event-msw.c (mswindows_dequeue_dispatch_event):
8536         * event-msw.c (mswindows_wnd_proc):
8537         * event-msw.c (emacs_mswindows_quit_p):
8538         Get critical quit working.
8539
8540 2001-05-05  Ben Wing  <ben@xemacs.org>
8541
8542         * console-msw.h:
8543         * device-msw.c:
8544         * device-msw.c (mswindows_get_default_margin):
8545         * frame-msw.c (mswindows_size_frame_internal):
8546         * frame-msw.c (msprinter_init_frame_1):
8547         * frame-msw.c (vars_of_frame_mswindows):
8548         Change top/bottom margin defaults to 0.5 inches.
8549
8550 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8551
8552         Fix link error with gcc 3.0 on Linux.
8553         * terminfo.c (UP): Remove.
8554         * terminfo.c (BC): Remove.
8555         * terminfo.c (PC): Remove.
8556         They weren't used, and in any case, these symbols should be
8557         defined in the *library*.
8558
8559 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8560
8561         * s/aix4.h: Fix crash with xlc -O3.
8562         Improve comment explaining how -O3 works.
8563
8564 2001-04-15  Ben Wing  <ben@xemacs.org>
8565
8566         * event-stream.c:
8567         * event-stream.c (Fnext_event):
8568         * event-stream.c (is_scrollbar_event):
8569         * event-stream.c (execute_command_event):
8570         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8571         crash' problem.  His fix introduces other problems.  We filter
8572         out scrollbar events specifically, making them somewhat invisible
8573         to command-building, and not appearing in `this-command-keys'.
8574         More work is still needed (see comments in event-stream.c), but
8575         this fixes all the major problems.
8576
8577 2001-04-20  Ben Wing  <ben@xemacs.org>
8578
8579         * .cvsignore: Added stuff for Windows.
8580
8581 2001-04-28  Ben Wing  <ben@xemacs.org>
8582
8583         * buffer.c (Ferase_buffer):
8584         * editfns.c (buffer_insert1):
8585         * editfns.c (Finsert_before_markers):
8586         * editfns.c (Finsert_string):
8587         * editfns.c (Finsert_char):
8588         * editfns.c (Fdelete_region):
8589         * editfns.c (Fwiden):
8590         * editfns.c (Fnarrow_to_region):
8591         remove bogus lines setting zmacs_region_stays to 0.
8592         
8593 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8594
8595         * process-unix.c (unix_open_network_stream): If connect() fails
8596         invalidate file descriptor after closing it.
8597
8598 2001-03-08  Mike Alexander  <mta@arbortext.com>
8599
8600         * event-msw.c (mswindows_need_event_in_modal_loop):
8601         Don't dispatch a message if we didn't get one.
8602         (mswindows_need_event):
8603         Terminate the correct process when one exits instead of the first
8604         one on Vprocess_list and look for process termination when in
8605         mswindows_protect_modal_loop.
8606
8607 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8608
8609         * XEmacs 21.4.1 "Copyleft" is released.
8610
8611 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8612
8613         * input-method-motif.c (XIM_delete_frame): New callback.
8614         (XIM_init_frame): Register it.
8615
8616 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8617
8618         * XEmacs 21.4.0 "Solid Vapor" is released.
8619
8620 2001-04-15  Ben Wing  <ben@xemacs.org>
8621
8622         * cmdloop.c (call_command_loop):
8623         Fix braino in bit-rotting code.
8624         
8625 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8626
8627         * extents.c (Fset_extent_endpoints): Force creation of extent info
8628         in buffer_or_string.
8629
8630         * extents.c (process_extents_for_insertion_mapper): Correctly
8631         check for open-open zero-length extents.
8632
8633 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8634
8635         * lisp.h: New typedefs Memory_count, Element_count.
8636         * regex.c:
8637         * regex.h:
8638         Sign-compare warning elimination: several unsigned -> signed.
8639         Based on work by Ben Wing <ben@xemacs.org>.
8640
8641 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8642
8643         * XEmacs 21.2.47 "Zephir" is released.
8644
8645 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8646
8647         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8648
8649 2001-04-03  Mike Sperber <mike@xemacs.org>
8650
8651         * search.c: Revert previous patch due because of release.
8652
8653 2001-03-30  Ben Wing  <ben@xemacs.org>
8654
8655         * s\cygwin32.h:
8656         Add missing killpg prototype.
8657
8658         * elhash.c:
8659         Add a comment about fixing problems when a new entry is added
8660         while mapping.
8661
8662         * frame-msw.c (mswindows_init_frame_1):
8663         Fix compile warnings.
8664
8665         * menubar.c (vars_of_menubar):
8666         Provide `menu-accelerator-support' to indicate that we properly
8667         support %_ in menu specifications, so that package code can
8668         conditionalize on this (and remove %_ from menu specifications
8669         on older versions).
8670
8671         * event-msw.c:
8672         * scrollbar-msw.c:
8673         * scrollbar-msw.c (can_scroll):
8674         * scrollbar-msw.h:
8675         Fix handling of mouse wheel under Windows to follow standards --
8676         now scrolls window under pointer, not selected window.
8677
8678 2001-03-31  Mike Sperber <mike@xemacs.org>
8679
8680         * search.c (Freplace_match): Support FSF-style specification of
8681         match subexpression when applied to a buffer.
8682
8683 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8684
8685         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8686         function to modify KEYMAP, so map over a copy of the hash table.
8687
8688 2001-03-21  Martin Buchholz <martin@xemacs.org>
8689
8690         * XEmacs 21.2.46 "Urania" is released.
8691
8692 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8693
8694         * realpath.c (xrealpath): Make file-truename work with symlinks to
8695         /cygdrive paths on cygwin. Always lowercase drive-letters on
8696         native windows.
8697         (cygwin_readlink): Don't try to find canonical filename unless
8698         file exists.
8699
8700 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8701
8702         * ChangeLog: Log GTK merge.
8703
8704         * dumper.c:
8705         * select-x.c:
8706         * specifier.c:
8707         * symeval.h:
8708         Revert gratuitous whitespace changes from GTK merge.
8709
8710         * emacs.c: Document end of complex #ifdef @ l. 1495.
8711
8712
8713 2001-03-12  Andy Piper  <andy@xemacs.org>
8714
8715         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8716         have to do likewise.
8717
8718 2001-03-12  Andy Piper  <andy@xemacs.org>
8719
8720         * sysdep.c: we only support mingw now.
8721
8722 2001-03-09  Andy Piper  <andy@xemacs.org>
8723
8724         * unexcw.c (copy_executable_and_dump_data_section): making approx
8725         overrun a warning only.
8726
8727 2001-03-10  William M. Perry  <wmperry@aventail.com>
8728
8729         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8730         satisfy Stephen's identical-after-cpp plea.
8731
8732 2001-03-02  Ben Wing  <ben@xemacs.org>
8733
8734         * cmds.c:
8735         * cmds.c (Fforward_char):
8736         * syntax.c:
8737         * window.c:
8738
8739         Augment documentation of the most common motion commands to make
8740         note of the shifted-motion support.
8741         
8742 2001-03-02  Ben Wing  <ben@xemacs.org>
8743
8744         * nt.c (mswindows_fstat):
8745         * nt.c (mswindows_stat):
8746         * search.c (boyer_moore):
8747         Fix compile warnings under Windows.
8748         
8749         * sysdep.c (sys_readdir):
8750         Fix buggy filename-conversion code under Mule.
8751
8752 2001-03-09  William M. Perry  <wmperry@aventail.com>
8753
8754         * Makefile.in.in:
8755         * config.h.in:
8756         * console.c:
8757         * console.h:
8758         * device.c:
8759         * device.h:
8760         * dragdrop.c:
8761         * emacs.c:
8762         * event-stream.c:
8763         * events.c:
8764         * events.h:
8765         * faces.c:
8766         * frame.h:
8767         * general-slots.h:
8768         * glyphs.c:
8769         * gutter.c:
8770         * inline.c:
8771         * lisp.h:
8772         * lrecord.h:
8773         * make-src-depend:
8774         * redisplay-output.c:
8775         * redisplay.c:
8776         * symsinit.h:
8777         * sysfile.h:
8778         * toolbar.c:
8779         * window.c:
8780         The Great GTK Merge.
8781
8782         * ChangeLog.GTK:
8783         * console-gtk.c:
8784         * console-gtk.h:
8785         * device-gtk.c:
8786         * emacs-marshals.c:
8787         * emacs-widget-accessors.c:
8788         * event-gtk.c:
8789         * frame-gtk.c:
8790         * gccache-gtk.c:
8791         * gccache-gtk.h:
8792         * glade.c:
8793         * glyphs-gtk.c:
8794         * glyphs-gtk.h:
8795         * gtk-glue.c:
8796         * gtk-xemacs.c:
8797         * gtk-xemacs.h:
8798         * gui-gtk.c:
8799         * gui-gtk.h:
8800         * menubar-gtk.c:
8801         * native-gtk-toolbar.c:
8802         * objects-gtk.c:
8803         * objects-gtk.h:
8804         * redisplay-gtk.c:
8805         * scrollbar-gtk.c:
8806         * scrollbar-gtk.h:
8807         * select-gtk.c:
8808         * toolbar-gtk.c:
8809         * ui-byhand.c:
8810         * ui-gtk.c:
8811         * ui-gtk.h:
8812         The Great GTK Merge: new files.
8813
8814 2001-02-26  Ben Wing  <ben@xemacs.org>
8815
8816         Reapplied Lstream change.
8817
8818 2001-02-26  Ben Wing  <ben@xemacs.org>
8819
8820         Undid the last change, since it is more controversial than I
8821         thought.  It should be back in at some point soon.
8822         
8823 2001-02-25  Ben Wing  <ben@xemacs.org>
8824
8825         * buffer.c:
8826         * callproc.c (Fold_call_process_internal):
8827         * event-msw.c (ntpipe_slurp_reader):
8828         * event-msw.c (ntpipe_shove_writer):
8829         * event-msw.c (winsock_reader):
8830         * event-msw.c (winsock_writer):
8831         * file-coding.c:
8832         * file-coding.c (detect_eol_type):
8833         * file-coding.c (detect_coding_type):
8834         * file-coding.c (determine_real_coding_system):
8835         * file-coding.c (Fdetect_coding_region):
8836         * file-coding.c (decoding_reader):
8837         * file-coding.c (decoding_writer):
8838         * file-coding.c (mule_decode):
8839         * file-coding.c (Fdecode_coding_region):
8840         * file-coding.c (encoding_reader):
8841         * file-coding.c (encoding_writer):
8842         * file-coding.c (mule_encode):
8843         * file-coding.c (Fencode_coding_region):
8844         * file-coding.c (detect_coding_sjis):
8845         * file-coding.c (decode_coding_sjis):
8846         * file-coding.c (encode_coding_sjis):
8847         * file-coding.c (detect_coding_big5):
8848         * file-coding.c (decode_coding_big5):
8849         * file-coding.c (encode_coding_big5):
8850         * file-coding.c (detect_coding_ucs4):
8851         * file-coding.c (decode_coding_ucs4):
8852         * file-coding.c (encode_coding_ucs4):
8853         * file-coding.c (detect_coding_utf8):
8854         * file-coding.c (decode_coding_utf8):
8855         * file-coding.c (encode_coding_utf8):
8856         * file-coding.c (detect_coding_iso2022):
8857         * file-coding.c (decode_coding_iso2022):
8858         * file-coding.c (encode_coding_iso2022):
8859         * file-coding.c (decode_coding_no_conversion):
8860         * file-coding.c (encode_coding_no_conversion):
8861         * glyphs-x.c (write_lisp_string_to_temp_file):
8862         * gpmevent.c (tty_get_foreign_selection):
8863         * lisp.h:
8864         * lstream.c:
8865         * lstream.c (Lstream_flush_out):
8866         * lstream.c (Lstream_adding):
8867         * lstream.c (Lstream_write_1):
8868         * lstream.c (Lstream_write):
8869         * lstream.c (Lstream_raw_read):
8870         * lstream.c (Lstream_read_more):
8871         * lstream.c (Lstream_read):
8872         * lstream.c (Lstream_unread):
8873         * lstream.c (Lstream_fputc):
8874         * lstream.c (stdio_reader):
8875         * lstream.c (stdio_writer):
8876         * lstream.c (filedesc_reader):
8877         * lstream.c (filedesc_writer):
8878         * lstream.c (lisp_string_reader):
8879         * lstream.c (struct fixed_buffer_stream):
8880         * lstream.c (make_fixed_buffer_input_stream):
8881         * lstream.c (make_fixed_buffer_output_stream):
8882         * lstream.c (fixed_buffer_reader):
8883         * lstream.c (fixed_buffer_writer):
8884         * lstream.c (struct resizing_buffer_stream):
8885         * lstream.c (resizing_buffer_writer):
8886         * lstream.c (dynarr_writer):
8887         * lstream.c (lisp_buffer_reader):
8888         * lstream.c (lisp_buffer_writer):
8889         * lstream.h:
8890         * lstream.h (lstream_implementation):
8891         * lstream.h (struct lstream):
8892         * md5.c (Fmd5):
8893         * process-nt.c (nt_send_process):
8894         * process-unix.c (unix_send_process):
8895         
8896         Correct Lstream lossage due to mixing of signed and unsigned
8897         quantities.  All Lstream uses of size_t and ssize_t are now a
8898         single signed data type Lstream_data_count.  This fixes problems
8899         under Windows with sending large quantities of data to a process,
8900         and may well fix other subtle bugs.
8901
8902 2001-02-23  Martin Buchholz <martin@xemacs.org>
8903
8904         * XEmacs 21.2.45 "Thelxepeia" is released.
8905
8906 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8907
8908         * lisp-union.h (XSETINT): 
8909         (XSETCHAR):
8910         (XSETOBJ): 
8911         Reverse previous change of 2001-02-06.
8912
8913 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8914
8915         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8916         buffers.
8917         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8918         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8919         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8920         * regex.c (POS_AS_IN_BUFFER): removed
8921         * regex.c (re_search_2):
8922         * regex.c (re_match_2):
8923         Don't use an offset of 1 when calculating buffer positions, since
8924         `BI_BUF_BEGV' does it already.
8925
8926 2001-02-18  Wim Dumon  <wim@easics.be>
8927
8928         * insdel.c (prepare_to_modify_buffer): Also check for
8929         supersession when clash-detection is enabled. 
8930
8931 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8932
8933         * regex.c (re_match_2_internal):
8934         Convert temp characters from 'const unsigned char' to 're_char'.
8935         Fix crashing bug with extended characters under mule.
8936         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8937         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8938         font-lock, pdump, and new syntax-table code.
8939         * syntax.c (find_start_of_comment):
8940         (find_end_of_comment):
8941         (forward-comment):
8942         Fix crashing bugs involving moving beyond end of buffer.
8943         * syntax.c (find_start_of_comment):
8944         Fixed logic to allow proper detection of cases where the same
8945         character is used to end both a two-char comment start and a
8946         two-char comment end sequence. Fixes `(forward-comment -1)'.
8947         * syntax.c (find_start_of_comment):
8948         Return position just past last comment-end character for all cases
8949         (previously was only done for two-char comment-end sequences).
8950         * syntax.c (forward-comment):
8951         Take value returned from `find_end_of_comment', rather than
8952         incrementing it.
8953         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8954         Properly deal with BUFFERP (syntax_cache.object)
8955
8956 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8957
8958         * alloc.c (Fgarbage_collect): 
8959         * alloc.c (make_bit_vector_from_byte_vector):
8960         -Wsign-compare-correctness.
8961
8962 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8963
8964         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8965         (XSETCHAR): Likewise.
8966         (XSETOBJ): Likewise.
8967
8968 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8969
8970         * mule-canna.c (canna-func-delete_previous): 
8971         Rename to canna-func-delete-previous.
8972
8973 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8974
8975         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8976
8977 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8978
8979         * font-lock.c (find_context): Fix C++ compile errors introduced by
8980         recent patch
8981
8982 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8983
8984         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8985         pragma, but earlier ones barf on the same pragma.
8986
8987 2001-02-06  Mike Sperber <mike@xemacs.org>
8988
8989         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8990         `configure-mule-lisp-directory'.
8991
8992 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8993
8994         Make sure dump-id.c is compiled in the same way as other .c's.
8995         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8996         * dump-id.h: Remove.
8997         * emacs.c: Move dump-id.h into dumper.h.
8998         * dumper.h: Move dump-id.h into dumper.h.
8999         * Makefile.in.in:
9000         Use standard .c.o rule for building dump-id.o.
9001         Remove preprocessor flags from link command.
9002         Add dump-id.o to ${otherobjs} if PDUMP.
9003
9004 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9005
9006         Port FSF 20.7 syntax table improvements.
9007         * syntax.c.
9008         * syntax.h.
9009
9010         Fixups for new syntax table stuff.
9011         * dired.c: Include syntax.c.
9012         (Fdirectory_files): Initialize regex_match_object and
9013         regex_emacs_buffer.
9014         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9015         and Fget_char_property.
9016
9017         Use ported FSF 20.7 syntax table improvements.
9018         * font-lock.c.
9019         * regex.c.
9020         * search.c.
9021         
9022 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9023
9024         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9025         Unixware's enum boolean from sys/types.h.
9026
9027 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9028
9029         Fix support for building with latest Purify.
9030         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9031         (PURIFY_FLAGS): Likewise.
9032
9033 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9034
9035         * fileio.c (lisp_string_set_file_times): New.
9036         * fileio.c (Fcopy_file): Use it.
9037         Fixes bug:
9038         (copy-file filename non-ascii-filename t t)
9039         ==> No such file or directory, non-ascii-filename
9040
9041 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9042
9043         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9044         USHRT_MAX seems clearer than ~0 anyways.
9045
9046 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9047
9048         dumper improvements.  Inspired by Olivier.
9049         * dumper.c (pdump_max_align): New.
9050         * dumper.c (pdump_add_entry): Use pdump_max_align.
9051         * dumper.c (pdump_get_entry_list): Likewise.
9052         * dumper.c (pdump_scan_by_alignment): Likewise.
9053         Don't iterate through unnecessary alignments.
9054         * dumper.c (pdump_file_get): No need to align result of malloc().
9055         * dumper.c (pdump_mallocadr): Remove.  
9056         The result of malloc() is guaranteed to be maximally aligned.
9057         * dumper.c: s/elmt/elt/g;
9058         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9059         * dumper.c (pdump_alert_undump_object): Likewise.
9060         * dumper.c (pdump_align_table): 
9061         Don't support alignments > 64.
9062         Store ALIGNOF's, not shift counts, in table.
9063
9064 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9065
9066         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9067         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9068         * systime.h: Use HAVE_UTIME.
9069         * sysdep.c (struct utimbuf): Remove.
9070         * sysdep.c (set_file_times): Prefer utime() to utimes().
9071         * config.h.in (HAVE_UTIME): New.
9072         * config.h.in (HAVE_UTIME_H): Remove.
9073         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9074
9075 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9076
9077         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9078
9079 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9080
9081         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9082
9083 2001-02-08  Martin Buchholz <martin@xemacs.org>
9084
9085         * XEmacs 21.2.44 "Thalia" is released.
9086
9087 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9088
9089         Fixes crashes in kill-emacs on some systems.
9090         * process-unix.c (unix_kill_child_process):
9091         It's OK for kill() to fail with ESRCH.
9092
9093 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9094
9095         Contortions to make .gdbinit tricks work on most systems.
9096         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9097         * alloc.c (dbg_valmask): Make non-const.
9098         * alloc.c (dbg_typemask): Make non-const.
9099         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9100         * alloc.c (dbg_valbits): Make non-const.
9101         * alloc.c (dbg_gctypebits): Make non-const.
9102         * .gdbinit (decode_object): Make it work with AIX cc.
9103
9104 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9105
9106         * elhash.c (make_general_lisp_hash_table):
9107         Use simpler and more efficient calloc to clear entries.
9108
9109 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9110
9111         * window.c (window_scroll): Work around an AIX C compiler bug.
9112         Fixes 'scroll-up' does nothing problem with xlC.
9113
9114 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9115
9116         * .gdbinit: Remove obsolete comment.
9117
9118 2001-01-31  Mike Alexander  <mta@arbortext.com>
9119
9120         * select.c (Fown_selection_internal): Set owned_p for device
9121         method correctly.
9122
9123 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9124
9125         Port to g++ 2.97.
9126         "not" cannot be used as a macro name as it is an operator in C++
9127         * config.h.in: Stop #defining `not'.
9128         * chartab.c (check_category_char): not ==> not_p
9129         * chartab.h: Likewise.
9130         * regex.c (re_match_2_internal): Likewise.
9131
9132 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9133
9134         * lisp-disunion.h: Fix up comments.
9135
9136 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9137
9138         * keymap.c (define_key_check_and_coerce_keysym):
9139         (syms_of_keymap):
9140         Support mouse-6 and mouse-7 bindings in the obvious way.
9141
9142 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9143
9144         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9145
9146 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9147
9148         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9149         Previous patch missed DEFVAR_INT_MAGIC.
9150         Make sure future DEFVAR_foo use correct types.
9151         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9152         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9153         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9154         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9155         * (DEFVAR_INT): Likewise.
9156         * redisplay.c (vertical_clip): Should be of type Fixnum.
9157         * redisplay.c (horizontal_clip): Likewise.
9158         * lisp.h (dump_add_opaque_int): New.
9159         (dump_add_opaque_fixnum): New.
9160
9161 2001-01-29  Andy Piper  <andy@xemacs.org>
9162
9163         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9164         since they can be eval'ed
9165
9166 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9167
9168         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9169         Oops, XEmacs redefines `class'.  Use `typename' instead.
9170
9171 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9172
9173         * dumper.c: Fix C++ compile errors.
9174
9175 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9176
9177         * tparam.c: Use correct prototypes.
9178
9179 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9180
9181         * sysproc.h: #include util.h for NetBSD's openpty.
9182
9183 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9184
9185         More 64-bit correctness.
9186         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9187         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9188         Fix up comments.
9189         This finally finishes the 64-bit SGI port.
9190         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9191         * symbols.c: Fix up comments and type casts.
9192         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9193         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9194         * symeval.h (Fixnum): New type.
9195         * symeval.h (symbol_value_type): Fix up comment.
9196
9197         * commands.h:
9198         * nt.c:
9199         * emacs.c:
9200         * data.c:
9201         * redisplay.c:
9202         * abbrev.c:
9203         * dired-msw.c:
9204         * event-Xt.c:
9205         * eldap.c:
9206         * window.c:
9207         * sound.c:
9208         * event-stream.c:
9209         * eval.c:
9210         * buffer.c:
9211         * mule-canna.c: A million DEFVAR_INTs here...
9212         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9213         * extents.c:
9214         * cmdloop.c:
9215         * lisp.h:
9216         * select-x.c:
9217         * console-x.h:
9218         * event-msw.c:
9219         * mule-wnnfns.c:
9220         * hpplay.c:
9221         * ralloc.c:
9222         * alloc.c:
9223         * keymap.c:
9224         * profile.c:
9225         s/int/Fixnum/g in DEFVAR_INT declarations.
9226
9227 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9228
9229         Port pdump to SGI alignment-sensitive environment.
9230         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9231         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9232         properly aligned.
9233         Define and use aligned reading and writing macros.
9234         Use buffered stdio instead of posix i/o for faster dumping.
9235         Eliminate kludgy 256 byte space for header.
9236         Read and write from dump file using structs for alignment safety.
9237         * dumper.c (pdump_align_stream): New.
9238         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9239         * dumper.c (PDUMP_READ_ALIGNED): New.
9240         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9241         * dumper.c (pdump_static_Lisp_Object): New struct.
9242         * dumper.c (pdump_static_pointer): New struct.
9243         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9244         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9245         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9246         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9247
9248         * dumper.c (pdump_backtrace):
9249         * dumper.c (pdump_get_indirect_count):
9250         * dumper.c (pdump_register_object):
9251         * dumper.c (pdump_register_struct):
9252         * dumper.c (pdump_reloc_one):
9253         * dumper.c (pdump_scan_by_alignment):
9254         * dumper.c (pdump_dump_from_root_struct_ptrs):
9255         * dumper.c (pdump_dump_opaques):
9256         * dumper.c (pdump_dump_rtables):
9257         * dumper.c (pdump_dump_from_root_objects):
9258         * dumper.c (pdump):
9259         * dumper.c (pdump_load_finish):
9260         Use aligned reading and writing.
9261
9262         * dumper.c (pdump_free): Make static.
9263         * dumper.c (pdump_hFile): Likewise.
9264         * dumper.c (pdump_hMap): Likewise.
9265
9266 2001-01-26  Martin Buchholz <martin@xemacs.org>
9267
9268         * XEmacs 21.2.43 "Terspichore" is released.
9269
9270 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9271
9272         Type fiddling for window_config.saved_windows_count
9273         * window.c (struct window_config): 
9274         Make saved_windows_count member unsigned.
9275         * window.c (sizeof_window_config_for_n_windows): 
9276         Make parameter unsigned.
9277         * window.c (mark_window_config):
9278         * window.c (window_config_equal):
9279         * window.c (free_window_configuration):
9280         * window.c (Fset_window_configuration):
9281         * window.c (count_windows):
9282         * window.c (Fcurrent_window_configuration):
9283         * window.c (reinit_vars_of_window):
9284         Update all callers and users.
9285
9286 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9287
9288         Alignment correctness for flexible arrays.
9289         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9290         Make alignment-correct. Add interesting comments.
9291         * alloc.c (size_vector):
9292         * alloc.c (make_vector_internal):
9293         * alloc.c (make_bit_vector_internal):
9294         * alloc.c (sweep_bit_vectors_1):
9295         * fns.c (size_bit_vector):
9296         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9297         * window.c (sizeof_window_config_for_n_windows): 
9298         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9299
9300 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9301
9302         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9303
9304 2001-01-23  Andy Piper  <andy@xemacs.org>
9305
9306         * select.c (Fown_selection_internal): pass owned_p
9307
9308         * select-msw.c (mswindows_own_selection): New Signature.
9309
9310         * console.h (struct console_methods): add owned_p to
9311         _own_selection.
9312
9313         * select-x.c (x_own_selection): pass owned_p
9314         (hack_motif_clipboard_selection): use owned_p
9315         (vars_of_select_x): new variable -
9316         x_selection_strict_motif_ownership.
9317
9318 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9319
9320         * specifier.h (specifier_data_offset): Remove pointless parens.
9321         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9322
9323 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9324
9325         Make Lisp_Object sizeof methods be alignment-correct.
9326         pdump must restore objects to the same alignment as the C compiler
9327         assumes.  It really matters on SGIs.
9328         * lstream.c (aligned_sizeof_lstream): New.
9329         (sizeof_lstream): Use aligned_sizeof_lstream.
9330         (Lstream_new): Likewise.
9331         * opaque.c (aligned_sizeof_opaque): New.
9332         (sizeof_opaque): Use aligned_sizeof_opaque.
9333         (make_opaque): Likewise.
9334         * specifier.c (aligned_sizeof_specifier): New.
9335         (sizeof_specifier): Use aligned_sizeof_specifier.
9336         (make_specifier_internal): Likewise.
9337
9338 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9339
9340         * lstream.h (struct lstream): Use max_align_t for trailing data.
9341         * specifier.h (struct Lisp_Specifier): Likewise.
9342
9343 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9344
9345         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9346         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9347         (CCL_SUSPEND): Likewise.
9348         (CCL_INVALID_CMD): Likewise.
9349         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9350         (ccl_driver): Likewise.
9351         (CCL_WRITE_CHAR): Macro hygiene.
9352         (CCL_WRITE_STRING): Macro hygiene.
9353
9354 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9355
9356         Port "portable" dumper to SunOS 4 and HP-UX.
9357         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9358         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9359         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9360
9361 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9362
9363         * lisp.h (ALIGNOF): A better definition for C++.
9364
9365 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9366
9367         Macro hygiene.
9368         Fix printf warnings: int format, long int arg.
9369         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9370         (PUSH_FAILURE_POINT): Use correct printf formats.
9371         (POP_FAILURE_POINT): Use correct printf formats.  
9372         Use do {...} while (0)
9373
9374 2001-01-20  Martin Buchholz <martin@xemacs.org>
9375
9376         * XEmacs 21.2.42 "Poseidon" is released.
9377
9378 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9379
9380         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9381
9382 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9383
9384         De-kludgify FIXED_TYPE free list frobbing.
9385         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9386         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9387         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9388         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9389         * alloc.c (LRECORD_FREE_P): New.
9390         * alloc.c (MARK_LRECORD_AS_FREE): New.
9391         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9392         * alloc.c (STRUCT_FREE_P): Deleted.
9393         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9394         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9395         * alloc.c (STRING_CHARS_FREE_P): New.
9396         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9397         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9398         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9399         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9400         * alloc.c (resize_string): Use new definitions.
9401         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9402         * alloc.c (verify_string_chars_integrity): Use new definitions.
9403         * alloc.c (compact_string_chars): Use new definitions.
9404         * alloc.c: Update monster comments.
9405         * lrecord.h (lrecord_type): Add some new lrecord types for
9406         alloc.c's use.
9407
9408 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9409
9410         Improve alignment hackery.
9411         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9412         (max_align_t): Moved from opaque.h - general purpose.
9413         (ALIGN_PTR): Use size_t, not long.
9414         * opaque.h (max_align_t): Move to lisp.h.
9415
9416 2001-01-18  Norbert Koch  <nk@LF.net>
9417
9418         * gui.h: Fix and add prototypes to fix build problems.
9419
9420 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9421
9422         temacs is going away, so `dump-temacs' is now a bad name.
9423         * .dbxrc (dump-temacs): Rename to `dmp'.
9424         * .gdbinit (dump-temacs): Rename to `dmp'.
9425
9426 2001-01-17  Andy Piper  <andy@xemacs.org>
9427
9428         * glyphs.c (print_image_instance): comment to make martin happy.
9429
9430         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9431         change.
9432
9433         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9434         activation.
9435         (mswindows_tab_control_redisplay): warning suppression.
9436
9437         * glyphs-widget.c (widget_update): re-write to cope with updated
9438         items.
9439         (widget_instantiate): use new gui_item functions.
9440         (tab_control_update): deleted.
9441         (progress_gauge_update): deleted.
9442         (image_instantiator_progress_guage): take out update reference.
9443         (image_instantiator_tree_view): ditto.
9444         (image_instantiator_tab_control): ditto.
9445
9446         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9447         Right the new way.
9448         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9449         return whether anything was changed.
9450         (update_gui_item_keywords): as it sounds.
9451
9452         * gui.h: declare widget_gui_parse_item_keywords.
9453
9454         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9455         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9456
9457 2001-01-17  Martin Buchholz <martin@xemacs.org>
9458
9459         * XEmacs 21.2.41 "Polyhymnia" is released.
9460
9461 2001-01-16  Didier Verna  <didier@xemacs.org>
9462
9463         * glyphs.c (image_instantiate): don't use fallbacks when
9464         instantiating a face's background pixmap by inheritance.
9465
9466 2001-01-14  Mike Sperber <mike@xemacs.org>
9467
9468         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9469         Conditionalize accordingly.
9470
9471 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9472
9473         * dumper.c (pdump_file_get): Fix a compiler warning.
9474
9475 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9476
9477         Make Purify happy when pdumping.
9478         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9479         iniitalizing all bits of new lisp object memory.
9480         * symbols.c (Fmake_local_variable): Likewise.
9481         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9482         * symbols.c (Fdefvaralias): Likewise.
9483         * mule-charset.c (vars_of_mule_charset): Likewise.
9484
9485 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9486         Add the `-nd' flag when running pre-dump operations under the debugger.
9487         * .dbxrc (run-temacs): Add `-nd'.
9488         * .dbxrc (update-elc): Likewise.
9489         * .dbxrc (dump-temacs): Likewise.
9490         * .gdbinit (run-temacs): Likewise.
9491         * .gdbinit (check-temacs): Likewise.
9492         * .gdbinit (update-elc): Likewise.
9493         * .gdbinit (dump-temacs): Likewise.
9494
9495 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9496
9497         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9498         export OBJECT_MODE=64
9499         configure --pdump --use-union-type=no
9500         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9501         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9502
9503         * miscplay.c (sndcnv8U_2mono):
9504         Avoid two uses of `++' in the same expression.
9505         Suppresses a GCC warning.
9506
9507 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9508
9509         Make sure future compilers don't miscompile alloc.c.
9510         * alloc.c:
9511         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9512         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9513
9514 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9515
9516         * dumper.c: A little post-pdump-rename comment fixup.
9517
9518 2001-01-09  Jerry James  <james@eecs.ku.edu>
9519
9520         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9521
9522 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9523
9524         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9525         script:
9526         #!/bin/sh
9527         replace_symbol () {
9528           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9529         }
9530
9531         replace_symbol pdump_wire_lists pdump_weak_object_chains
9532         replace_symbol pdump_wire_list dump_add_weak_object_chain
9533
9534         replace_symbol pdump_wires pdump_root_objects
9535         replace_symbol pdump_wire dump_add_root_object
9536
9537         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9538         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9539
9540         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9541         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9542         replace_symbol dumpstructinfo pdump_root_struct_ptr
9543         replace_symbol dumpstruct dump_add_root_struct_ptr
9544
9545         replace_symbol dumpopaque dump_add_opaque
9546         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9547         replace_symbol dumpopaqueinfos pdump_opaques
9548         replace_symbol dumpopaqueinfo pdump_opaque
9549
9550         replace_symbol nb_structdump nb_root_struct_ptrs
9551         replace_symbol nb_opaquedump nb_opaques
9552
9553         replace_symbol align_table pdump_align_table
9554         replace_symbol dump_header pdump_header
9555
9556         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9557         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9558
9559
9560 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9561
9562         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9563         optimizing bytecount_to_charcount().
9564
9565 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9566
9567         * config.h.in:
9568         (HAVE_DLFCN_H): Removed.
9569         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9570
9571 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9572
9573         Portable dumper maintainability improvements.
9574         * alloc.c (staticpro):
9575         * alloc.c (staticpro_nodump):
9576         * alloc.c (garbage_collect_1):
9577         * alloc.c (reinit_alloc_once_early):
9578         * alloc.c (init_alloc_once_early):
9579         * alloc.c: Move dumper functions to alloc.c.
9580         * dumper.c (pdump_backtrace):
9581         * dumper.c (pdump_dump_structs):
9582         * dumper.c (pdump_dump_opaques):
9583         * dumper.c (pdump_dump_rtables):
9584         * dumper.c (pdump_dump_wired):
9585         * dumper.c (pdump):
9586         * dumper.c (pdump_load_check):
9587         * dumper.c (pdump_load_finish):
9588         * dumper.c (pdump_file_unmap):
9589         * dumper.c (pdump_file_get):
9590         * dumper.c (pdump_resource_free):
9591         * dumper.c (pdump_resource_get):
9592         * dumper.c (pdump_file_free):
9593         * dumper.c (pdump_file_try):
9594         * dumper.c (pdump_load):
9595         Remove fixed size limits on staticpro(), staticpro_nodump(),
9596         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9597         Remove custom code for dumping lrecord_implementations_table - use
9598         dumpopaque instead.
9599         Remove (most of the) custom code for dumping staticpros - dump it
9600         like any other dynarr.
9601
9602         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9603         * dumper.c: Moved functions from alloc.c.
9604         * alloc.c (dumpstruct): Moved to dumper.c.
9605         * alloc.c (dumpopaque): Likewise.
9606         * alloc.c (pdump_wire): Likewise.
9607         * alloc.c (pdump_wire_list): Likewise.
9608
9609         * lisp.h (Dynarr_sizeof): New.
9610         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9611         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9612         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9613
9614         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9615         * lisp.h (dumpopaque): ditto.
9616         * lisp.h (pdump_wire): ditto.
9617         * lisp.h (pdump_wire_list): ditto.
9618
9619 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9620
9621         * make-src-depend (PrintPatternDeps):
9622         Use `sort' to make output independent of perl version.
9623
9624 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9625
9626         Port to Netbsd 1.5.
9627         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9628         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9629
9630 2001-01-03  Didier Verna  <didier@xemacs.org>
9631
9632         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9633         that `focus_frame' is alive before thinking of calling
9634         `redisplay_redraw_cursor' on it.
9635
9636 2001-01-08  Martin Buchholz <martin@xemacs.org>
9637
9638         * XEmacs 21.2.40 is released.
9639
9640 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9641
9642         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9643
9644 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9645
9646         * alloc.c (dbg_valmask): Make const.
9647         * alloc.c (dbg_typemask): Make const.
9648         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9649         * alloc.c (dbg_valbits): Make const.
9650         * alloc.c (dbg_gctypebits): Make const.
9651
9652 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9653
9654         * redisplay-x.c (x_bevel_area):
9655         redisplay.h (struct rune):
9656         Typo fixes in comments.
9657
9658 2001-01-05  Andy Piper  <andy@xemacs.org>
9659
9660         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9661         adjustment.
9662
9663         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9664
9665 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9666
9667         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9668
9669         * mule-ccl.c (stack_idx_of_map_multiple):
9670         Non const global data must not be initialized!
9671         Found by MIYASHITA Hisashi.
9672
9673 2001-01-02  Andy Piper  <andy@xemacs.org>
9674
9675         * frame.c (change_frame_size): make sure frame size is always
9676         marked as changed.
9677
9678         * glyphs.c (image_instance_layout): minor code reuse.
9679
9680         * window.c (Fcurrent_window_configuration): revert previous
9681         change.
9682
9683 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9684
9685         * glyphs.h:
9686         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9687
9688 2000-12-31  Andy Piper  <andy@xemacs.org>
9689
9690         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9691         when widget gets unmapped.
9692
9693         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9694         function. Make sure widgets losing focus don't just drop it.
9695         (handle_focus_event_1): record the widget with focus.
9696
9697 2000-12-31  Andy Piper  <andy@xemacs.org>
9698
9699         * window.c (allocate_window): use
9700         make_image_instance_cache_hash_table.
9701         (make_dummy_parent): ditto.
9702         (Fset_window_configuration): ditto.
9703
9704         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9705
9706         * glyphs.c (process_image_string_instantiator): use
9707         INSTANTIATOR_TYPE.
9708         (get_image_instantiator_governing_domain): ditto.
9709         (normalize_image_instantiator): ditto.
9710         (instantiate_image_instantiator): ditto.
9711         (make_image_instance_1): ditto.
9712         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9713         (instantiator_eq_equal): new function for use with instance hash
9714         tables.
9715         (instantiator_eq_hash): ditto.
9716         (make_image_instance_cache_hash_table): create a suitable hash
9717         table for storing image instances.
9718
9719         * elhash.h (hash_table_weakness): new internal weakness type
9720         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9721         declare new functions.
9722
9723         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9724         another weakness type for glyphs.
9725         (make_standard_lisp_hash_table): new function split out from
9726         make_general_lisp_hash_table.
9727         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9728         (hash_table_instantiate): ditto.
9729         (Fmake_hash_table): ditto.
9730
9731 2000-12-31  Martin Buchholz <martin@xemacs.org>
9732
9733         * XEmacs 21.2.39 is released.
9734
9735 2000-12-29  Andy Piper  <andy@xemacs.org>
9736
9737         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9738
9739         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9740         the frame has changed so that we pick up geometry changes such as
9741         menubar visibility.
9742
9743 2000-12-28  Andy Piper  <andy@xemacs.org>
9744
9745         * lastfile.c (my_ebss): make a char array so we can pad the
9746         bss. Fixes cygwin unexec.
9747
9748         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9749
9750 2000-12-26  Andy Piper  <andy@xemacs.org>
9751
9752         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9753         comments and try and be more precise about a non-/SIGIO world.
9754         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9755         SIGIO.
9756
9757         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9758         we don't normalize to zero width or height.
9759
9760 2000-12-24  Andy Piper  <andy@xemacs.org>
9761
9762         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9763
9764 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9765
9766         * s/sco5.h: SCO 5 has pty support.
9767
9768 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9769
9770         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9771         input-method-xlib.c contains whole contents of input-method-xfs.c,
9772         so we can use input-method-xlib.c's code for USE_XFONTSET
9773         using #ifdefs.
9774         * input-method-xfs.c: removed.
9775
9776 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9777
9778         * file-coding.h (enum coding_category_type): reorder enumerators to
9779         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9780         (now one greater than largest real coding_category_type enumerator).
9781         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9782         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9783         Fcoding_category_list, Fset_coding_priority_list,
9784         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9785         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9786
9787 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9788
9789         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9790         * redisplay-output.c (redisplay_output_window): Clear top of window
9791         when face is changed.
9792         * redisplay-x.c (x_redraw_exposed_window): Call
9793         redisplay_clear_top_of_window.
9794         * redisplay.h: Publish redisplay_clear_top_of_window.
9795
9796 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9797
9798         * buffer.c (Fkill_buffer): Map over all devices.
9799         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9800         (list_windows): New function.
9801         (list_all_windows): Ditto.
9802         (Freplace_buffer_in_windows): Use them.
9803
9804 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9805
9806         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9807         (Fopen_database): Use `db_create' instead of `db_open'.
9808         (syms_of_database): Initialize Qqueue.
9809
9810 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9811
9812         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9813         buffer_local_face_property.
9814         * buffer.h (struct buffer): New member buffer_local_face_property.
9815         * window.c (Fset_window_buffer):  Mark window's face as changed
9816         when buffer has buffer local face.
9817         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9818         * objects.c (color_after_change): Set buffer_local_face_property
9819         when locale of face specifier is buffer.
9820         * objects.c (font_after_change): Ditto.
9821         * objects.c (face_boolean_after_change): Ditto.
9822         * glyphs.c (image_after_change): Ditto.
9823
9824 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9825
9826         * nt.c (mswindows_fstat): Report file permissions, volume serial
9827         number, etc. Code adapted from FSF Emacs 20.7.
9828
9829 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9830
9831         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9832         of stat when we don't have symbolic links, to make sure
9833         mswindows_stat is called on mswindows.
9834
9835 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9836
9837         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9838
9839 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9840
9841         * doprnt.c (emacs_doprnt_1): More printing fixes.
9842         Make printing of numbers compatible with libc and FSF Emacs.
9843         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9844         Use the system printf to do most of the hard work of formatting,
9845         instead of doprnt_1().
9846         Calculate memory to allocate for format string.
9847         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9848         (doprnt_1): Cleaner code and documentation.
9849
9850 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9851
9852         * Makefile.in.in: Use the loop variable to install headers.
9853
9854 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9855
9856         * window.c (Fsplit_window): Don't invalidate face cache.
9857
9858 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9859
9860         * minibuf.c (Fall_completions): Undo the previous change
9861         which removed checking elements start with space.
9862
9863 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9864
9865         * mule-canna.c: Didier suppression.
9866
9867 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9868
9869         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9870         (warning suppression).  Add English comment translations.
9871
9872 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9873
9874         * unexelfsgi.c (unexec): Better test for mmap failure.
9875
9876 2000-12-05  Martin Buchholz <martin@xemacs.org>
9877
9878         * XEmacs 21.2.38 is released.
9879
9880 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9881
9882         * redisplay.c (bar-cursor): Make a user variable.
9883
9884         * symsinit.h: Add init_postgresql_from_environment.
9885
9886 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9887
9888         * regex.c: Convert to clean C.
9889
9890 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9891
9892         * realpath.c:
9893         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9894         initialization.
9895         (sys_readlink): renamed to system_readlink to avoid conflict with
9896         the other sys_readlink.
9897
9898 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9899
9900         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9901
9902 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9903
9904         * postgresql.c (init_postgresql_from_environment): new function.
9905         (vars_of_postgresql): Move code initializing Lisp variables out and
9906         into init_postgresql_from_environment.
9907         emacs.c (main_1): Call init_postgresql_from_environment if and only
9908         if running a dumped XEmacs.
9909
9910 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9911
9912         * buffer.c: Make find-file-compare-truenames default to true on
9913         windows.
9914
9915         * realpath.c (win32_abs_start):
9916         (cygwin_readlink):
9917         (win32_readlink): New functions.
9918         (xrealpath): Return really real filenames on windows.
9919
9920         * fileio.c (Ffile_truename): Make file-truename work on windows.
9921
9922 2000-11-29  Didier Verna  <didier@xemacs.org>
9923
9924         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9925         * faces.c (update_face_cachel_data): use it.
9926         * faces.c (add_face_cachel): use it. Complete background pixmap
9927         frobbing in face cache if `update_face_cachel_data' has not done so.
9928
9929 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9930
9931         * search.c (string_match_1): Don't set last_thing_searched
9932         when search failed.
9933
9934 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9935
9936         * buffer.c: Include casetab.h
9937         (common_init_complex_vars_of_buffer): Use new case-table object.
9938         * buffer.h: Include casetab.h
9939         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9940         (DOWNCASE_TABLE_OF): Ditto.
9941         * bufslots.h: Remove char-tables and add case-table.
9942         * casetab.c: Include casetab.h
9943         (CASE_TABLE_P): Removed.
9944         (mark_case_table): New function.
9945         (allocate_case_table): New function.
9946         (Fcase_table_p): Use new case-table.
9947         (case_table_char): New function.
9948         (Fget_case_table): Ditto.
9949         (Fput_case_table): Ditto.
9950         (Fput_case_table_pair): Ditto.
9951         (Fcopy_case_table): Ditto.
9952         (Fcurrent_case_table): Return case-table.
9953         (Fstandard_case_table): Return case-table.
9954         (Fset_case_table): Fix doc-string.
9955         (set_case_table): Use case-table
9956         (syms_of_casetab): DEFSUBR new functions.
9957         (complex_vars_of_casetab): Set up standard case-table.
9958         * casetab.h: New file.
9959         * editfns.c: Include casetab.h
9960         (Fcompare_buffer_substrings): Use case-table.
9961         * inline.c: Include casetab.h
9962         * lisp.h: Remove bogus extern.
9963         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9964         * search.c: Include casetab.h
9965         (TRANSLATE_ASCII): Removed.
9966         (TRANSLATE): Unconditionally translate character.
9967         (looking_at_1): Use case-table.
9968         (string_match_1): Ditto.
9969         (fast_string_match): Ditto.
9970         (search_command): Ditto.
9971         (search_buffer): Separate boyer_moore.  Check whether
9972         boyer_moore is possible.
9973         (simple_search): New function.
9974         (boyer_moore): Separated from search_buffer. Translate char.
9975
9976 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9977
9978         * regex.c (RE_TR_ASCII): Removed.
9979         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9980         (PATFETCH): Call PATFETCH_RAW.
9981         (PATFETCH_RAW): Fetch Emchar.
9982         (PATUNFETCH): Decrement charptr.
9983         (GET_BUFFER_SPACE): Rename b to buf_end.
9984         (BUF_PUSH): Ditto.
9985         (BUF_PUSH_2): Ditto.
9986         (BUF_PUSH_3): Ditto.
9987         (EXTEND_BUFFER): Ditto.
9988         (SET_LIST_BIT): Ditto.
9989         (regex_compile): Ditto.  Translate non ASCII char.
9990         (compile_range): Ditto.
9991         (re_search_2): Ditto.
9992         (re_match_2_internal): Compare Emchar.
9993         (bcmp_translate): Ditto.
9994
9995 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9996
9997         * lisp.h (basic char/int typedefs):  comment improvement.
9998
9999 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
10000
10001         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
10002         unstomp inhibit_site_lisp.  Improve comments.
10003
10004 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10005
10006         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10007
10008 2000-11-28  Andy Piper  <andy@xemacs.org>
10009
10010         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10011         clipped display for windows in the gutter also.
10012         (redisplay_display_boxes_in_window_p): change semantics of return
10013         codes to be more intuitive.
10014
10015         * gutter.h: declare display_boxes_in_gutter_p.
10016
10017         * gutter.c (display_boxes_in_gutter_p): new function for
10018         redisplay.
10019
10020 2000-11-22  Andy Piper  <andy@xemacs.org>
10021
10022         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10023         autodetect domain.
10024
10025 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10026
10027         * callproc.c (Fold_call_process_internal):
10028         * gpm.c (Freceive_gpm_event):
10029         (tty_get_foreign_selection): Might be just warning supression.
10030         * fileio.c (Fwrite_region_internal):
10031         (Fset_visited_file_modtime):
10032         * keymap.c (event_matches_key_specifier_p):
10033         Initialize GCPROed variable.
10034
10035         * menubar-x.c (command_builder_find_menu_accelerator):
10036         Initialize before use.
10037
10038 2000-11-23  Andy Piper  <andy@xemacs.org>
10039
10040         * unexcw.c (unexec): make the resulting executable executable.
10041
10042 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10043
10044         * doc.c (get_doc_string):
10045         Use size_t, not int, for result of XSTRING_LENGTH.
10046
10047         * cmds.c (Fdelete_char):
10048         * cmds.c (Fpoint_at_eol):
10049         * cmds.c (Fself_insert_command):
10050         Use EMACS_INT, not int, for result of XINT.
10051         Someday, someone will want to insert more than 2**31 identical characters.
10052
10053         * cmds.c (Fdelete_char):
10054         * cmds.c (Fdelete_backward_char):
10055         * syntax.c (Fforward_word):
10056         * syntax.c (Fforward_comment):
10057         Make COUNT argument optional, for consistency with forward-char et al.
10058
10059 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10060
10061         * lisp.h:
10062         * print.c (long_to_string):
10063         Return a useful value: the pointer at end of data written.
10064
10065         * doprnt.c:
10066         Use `static const char * const' for constant strings.
10067         (union printf_arg): Delete `i', `ui' members.
10068         (get_doprnt_args):
10069         (emacs_doprnt_1):
10070         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10071         Do all printf-ing via the `l' specifier.
10072         Use EMACS_INT instead of int.
10073         Optimize.
10074
10075 2000-11-20  Didier Verna  <didier@xemacs.org>
10076
10077         * faces.c (update_face_cachel_data): don't frob the background
10078         pixmap when the window is being created. The face is needed but
10079         does not exist yet.
10080
10081 2000-11-20  Andy Piper  <andy@xemacs.org>
10082
10083         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10084         messing with a debug environment.
10085
10086 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10087
10088         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10089
10090 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10091
10092         * casetab.c (Fcase_table_p): Fix compile error and crash.
10093
10094 2000-11-18  Philip Aston  <philipa@mail.com>
10095
10096         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10097
10098 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10099
10100         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10101         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10102
10103 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10104
10105         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10106         * unexelf.c: Use HAVE_ELF_H.
10107         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10108         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10109         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10110         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10111         for testing.
10112         So this is an unexelfsgi.c from a different line of development.
10113
10114 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10115
10116         * regex.c (RE_TR_ASCII): New function.
10117         (RE_TRANSLATE): Call it.
10118
10119 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10120
10121         * buffer.h (TRT_TABLE_OF): Remove assert.
10122         (IN_TRT_TABLE_DOMAIN): Removed.
10123
10124 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10125
10126         * free-hook.c (log_gcpro):
10127         (show_gcprohist): Add support for GCPRO5.
10128
10129 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10130
10131         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10132
10133 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10134
10135         * symeval.h: Declare flush_all_buffer_local_cache.
10136
10137         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10138         (flush_buffer_local_cache): Added.
10139         (flush_all_buffer_local_cache): Added.
10140
10141         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10142
10143         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10144         (pdump_dump_data): Ditto.
10145         (pdump_reloc_one): Ditto.
10146         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10147         before dumping.
10148
10149
10150 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10151
10152         * buffer.c: Remove if 0'ed entry.
10153         * buffer.h: Rewrite TRT to use char-table.
10154         * bufslots.h: Remove mirror tables.
10155         * casetab.c: Remove mirror tables.
10156         (CASE_TABLE_P): New macro.
10157         (Fcase_table_p): Element of a case table is string or char-table.
10158         (make_mirror_trt_table): Removed.
10159         (set_case_table): Setup char-table from strings for backward
10160         compatibility.
10161         * dired.c (Fdirectory_files):
10162         * dired-msw.c: (mswindows_get_files):
10163         * lisp.h: Change prototype of re_pattern_buffer.
10164         * regex.c: (RE_TRANSLATE): New macro.
10165         (TRANSLATE_P): Ditto.
10166         Change translate to type RE_TRANSLATE_TYPE.
10167         * regex.h: Define RE_TRANSLATE_TYPE
10168         * search.c (TRANSLATE): New macro.
10169         (TRANSLATE_ASCII): New macro.
10170         Translate table is changed to Lisp_Object.
10171         (signal_failure): Inhibit return.
10172
10173 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10174
10175         * device-msw.c:
10176         * eldap.c:
10177         * event-Xt.c:
10178         * event-stream.c:
10179         * print.c:
10180         Do UNGCPRO before return.
10181
10182 2000-11-14  Martin Buchholz <martin@xemacs.org>
10183
10184         * XEmacs 21.2.37 is released.
10185
10186 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10187
10188         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10189         Add comments about discarded return value.
10190
10191 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10192
10193         * callint.c:
10194         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10195
10196 2000-10-27  Andy Piper  <andy@xemacs.org>
10197
10198         * gutter.c (Fset_default_gutter_position): default left and right
10199         gutters to visible.
10200         (calculate_gutter_size): calculate resonable heuristic for left
10201         and right gutter sizes.
10202         (specifier_vars_of_gutter): change left and right gutter sizes to
10203         autodetect.
10204         (calculate_gutter_size_from_display_lines): new function.
10205         (output_gutter): check for resizing on left and right gutters.
10206         (clear_gutter): don't special case top and left gutters.
10207         (specifier_vars_of_gutter): use new signature for
10208         set_specifier_caching.
10209
10210         * glyphs-x.c (x_redisplay_widget): spelling fix.
10211         * glyphs.c (specifier_vars_of_glyphs):
10212         * menubar.c (specifier_vars_of_menubar):
10213         * redisplay.c (specifier_vars_of_redisplay):
10214         * toolbar.c (specifier_vars_of_toolbar):
10215         * window.c (specifier_vars_of_window):
10216         * scrollbar.c (specifier_vars_of_scrollbar):
10217         (complex_vars_of_scrollbar): use new signature for
10218         set_specifier_caching.
10219
10220         * specifier.c (set_specifier_caching): include recompute flag.
10221         (recompute_one_cached_specifier_in_window): always recompute if
10222         flag set.
10223         (recompute_one_cached_specifier_in_frame): ditto.
10224
10225         * specifier.h (struct specifier_caching): add recompute flag.
10226
10227 2000-10-24  Andy Piper  <andy@xemacs.org>
10228
10229         * unexcw.c (copy_executable_and_dump_data_section): add new
10230         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10231         5.0 happy.
10232
10233 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10234
10235         * console-x.h (x_device): New member modifier_release_time.
10236         * event-Xt.c (x_handle_sticky_modifiers):
10237         Bound interval modifier keys are sticky.
10238         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10239         * events.h: extern it.
10240
10241 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10242
10243         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10244
10245 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10246
10247         * event-stream.c (execute_command_event): Preserve current_events
10248         and the like when event is misc-user-event.
10249         Inhibit quit during the call to maybe_echo_keys.
10250
10251 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10252
10253         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10254         symlink when buffer is killed.
10255         (inhibit_clash_detection): New variable.
10256
10257 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10258
10259         * console.c (Fset_input_method): Trigger redisplay on tty.
10260
10261 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10262
10263         * process.c (Fprocess_status): Revert to previous behavior:
10264         (process-status "nosuchprocess") ==> nil
10265
10266 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10267
10268         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10269         Work around another GCC 2.95.2 optimizer bug.
10270
10271 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10272
10273         * process.c (Fget_process): Use LIST_LOOP_2.
10274         (kill_buffer_processes): Use LIST_LOOP_2.
10275
10276         * minibuf.c (Fall_completions):
10277         Delete old non-functional code for FSF fourth argument.
10278
10279         * frame.c (frame_matches_frame_spec):
10280         Renamed from `frame_matches_frametype'.  Update all callers.
10281         (device_matches_device_spec):
10282         Renamed from 'device_matches_console_spec'.  Update all callers.
10283
10284         * doc.c (Fsubstitute_command_keys):
10285         Remove buffer overflow crash.  Small code cleanups.
10286
10287         * casetab.c (check_case_table): Simpler code.
10288
10289         * window.c (Freplace_buffer_in_windows):
10290         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10291         (and similar implementation) as Fdelete_windows_on.
10292         Update all callers.
10293
10294         * alloc.c (Fmake_list):
10295         * alloc.c (make_vector):
10296         * alloc.c (Fmake_vector):
10297         * alloc.c (make_bit_vector):
10298         * alloc.c (Fmake_bit_vector):
10299         * alloc.c (Fbit_vector):
10300         * alloc.c (Fmake_string):
10301         * alloc.c (Fpurecopy):
10302         * alloc.c (Fmemory_limit):
10303         * buffer.c:
10304         * buffer.c (Fget_buffer):
10305         * buffer.c (Fkill_buffer):
10306         * buffer.c (complex_vars_of_buffer):
10307         * bytecode.c (Fcompiled_function_stack_depth):
10308         * callint.c (Fprefix_numeric_value):
10309         * event-stream.c:
10310         * event-stream.c (Fread_key_sequence):
10311         * casetab.c:
10312         * casetab.c (Fcase_table_p):
10313         * casetab.c (check_case_table):
10314         * casetab.c (Fset_case_table):
10315         * casetab.c (Fset_standard_case_table):
10316         * chartab.c:
10317         * chartab.c (Fchar_table_type):
10318         * chartab.c (Freset_char_table):
10319         * chartab.c (Fget_char_table):
10320         * chartab.c (Fget_range_char_table):
10321         * chartab.c (Fput_char_table):
10322         * chartab.c (Fmap_char_table):
10323         * chartab.c (Fcategory_table_p):
10324         * chartab.c (Fcheck_category_at):
10325         * chartab.c (Fchar_in_category_p):
10326         * chartab.c (Fcategory_table):
10327         * chartab.c (Fcopy_category_table):
10328         * chartab.c (Fset_category_table):
10329         * chartab.c (Fcategory_designator_p):
10330         * chartab.c (Fcategory_table_value_p):
10331         * cmds.c (Fdelete_char):
10332         * cmds.c (Fdelete_backward_char):
10333         * cmds.c (Fself_insert_command):
10334         * cmds.c (Fself_insert_internal):
10335         * console.c (Fvalid_console_type_p):
10336         * console.c (Fcdfw_console):
10337         * console.c (Fconsole_type):
10338         * console.c (Fconsole_name):
10339         * console.c (Fconsole_device_list):
10340         * console.c (Fconsole_on_window_system_p):
10341         * data.c:
10342         * data.c (Feq):
10343         * data.c (Fold_eq):
10344         * data.c (Fsubr_interactive):
10345         * data.c (Fchar_to_int):
10346         * data.c (Fint_to_char):
10347         * data.c (Fsetcar):
10348         * data.c (Fsetcdr):
10349         * data.c (Fnumber_to_string):
10350         * data.c (Fstring_to_number):
10351         * data.c (Frem):
10352         * database.c (mark_database):
10353         * database.c (finalize_database):
10354         * database.c (Fdatabase_live_p):
10355         * database.c (Fdatabasep):
10356         * device-x.c (Fx_get_resource):
10357         * device.c (Fdfw_device):
10358         * dired.c:
10359         * dired.c (Ffile_name_completion):
10360         * dired.c (Ffile_name_all_completions):
10361         * dired.c (Fuser_name_completion):
10362         * dired.c (Fuser_name_completion_1):
10363         * dired.c (Fuser_name_all_completions):
10364         * doc.c (Fdocumentation):
10365         * doc.c (Fdocumentation_property):
10366         * doc.c (Fsubstitute_command_keys):
10367         * editfns.c:
10368         * editfns.c (Fchar_to_string):
10369         * editfns.c (Fstring_to_char):
10370         * editfns.c (Ftemp_directory):
10371         * editfns.c (Finsert_char):
10372         * editfns.c (Fbuffer_substring_no_properties):
10373         * editfns.c (Fnarrow_to_region):
10374         * editfns.c (Fchar_equal):
10375         * editfns.c (Fchar_Equal):
10376         * editfns.c (Ftranspose_regions):
10377         * emacs.c (Fdump_emacs):
10378         * eval.c (Fthrow):
10379         * eval.c (Fcommand_execute):
10380         * eval.c (Fautoload):
10381         * eval.c (Fbacktrace):
10382         * eval.c (Fbacktrace_frame):
10383         * events.c:
10384         * events.c (Fcopy_event):
10385         * events.c (Fcharacter_to_event):
10386         * events.c (Fevent_button):
10387         * events.c (Fevent_process):
10388         * extents.c:
10389         * extents.c (Fnext_extent_change):
10390         * extents.c (Fextent_property):
10391         * faces.c (Ffacep):
10392         * faces.c (Fmake_face):
10393         * file-coding.c:
10394         * file-coding.c (Fencode_shift_jis_char):
10395         * file-coding.c (Fencode_big5_char):
10396         * fileio.c (Ffile_name_directory):
10397         * fileio.c (Ffile_name_nondirectory):
10398         * fileio.c (Ffile_name_as_directory):
10399         * fileio.c (Fdirectory_file_name):
10400         * fileio.c (Ffile_truename):
10401         * fileio.c (Fsubstitute_in_file_name):
10402         * fileio.c (Ffile_modes):
10403         * fileio.c (Fset_file_modes):
10404         * fileio.c (Fset_default_file_modes):
10405         * fileio.c (Fverify_visited_file_modtime):
10406         * floatfns.c (Facos):
10407         * floatfns.c (Fasin):
10408         * floatfns.c (Fatan):
10409         * floatfns.c (Fcos):
10410         * floatfns.c (Fsin):
10411         * floatfns.c (Ftan):
10412         * floatfns.c (Fbessel_j0):
10413         * floatfns.c (Fbessel_j1):
10414         * floatfns.c (Fbessel_jn):
10415         * floatfns.c (Fbessel_y0):
10416         * floatfns.c (Fbessel_y1):
10417         * floatfns.c (Fbessel_yn):
10418         * floatfns.c (Ferf):
10419         * floatfns.c (Ferfc):
10420         * floatfns.c (Flog_gamma):
10421         * floatfns.c (Fexp):
10422         * floatfns.c (Fexpt):
10423         * floatfns.c (Flog):
10424         * floatfns.c (Flog10):
10425         * floatfns.c (Fsqrt):
10426         * floatfns.c (Fcube_root):
10427         * floatfns.c (Facosh):
10428         * floatfns.c (Fasinh):
10429         * floatfns.c (Fatanh):
10430         * floatfns.c (Fcosh):
10431         * floatfns.c (Fsinh):
10432         * floatfns.c (Ftanh):
10433         * floatfns.c (Fabs):
10434         * floatfns.c (Ffloat):
10435         * floatfns.c (Flogb):
10436         * floatfns.c (Fceiling):
10437         * floatfns.c (Ffloor):
10438         * floatfns.c (Fround):
10439         * floatfns.c (Ftruncate):
10440         * floatfns.c (Ffceiling):
10441         * floatfns.c (Fffloor):
10442         * floatfns.c (Ffround):
10443         * floatfns.c (Fftruncate):
10444         * fns.c (Fstring_equal):
10445         * fns.c (Fstring_lessp):
10446         * fns.c (concat2):
10447         * fns.c (concat3):
10448         * fns.c (vconcat2):
10449         * fns.c (vconcat3):
10450         * fns.c (Fsubstring):
10451         * fns.c (Fassoc):
10452         * fns.c (Fold_assoc):
10453         * fns.c (assoc_no_quit):
10454         * fns.c (Fassq):
10455         * fns.c (Fold_assq):
10456         * fns.c (assq_no_quit):
10457         * fns.c (Frassoc):
10458         * fns.c (Fold_rassoc):
10459         * fns.c (Frassq):
10460         * fns.c (Fold_rassq):
10461         * fns.c (rassq_no_quit):
10462         * fns.c (Fremassoc):
10463         * fns.c (remassoc_no_quit):
10464         * fns.c (Fremassq):
10465         * fns.c (remassq_no_quit):
10466         * fns.c (Fremrassoc):
10467         * fns.c (Fremrassq):
10468         * fns.c (remrassq_no_quit):
10469         * fns.c (Fsort):
10470         * fns.c (Fplist_get):
10471         * fns.c (Fplist_put):
10472         * fns.c (Fplist_remprop):
10473         * fns.c (Fplist_member):
10474         * fns.c (Flax_plist_get):
10475         * fns.c (Flax_plist_put):
10476         * fns.c (Flax_plist_remprop):
10477         * fns.c (Flax_plist_member):
10478         * fns.c (Fequal):
10479         * fns.c (Fold_equal):
10480         * fns.c (Frequire):
10481         * fns.c (Fbase64_encode_region):
10482         * fns.c (Fbase64_encode_string):
10483         * fns.c (Fbase64_decode_region):
10484         * frame.c:
10485         * frame.c (frame_matches_frame_spec):
10486         * frame.c (device_matches_device_spec):
10487         * frame.c (next_frame):
10488         * frame.c (previous_frame):
10489         * frame.c (Fnext_frame):
10490         * frame.c (Fprevious_frame):
10491         * frame.c (Fframe_property):
10492         * frame.c (Fset_frame_height):
10493         * frame.c (Fset_frame_size):
10494         * frame.h:
10495         * glyphs.c:
10496         * glyphs.c (if):
10497         * glyphs.c (decode_error_behavior_flag):
10498         * glyphs.c (Fmake_image_instance):
10499         * indent.c (Findent_to):
10500         * intl.c (Fignore_defer_gettext):
10501         * keymap.c (Fkeymapp):
10502         * keymap.c (Flookup_key):
10503         * lread.c:
10504         * lread.c (Fload_internal):
10505         * lread.c (Feval_buffer):
10506         * lread.c (Feval_region):
10507         * macros.c (Fexecute_kbd_macro):
10508         * marker.c (set_marker_internal):
10509         * marker.c (Fset_marker):
10510         * marker.c (set_marker_restricted):
10511         * marker.c (Fcopy_marker):
10512         * marker.c (noseeum_copy_marker):
10513         * menubar.c:
10514         * menubar.c (Fpopup_menu):
10515         * minibuf.c:
10516         * mule-charset.c (Fcharset_name):
10517         * mule-charset.c (Fchar_charset):
10518         * mule-charset.c (Fchar_octet):
10519         * mule-charset.c (Fsplit_char):
10520         * mule-wnnfns.c (Fwnn_open):
10521         * mule-wnnfns.c (Fwnn_dict_comment):
10522         * mule-wnnfns.c (Fwnn_quit_henkan):
10523         * mule-wnnfns.c (Fwnn_word_toroku):
10524         * mule-wnnfns.c (Fwnn_word_sakujo):
10525         * mule-wnnfns.c (Fwnn_word_use):
10526         * mule-wnnfns.c (Fwnn_hindo_set):
10527         * objects.c:
10528         * objects.c (Fmake_color_instance):
10529         * objects.c (Fmake_font_instance):
10530         * print.c (Fwrite_char):
10531         * process.c:
10532         * process.c (mark_process):
10533         * process.c (print_process):
10534         * process.c (get_process_from_usid):
10535         * process.c (Fprocessp):
10536         * process.c (Fprocess_live_p):
10537         * process.c (Fget_process):
10538         * process.c (Fget_buffer_process):
10539         * process.c (get_process):
10540         * process.c (Fprocess_id):
10541         * process.c (Fprocess_name):
10542         * process.c (Fprocess_command):
10543         * process.c (init_process_io_handles):
10544         * process.c (start_process_unwind):
10545         * process.c (Fstart_process_internal):
10546         * process.c (Fopen_multicast_group_internal):
10547         * process.c (Fset_process_window_size):
10548         * process.c (read_process_output):
10549         * process.c (send_process):
10550         * process.c (Fprocess_tty_name):
10551         * process.c (Fset_process_buffer):
10552         * process.c (Fprocess_buffer):
10553         * process.c (Fprocess_mark):
10554         * process.c (set_process_filter):
10555         * process.c (Fset_process_filter):
10556         * process.c (Fprocess_filter):
10557         * process.c (Fprocess_send_region):
10558         * process.c (Fprocess_send_string):
10559         * process.c (exec_sentinel):
10560         * process.c (Fset_process_sentinel):
10561         * process.c (Fprocess_sentinel):
10562         * process.c (status_notify):
10563         * process.c (Fprocess_status):
10564         * process.c (Fprocess_exit_status):
10565         * process.c (process_send_signal):
10566         * process.c (Fprocess_send_eof):
10567         * process.c (deactivate_process):
10568         * process.c (remove_process):
10569         * process.c (Fdelete_process):
10570         * process.c (kill_buffer_processes):
10571         * process.c (Fprocess_kill_without_query):
10572         * process.c (Fprocess_kill_without_query_p):
10573         * rangetab.c:
10574         * rangetab.c (Fget_range_table):
10575         * rangetab.c (Fput_range_table):
10576         * rangetab.c (Fremove_range_table):
10577         * rangetab.c (Fclear_range_table):
10578         * search.c:
10579         * search.c (Fskip_chars_forward):
10580         * search.c (Fskip_chars_backward):
10581         * search.c (Fskip_syntax_forward):
10582         * search.c (Fskip_syntax_backward):
10583         * search.c (search_command):
10584         * search.c (Freplace_match):
10585         * search.c (Fregexp_quote):
10586         * select.c (Fown_selection_internal):
10587         * select.c (Fselection_owner_p):
10588         * select.c (Fselection_exists_p):
10589         * select.c (Fget_selection_internal):
10590         * specifier.c:
10591         * symbols.c:
10592         * symbols.c (Fintern):
10593         * symbols.c (Fintern_soft):
10594         * symbols.c (Funintern):
10595         * symbols.c (Fapropos_internal):
10596         * symbols.c (Fset_default):
10597         * syntax.c:
10598         * syntax.c (Fsyntax_table_p):
10599         * syntax.c (Fcopy_syntax_table):
10600         * syntax.c (Fset_syntax_table):
10601         * syntax.c (Fchar_syntax):
10602         * syntax.c (syntax_match):
10603         * syntax.c (Fmatching_paren):
10604         * syntax.c (Fforward_word):
10605         * syntax.c (scan_lists):
10606         * syntax.c (Fscan_lists):
10607         * syntax.c (Fscan_sexps):
10608         * syntax.c (Fparse_partial_sexp):
10609         * toolbar.c (Fcheck_toolbar_button_syntax):
10610         * tooltalk.doc:
10611         * window.c:
10612         * window.c (Fwindowp):
10613         * window.c (Fwindow_live_p):
10614         * window.c (Fwindow_point):
10615         * window.c (Fdelete_window):
10616         * window.c (Fnext_window):
10617         * window.c (Fprevious_window):
10618         * window.c (Fother_window):
10619         * window.c (window_loop):
10620         * window.c (Fget_lru_window):
10621         * window.c (Fsplit_window):
10622         * window.c (Fenlarge_window):
10623         * window.c (Fenlarge_window_pixels):
10624         * window.c (Fshrink_window):
10625         * window.c (Fshrink_window_pixels):
10626         * window.c (change_window_height):
10627         * window.c (Fwindow_configuration_p):
10628         * window.c (Fcurrent_window_configuration):
10629         * window.h:
10630         * casefiddle.c (casify_object):
10631         * casefiddle.c (Fupcase):
10632         * casefiddle.c (Fdowncase):
10633         * casefiddle.c (Fcapitalize):
10634         * casefiddle.c (Fupcase_initials):
10635         * casefiddle.c (casify_region_internal):
10636         * casefiddle.c (casify_region):
10637         * casefiddle.c (Fupcase_region):
10638         * casefiddle.c (Fdowncase_region):
10639         * casefiddle.c (Fcapitalize_region):
10640         * casefiddle.c (Fupcase_initials_region):
10641         * casefiddle.c (Fupcase_word):
10642         * casefiddle.c (Fdowncase_word):
10643         * casefiddle.c (Fcapitalize_word):
10644         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10645         Replace 0 with '\0' when working with bytes.
10646         Replace initial "(" with "\(" in docstrings.
10647
10648 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10649
10650         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10651
10652         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10653
10654 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10655
10656         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10657
10658 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10659
10660         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10661         correctly.
10662
10663 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10664
10665         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10666         (inhibit_auto_save_session): New variable.
10667         (vars_of_fileio): Declare and initialize them.
10668         * fileio.c (Fdo_auto_save): Don't create session file if
10669         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10670
10671 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10672
10673         * sgiplay.c (play_internal): C++ compilability.
10674         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10675         * callproc.c (Fold_call_process_internal):
10676         Remove unused vars `env', `first'.
10677         * scrollbar.c (update_scrollbar_instance):
10678         #### unused var `current_window'.
10679         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10680         etc. within #ifdef NOT_YET.
10681         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10682         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10683         * specifier.c (specifier_instance):
10684         #### unused var `tag'.
10685         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10686
10687 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10688
10689         * fns.c (Fbutlast):
10690         * fns.c (list_sort):
10691         * fns.c (Ffillarray):
10692         * fns.c (bytecode_nconc2):
10693         * fns.c (Fnconc):
10694         * fns.c (mapcar1):
10695         * fns.c (Fmapconcat):
10696         Be pedantically 64-bit correct.  For the time when someone will
10697         want to have a list with length > 2**32.
10698
10699         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10700         Work around MIPSpro compiler bug.
10701
10702         * process-unix.c (unix_kill_child_process): Add snarky comment.
10703         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10704
10705         * config.h.in: Oops, _getpt ==> _getpty
10706
10707 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10708
10709         * config.h.in:
10710         * regex.c:
10711         Use void*, not char*, as return type of alloca().
10712
10713         * alloc.c (free_marker): Side effect inside assert expression!
10714
10715 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10716
10717         * mule-charset.c (Fset_charset_ccl_program): To check
10718         if the given ccl program is valid, use setup_ccl_program()
10719         instead of CHECK_VECTOR().
10720         (Fmake_charset): Likewise.
10721
10722 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10723
10724         * faces.c (get_extent_fragment_face_cache_index):
10725         Fix cachel.merged_faces memory leak.
10726
10727 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10728
10729         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10730         Reset MSB of octets obtained by DECODE_SJIS
10731         because of the incompatibility with Emacs.
10732         (ccl_driver)<CCL_ENCODE_SJIS>:
10733         Set MSB of octets before passing them to
10734         ENCODE_SJIS because of the incompatibility
10735         with Emacs.
10736
10737 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10738
10739         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10740         (DECLARE_LRECORD): Undo the last change.
10741         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10742
10743 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10744
10745         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10746         the implementation to lrecord_implementations_table.
10747
10748 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10749
10750         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10751         initial value of `lrecord_type_##c_name' and
10752         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10753         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10754         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10755         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10756         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10757
10758 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10759
10760         * miscplay.c (sndcnv8S_2mono):
10761         (sndcnv2monounsigned):
10762         (sndcnvULaw_2linear):
10763         (sndcnv16swap):
10764         Remove implementation-defined behavior.
10765
10766 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10767
10768         * input-method-xlib.c: Warning suppression.
10769
10770 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10771
10772         * mule-ccl.c: Sync up with Emacs 21.0.90.
10773         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10774         Do nothing.
10775         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10776         Likewise.
10777         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10778         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10779         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10780         leading char belongs to official 2-dimensional charset.
10781         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10782         write the given character as is.  Otherwise,
10783         if it is a multibyte char, convert it by
10784         non_ascii_set_charptr_emchar, then write it.
10785         (CCL_WRITE_STRING): Likewise.
10786         (ccl_get_compiled_code): New function.
10787         (setup_ccl_program): When ccl_prog is invalid,
10788         return -1.
10789         (Fregister_code_conversion_map): New function.
10790         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10791
10792         * mule-ccl.h: Sync up with Emacs 21.0.90.
10793         (Fregister_ccl_program): export it.
10794
10795         * redisplay-msw.c (separate_textual_runs):
10796         If ccl program is not valid, don't do ccl conversion.
10797
10798         * redisplay-x.c (separate_textual_runs): Ditto.
10799
10800         * file-coding.c (Fmake_coding_system):
10801         When type is ccl and value is vector, register it
10802         with a proper symbol.  And checks whether the
10803         given ccl program is valid.
10804         (mule_decode): When calling ccl_driver, if src indicates
10805         NULL pointer, set an empty string instead.
10806         (mule_encode): Likewise.
10807
10808 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10809
10810         The following large batch of changes gets us back to a state of
10811         C++ compilability.  Extbyte is now a char, which means that
10812         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10813
10814         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10815
10816         * sound.c (Fplay_sound): Type correctness.
10817
10818         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10819         (x_get_window_property): Type correctness.
10820         (receive_incremental_selection): unsigned char ==> Extbyte
10821         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10822         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10823         (Fx_store_cutbuffer_internal): Type correctness.
10824
10825         * process-unix.c (try_to_initialize_subtty): Type correctness.
10826
10827         * objects-x.c (x_print_color_instance): Type correctness.
10828         (x_print_font_instance): Type correctness.
10829         (x_list_fonts): SExtbyte ==> Extbyte.
10830         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10831         (x_find_charset_font): SExtbyte ==> Extbyte.
10832         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10833         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10834         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10835         Use bufbyte_strcmp.
10836
10837         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10838         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10839         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10840         (BYTE_C0_P): Use bit ops for char-signedness safety.
10841         (BYTE_C1_P): Use bit ops for char-signedness safety.
10842         (CHARSET_BY_LEADING_BYTE):
10843         (CHARSET_BY_ATTRIBUTES):
10844         Always use inline function.
10845         Use type_checking_assert.
10846         Hide chlook.
10847
10848         * mule-charset.c (non_ascii_charptr_copy_char):
10849         Modify to work with both ASCII and non-ASCII characters.
10850         Improve docs and variable names.
10851         Replace over-clever fall-through switch with a simple loop.
10852         (Lstream_get_emchar_1):
10853         Replace over-clever fall-through switch with a simple loop.
10854
10855         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10856         Warning suppression.
10857
10858         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10859         the return value of Lstream_getc, which could be EOF as well.
10860
10861         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10862
10863         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10864         APIs can be used on Extbytes without casts.  Risky!
10865         (SExtbyte): Remove.
10866         (UExtbyte): Remove.
10867
10868         * input-method-xlib.c (XIM_init_device):
10869         Use Xlib.h instead of IntrinsicP.h.
10870         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10871         which will break in X11R7.
10872         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10873         to call XRegisterIMInstantiateCallback with correct types.
10874
10875         * gui-x.c (button_item_to_widget_value): Type correctness.
10876
10877         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10878
10879         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10880         (xbm_instantiate_1): Type correctness.
10881         (BUILD_GLYPH_INST):  Type correctness.
10882
10883         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10884
10885         * file-coding.c:
10886         (decode_coding_sjis):
10887         (decode_coding_big5):
10888         (decode_coding_ucs4):
10889         (decode_coding_utf8):
10890         (decode_coding_iso2022):
10891         (decode_coding_no_conversion):
10892         Make all decoding functions take an Extbyte * arg.
10893         (encode_coding_sjis):
10894         (encode_coding_big5):
10895         (encode_coding_ucs4):
10896         (encode_coding_utf8):
10897         (encode_coding_iso2022):
10898         (encode_coding_no_conversion):
10899         Make all encoding functions take a Bufbyte * arg.
10900         Use size_t instead of unsigned int for memory sizes.
10901         Only cast to unsigned char whenever dereferencing Extbyte *.
10902
10903         * doc.c (unparesseuxify_doc_string): Type correctness.
10904
10905         * console-x.c (split_up_display_spec):
10906         Rewrite without using details of internal string representation.
10907         (x_semi_canonicalize_device_connection): Type correctness.
10908
10909         * config.h.in:
10910         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10911         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10912         (HAVE_XFREE386): Removed.
10913
10914         * buffer.h (DEC_CHARPTR): `const' correctness.
10915         (bufbyte_strcmp): New.
10916         (bufbyte_memcmp): New.
10917
10918         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10919
10920         * buffer.h (XCHAR_OR_CHAR_INT):
10921         Always use inline function.
10922         Remove redundant type checking assert() - XINT will abort quite nicely.
10923
10924 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10925
10926         * search.c (Freplace_match): Set newtext to an empty string.
10927
10928 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10929
10930         * s/decosf1-3.h: Remove #include of stropts.h
10931         * s/ptx.h: Remove #include of stropts.h
10932         * s/usg5-4.h: Remove #include of stropts.h
10933         * sysproc.h:
10934         * config.h.in:
10935         Use stropts.h, not sys/stropts.h.
10936         Use strtio.h, not sys/strtio.h.
10937
10938 2000-10-04  Martin Buchholz <martin@xemacs.org>
10939
10940         * XEmacs 21.2.36 is released.
10941
10942 2000-09-21  Andy Piper  <andy@xemacs.org>
10943
10944         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10945         changes still involve copying the widget tree.
10946         (update_widget_face): make sure a change is register in the widget
10947         tree. Call update_tab_widget_face appropriately.
10948         (update_tab_widget_face): ditto.
10949         (x_tab_control_redisplay): make sure non-structural changes still
10950         involve copying the widget tree.
10951
10952 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10953
10954         * lread.c (locate_file): Check the path element is non-nil.
10955
10956 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10957
10958         * lisp.h: Warning suppression for SCO compilers.
10959
10960         * redisplay-tty.c (reset_tty_modes): Fix crash.
10961         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10962
10963 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10964
10965         Big signal/process handling overhaul.  Bugs fixed:
10966         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10967         M-x comint-kill-subjob should work for both values nil and t of
10968         process-connection-type. It was broken on most platforms.
10969         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10970         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10971         * process-unix.c: Signal/Process handling overhaul.
10972         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10973         (allocate_pty): Use all available modern methods of allocating
10974         ptys, falling back to old style BSD allocation as a last resort.
10975         Use allegedly more secure Unix98 pty allocation by default.
10976         (allocate_pty_the_old_fashioned_way): New. the last resort.
10977         (unix_create_process): Push ptem, ldterm, ttcompat where
10978         available.  Autoconfiscate.
10979         (try_to_initialize_subtty): New.
10980         (unix_kill_child_process): Proper signal handling for ptys on most
10981         platforms, using special knowledge of AIX, BSD, etc...
10982         (unix_create_process): Always disconnect_controlling_terminal() for
10983         subprocesses, whether using ptys or not.
10984         * process.h: Remove old getpt-dependent PTY code.
10985         * process.c (Fprocess_send_signal): New, obvious generic function.
10986         (decode_signal): New.
10987         (Finterrupt_process):
10988         (Fkill_process):
10989         (Fquit_process):
10990         (Fstop_process):
10991         (Fcontinue_process):
10992         (Fsignal_process): Use decode_signal.
10993         (process_send_signal):
10994         Many docstring corrections.
10995         Allow any signal to be sent to a process object.
10996         * config.h.in: Add symbols for big signal/process overhaul.
10997         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10998         * sysproc.h: Include process-related headers, where available:
10999         sys/stropts.h sys/strtio.h pty.h libutil.h
11000         * s/irix4-0.h:
11001         * s/irix5-0.h:
11002         * s/cygwin32.h:
11003         * s/gnu.h:
11004         * s/linux.h:
11005         * s/hpux.h:
11006         * s/aix3-1.h:
11007         Remove old S&M pty stuff.
11008         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11009         * systty.h: Simplify cpp hackery, improve comments.
11010         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11011
11012         * editfns.c (Fformat_time_string):
11013         Be a little more paranoid with the return value of ctime.
11014
11015         * fileio.c (check_executable):
11016         (check_writable):
11017         Use symbolic constants X_OK, W_OK.
11018
11019         * console-x.c (split_up_display_spec): Fix a warning.
11020
11021 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11022
11023         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11024         * ntproc.c (sys_spawnve): make_string ==> build_string
11025         Small clarity improvements.
11026
11027 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11028
11029         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11030
11031         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11032
11033         * config.h.in (HAVE_STRCASECMP): Remove.
11034
11035 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11036
11037         * redisplay-output.c (redisplay_output_pixmap):
11038         Cleaner and possibly more 64-bit correct code.
11039
11040 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11041
11042         * dumper.c (pdump_load_finish): move restoration of
11043         `noninteractive1' to emacs.c (main_1).
11044         * emacs.c (main_1): protect LISP-visible command-line flags
11045         from pdump_load().
11046
11047 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11048
11049         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11050         DUMP_TARGET instead of literal program names.
11051
11052 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11053
11054         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11055
11056 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11057
11058         * *: Spelling mega-patch
11059
11060 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11061
11062         * fns.c (bad_bad_turtle):
11063         Delete "Eek!" comment, since we fixed the bug to which it refers.
11064
11065 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11066
11067         * alloca.c: Replace REGISTER with register.
11068
11069 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11070
11071         * file-coding.c (ucs_to_char): Use countof.
11072
11073 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11074
11075         * file-coding.c: (ucs_to_char):
11076         (complex_vars_of_file_coding):
11077         Use countof instead of sizeof.
11078         Use CHECK_NATNUM instead of CHECK_INT.
11079
11080         * sysdep.c (strcasecmp): Remove.
11081         * device-x.c (ascii_strcasecmp): New.
11082         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11083         Avoid using non-standard non-portable strcasecmp.
11084
11085 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11086
11087         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11088         * font-lock.c: remove reference to emacsfns.h.
11089         * search.c: small doc improvement.
11090         * event-Xt.c: correct file names in comments.
11091         * console-x.h Correct file names in comments.
11092         * frame.c: Correct file names in comments.
11093         * event-stream.c: remove Energize from comments.
11094
11095 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11096
11097         * symeval.h (DEFERROR_STANDARD):
11098         (DEFERROR):
11099         (DEFSYMBOL):
11100         (DEFSYMBOL_NO_DUMP):
11101         (DEFSYMBOL_MULTIWORD_PREDICATE):
11102         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11103         (DEFKEYWORD):
11104         The construct &##name is not sensible C.
11105         Fixes compilation errors with Unixware native compiler.
11106
11107 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11108
11109         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11110         (next_frame_internal): Removed.  We now just have next_frame.
11111         (next_frame):
11112         Write a simpler and cleaner one-pass algorithm.
11113         Remove called_from_delete_device arg and #ifdefed-out code.
11114         (previous_frame):
11115         Renamed from prev_frame.  Update callers.
11116         Cleaned up to have an analogous implementation to next_frame.
11117         (other_visible_frames_internal): Remove the
11118         called_from_delete_device bogus arg, and hence, remove this
11119         function.  Just use other_visible_frames().
11120
11121         * window.c (Fnext_window):
11122         Prettify docstring.
11123         Since next_frame() is guaranteed to return a frame, remove check
11124         for nil inserted in previous patch.
11125         (Fprevious_window):
11126         Prettify docstring.
11127         Make code look more like Fnext_window.
11128         (window_loop):
11129         Respect the `console' arg when iterating through windows.
11130         Fixes bug: (get-buffer-window buffer t device) not respecting
11131         the `device' arg.
11132         This function needs more work, as others have pointed out.
11133
11134         * frame.h: Rename prev_frame to previous_frame.
11135         device_matches_console_spec no longer takes a `frame' arg.
11136
11137         * s/gnu.h:
11138         * s/linux.h:
11139         * s/hpux.h:
11140         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11141         From "Golubev I. N." <gin@mo.msk.ru>.
11142
11143         * make-src-depend: Fix typo.
11144
11145 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11146
11147         * window.c (Fnext_window):
11148         next_frame() might return nil, not a frame.
11149         Fixes this crash:
11150         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11151
11152         * frame.c (next_frame_internal):
11153         We've passed a frame if we've passed its device.
11154         Fixes this crash:
11155         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11156 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11157
11158 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11159
11160         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11161         Allow option to suppress accelerators in menu/dialog items.
11162         (populate_or_checksum_helper): Pass dialog title through above.
11163
11164 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11165
11166         * event-msw.c (mswindows_key_to_emacs_keysym):
11167         Add "pause" key, fix "menu" key.
11168
11169 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11170
11171         * eval.c (reinit_vars_of_eval):
11172         Increase max_lisp_eval_depth to 1000,
11173         required for thai-xtis.el to byte-compile under some circumstances.
11174
11175 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11176
11177         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11178         From Kenichi Handa.
11179
11180 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11181
11182         * make-src-depend: Make the generated Makefiles smaller.
11183
11184         * s/hpux.h (SETUP_SLAVE_PTY):
11185         Provide a %d in the format string for the errno argument.
11186
11187         * editfns.c (Ftemp_directory):
11188         Warning fix.
11189         Avoid buffer overrun on very long file name.
11190
11191         * input-method-xlib.c (XIM_init_device):
11192         6th parameter of XRegisterIMInstantiateCallback has different
11193         pointer types on different OSes, so simply cast to (void *).
11194
11195         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11196
11197         * sysdll.c (dll_open):
11198         shl_load will hang hard if passed a NULL filename.
11199         Simply return NULL for compatibility with dlopen.
11200         * sysdll.c: Conform to XEmacs coding standards.
11201
11202         * sysdep.c (get_pty_max_bytes):
11203         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11204
11205 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11206
11207         * tooltalk.c: Add #include <syssignal.h>
11208
11209 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11210
11211         * s/hpux.h: Don't use undefined function sigunblock().
11212
11213 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11214
11215         * config.h.in: Add HAVE_BALLOON_HELP.
11216         * emacs.c: Use HAVE_BALLOON_HELP.
11217         * Makefile.in.in (x_objs):
11218         Make Balloon Help conditional on finding shape.h.
11219
11220 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11221
11222         * syntax.c (regex_emacs_buffer_p): New variable.
11223         * syntax.h (regex_emacs_buffer_p): extern.
11224         * search.c (looking_at_1):
11225         (string_match_1):
11226         (fast_string_match):
11227         (search_buffer): Set regex_emacs_buffer_p.
11228         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11229         when before_dot, at_dot, after_dot.
11230
11231 2000-08-23  Andy Piper  <andy@xemacs.org>
11232
11233         * gui-x.c (popup_selection_callback): Only set action_occurred
11234         when we really have an image instance.
11235         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11236
11237 2000-08-23  Andy Piper  <andy@xemacs.org>
11238
11239         * gui-msw.c (mswindows_handle_gui_wm_command): set
11240         action_occurred.
11241         * gui-x.c (popup_selection_callback): ditto.
11242
11243         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11244         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11245         (struct Lisp_Image_Instance): add action_occurred flag.
11246
11247         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11248         (image_instance_changed): ditto.
11249         (reset_frame_subwindow_instance_cache): only unmap windows - do
11250         not remove them from the cache also.
11251
11252         * glyphs-widget.c (tab_control_update): better debug.
11253         (progress_gauge_update): ditto.
11254         (layout_update): ditto.
11255         (layout_instantiate): ditto.
11256         (tab_control_order_only_changed): cope with null pending items.
11257
11258         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11259         debug. Force selection of an item when an action occurred. Cope
11260         with null pending_items.
11261         (mswindows_progress_gauge_redisplay): better debug.
11262         * glyphs-x.c (x_tab_control_redisplay): ditto.
11263
11264         * redisplay.c (redisplay_frame): reset the frame cache if the
11265         frame is garbaged.
11266
11267         * window.c (Fset_window_configuration): potentially re-enable
11268         frame cache reset.
11269         (window_unmap_subwindows): need to finalize instances here since
11270         it is only used in mark_window_as_deleted.
11271
11272 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11273
11274         * nas.c (SndOpenDataForReading):
11275         nas.c (WaveOpenDataForReading):
11276         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11277         Somehow escaped from the 2000-08-14 patch.
11278
11279 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11280
11281         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11282         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11283
11284 2000-08-21  Andy Piper  <andy@xemacs.org>
11285
11286         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11287         window if it is not already displayed.
11288
11289         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11290         it is not already displayed.
11291
11292         * window.c (Fset_window_configuration): don't reset the frame
11293         cache.
11294
11295         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11296         instances from the frame cache if we are actually finalizing them.
11297         (reset_frame_subwindow_instance_cache): reset frame cache only
11298         after unmapping everything.
11299         (map_subwindow): set displayed flag after mapping.
11300
11301 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11302
11303         * data.c (indirect_function):
11304         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11305
11306         * eval.c (function_argcount):
11307         Use original function when signaling errors.
11308
11309 2000-08-18  Andy Piper  <andy@xemacs.org>
11310
11311         * frame.c (delete_frame_internal): use new
11312         free_frame_subwindow_instances name.
11313
11314         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11315         (add_tab_item): make return type correct.
11316         (mswindows_tab_control_instantiate): assert index of tab.
11317         (mswindows_tab_control_redisplay): Re-code to use
11318         gui_item_equal_sans_selected and gui_item_list_find_selected.
11319
11320         * glyphs-widget.c (tab_control_update): Correct comment.
11321
11322         * window.c (window_unmap_subwindows): use new
11323         unmap_subwindow_instance_cache_mapper.
11324         (window_unmap_subwindows_cache_mapper): deleted.
11325         (Fset_window_configuration): comparisons should now be with
11326         EQ. Preserve the subwindow instance cache across configuration
11327         changes.
11328         (allocate_window): ditto.
11329         (make_dummy_parent): ditto.
11330
11331         * glyphs.c (free_frame_subwindow_instances): rename from
11332         free_frame_subwindow_instance_cache. finalize all instances rather
11333         than just those in the display cache.
11334         (finalize_all_subwindow_instances): walk windows unmapping and
11335         finalizing subwindows.
11336         (unmap_subwindow_instance_cache_mapper): moved from
11337         window.c. Allow finalization as well as unmapping.
11338
11339         * gui.c (gui_item_list_find_selected): new function.
11340
11341         * gui.h (gui_item_list_find_selected): declare.
11342
11343         * glyphs-x.c (x_tab_control_redisplay): pick tab
11344         explicitly. Re-code to use gui_item_equal_sans_selected and
11345         gui_item_list_find_selected.
11346
11347         * glyphs-x.h: add lwlib-utils.h
11348
11349         * buffer.c (Frecord_buffer): undo previous change.
11350
11351 2000-08-09  Vin Shelton  <acs@xemacs.org>
11352
11353         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11354         possible.  Create temporary files more securely.  The patch was
11355         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11356         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11357         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11358         for details.
11359
11360 2000-08-07  Ben Wing  <ben@xemacs.org>
11361
11362         * getloadavg.c: remove duplicate (and windows-breaking)
11363         includes of fcntl.h and sys/file.h.
11364
11365         * nt.c: remove duplicate getloadavg() definition.
11366
11367         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11368         encodings.
11369
11370 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11371
11372         * eval.c (function_argcount): If function needs to be autoloaded
11373         actually use the loaded definition.
11374         GCPRO function.
11375
11376 2000-08-05  Ben Wing  <ben@xemacs.org>
11377
11378         * getloadavg.c: add prototype for getloadavg().  remove
11379         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11380         of the code).  remove duplicate header includes.
11381
11382         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11383
11384         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11385         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11386         useful load average.
11387
11388         * alloc.c (reinit_alloc_once_early): removed references to
11389         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11390         the lisp vars are the only things referencing the malloc_sbrk_*
11391         vars, and they were already if 0'd out.  these vars only exist
11392         in the older malloc.c, which is basically unused, and they're
11393         only for informational purposes.
11394
11395         * m\*.h: removed useless VIRT_ADDR_VARIES.
11396
11397         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11398
11399 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11400
11401         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11402         color if the image is a mono pixmap.
11403
11404 2000-07-30  Ben Wing  <ben@xemacs.org>
11405
11406         * Makefile.in.in (release):
11407         Remove stray @.
11408
11409         * buffer.c (directory_is_current_directory):
11410         * dired-msw.c (mswindows_get_files):
11411         * dired.c:
11412         * dired.c (Fdirectory_files):
11413         * dired.c (file_name_completion_stat):
11414         * dired.c (Ffile_attributes):
11415         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11416         preprocessor tricks, to avoid problems on some machines
11417         (e.g. SCO).
11418
11419         * callproc.c (egetenv): GC docs.
11420
11421         * console-msw.h:
11422         * console-msw.h (struct mswindows_dialog_id):
11423         * lrecord.h (lrecord_type):
11424         New object for use with MSW dialogs.
11425
11426         * console.h (struct console_methods):
11427         New enable/disable frame methods, for proper modal dialogs.
11428
11429         * device-msw.c (msprinter_default_printer): Fix to follow
11430         proper Mule conventions.
11431
11432         * device-msw.c:
11433         * device-msw.c (signal_open_printer_error):
11434         * device-msw.c (msprinter_init_device):
11435         * device-msw.c (ensure_not_printing):
11436         * device-msw.c (plist_get_margin):
11437         * device-msw.c (Fmsprinter_select_settings):
11438         * device-msw.c (finalize_devmode):
11439         * device-msw.c (Fmsprinter_settings_despecialize):
11440         * device-msw.c (signal_enum_priner_error):
11441         * extents.c (decode_extent):
11442         * extents.c (decode_map_extents_flags):
11443         * extents.c (decode_extent_at_flag):
11444         * extents.c (Fextent_at):
11445         * extents.c (Fextents_at):
11446         * extents.c (symbol_to_glyph_layout):
11447         [[[[2]]]] Use structured errors.
11448
11449         * dialog-msw.c:
11450         * dialog-msw.c (mswindows_is_dialog_msg):
11451         * dialog-msw.c (mark_mswindows_dialog_id):
11452         * dialog-msw.c (dialog_proc):
11453         * dialog-msw.c (handle_question_dialog_box):
11454         * dialog-msw.c (syms_of_dialog_mswindows):
11455         Define new object to clean up marking; use it as a dialog identifier.
11456         Call new delete-dialog-box-hook.
11457
11458         * dialog-x.c (dbox_selection_callback):
11459         * dialog-x.c (dbox_descriptor_to_widget_value):
11460         * dialog-x.c (x_make_dialog_box_internal):
11461         Call new delete-dialog-box-hook.
11462         Return an id.
11463
11464         * dialog.c:
11465         * dialog.c (syms_of_dialog):
11466         * dialog.c (vars_of_dialog):
11467         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11468
11469         * eval.c:
11470         * eval.c (signal_call_debugger):
11471         when noninteractive, output stack traces on the console instead
11472         of in a (never-seen) buffer.
11473
11474         * eval.c (signal_type_error):
11475         * eval.c (invalid_argument_2):
11476         * lisp.h:
11477         new funs for use w/structured errors.
11478
11479         * event-Xt.c:
11480         * event-Xt.c (x_to_emacs_keysym):
11481         * event-Xt.c (describe_event):
11482         * event-Xt.c (emacs_Xt_event_handler):
11483         * event-Xt.c (vars_of_event_Xt):
11484         * event-msw.c:
11485         * event-msw.c (mswindows_wnd_proc):
11486         * event-msw.c (vars_of_event_mswindows):
11487         rename {x,mswindows}-debug-events to debug-{}-events for
11488         consistency with other debug-foo variables.
11489
11490         * event-stream.c:
11491         document next-event more clearly.
11492
11493         * fileio.c (Ffile_name_directory):
11494         * fileio.c (Ffile_name_nondirectory):
11495         * fileio.c (Funhandled_file_name_directory):
11496         * fileio.c (file_name_as_directory):
11497         * fileio.c (Ffile_name_as_directory):
11498         * fileio.c (directory_file_name):
11499         * fileio.c (Fdirectory_file_name):
11500         * fileio.c (Fmake_temp_name):
11501         * fileio.c (Ffile_truename):
11502         * fileio.c (Fsubstitute_in_file_name):
11503         * fileio.c (expand_and_dir_to_file):
11504         * fileio.c (barf_or_query_if_file_exists):
11505         * fileio.c (check_executable):
11506         * fileio.c (Ffile_exists_p):
11507         * fileio.c (Ffile_writable_p):
11508         * fileio.c (Ffile_directory_p):
11509         * fileio.c (Ffile_regular_p):
11510         * fileio.c (Ffile_modes):
11511         * fileio.c (Ffile_newer_than_file_p):
11512         * fileio.c (Fverify_visited_file_modtime):
11513         * fileio.c (Fset_visited_file_modtime):
11514         * fileio.c (auto_save_1):
11515         (1). (2).
11516         fix up gcpro's.
11517
11518         * frame-msw.c:
11519         * frame-msw.c (mswindows_init_frame_1):
11520         * frame-msw.c (mswindows_enable_frame):
11521         * frame-msw.c (error_frame_unsizable):
11522         * frame-msw.c (msprinter_init_frame_1):
11523         * frame-msw.c (msprinter_init_frame_3):
11524         * frame-msw.c (console_type_create_frame_mswindows):
11525         (2).
11526         implement new enable/disable frame methods.
11527
11528         * frame-x.c:
11529         * frame-x.c (x_enable_frame):
11530         * frame-x.c (console_type_create_frame_x):
11531         implement new enable/disable frame methods.
11532
11533         * frame.c:
11534         * frame.c (Fdisable_frame):
11535         * frame.c (syms_of_frame):
11536         * frame.h (struct frame):
11537         implement new enable/disable frame methods/functions.
11538
11539         * general-slots.h:
11540         add initial-focus.
11541
11542         * glyphs-msw.c (mswindows_widget_instantiate):
11543         comment that initial-focus should be implemented.
11544
11545         * glyphs-widget.c:
11546         * glyphs-widget.c (check_valid_instantiator):
11547         * glyphs-widget.c (check_valid_orientation):
11548         * glyphs-widget.c (check_valid_tab_orientation):
11549         * glyphs-widget.c (check_valid_justification):
11550         * glyphs-widget.c (check_valid_border):
11551         * glyphs-widget.c (check_valid_callback):
11552         * glyphs-widget.c (check_valid_int_or_function):
11553         * glyphs-widget.c (check_valid_string_or_vector):
11554         * glyphs-widget.c (check_valid_item_list_1):
11555         * glyphs-widget.c (widget_validate):
11556         * glyphs-widget.c (combo_box_validate):
11557         * glyphs-widget.c (widget_instantiate):
11558         * glyphs-widget.c (syms_of_glyphs_widget):
11559         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11560         * glyphs-widget.c (image_instantiator_combo_box):
11561         * glyphs-widget.c (image_instantiator_scrollbar):
11562         * glyphs-widget.c (image_instantiator_tab_control):
11563         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11564         (2).
11565         support (unimplemented) keyword initial-focus.
11566         reindent long macros.
11567
11568         * glyphs-x.c (x_redisplay_widget):
11569         * glyphs-x.c (x_button_instantiate):
11570         * glyphs-x.c (x_button_redisplay):
11571         * glyphs-x.c (x_progress_gauge_instantiate):
11572         * glyphs-x.c (x_edit_field_instantiate):
11573         * glyphs-x.c (x_combo_box_instantiate):
11574         * glyphs-x.c (x_tab_control_instantiate):
11575         * glyphs-x.c (x_label_instantiate):
11576         * gui-x.c:
11577         * gui-x.c (button_item_to_widget_value):
11578         * gui-x.c (gui_items_to_widget_values_1):
11579         * gui-x.c (gui_item_children_to_widget_values):
11580         * gui-x.c (gui_items_to_widget_values):
11581         * gui-x.h:
11582         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11583         add new flag to gui-parsing routines to indicate whether
11584         accelerator specs should be supported.
11585
11586         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11587
11588         * glyphs.h (struct Lisp_Image_Instance):
11589         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11590         add initial-focus flag.
11591
11592         * gui.c:
11593         * gui.c (syms_of_gui):
11594         * gui.c (vars_of_gui):
11595         clean up menu-no-selection-hook.
11596
11597         * gui.h:
11598         support delete-dialog-box-hook.
11599
11600         * lread.c (Fload_internal):
11601         * lread.c (locate_file_in_directory_mapper):
11602         (1).
11603
11604         * lrecord.h:
11605         * lrecord.h (struct toolbar_button):
11606         * lrecord.h (syms_of_toolbar):
11607         document how to create a new object.
11608
11609         * menubar-msw.c (mswindows_char_is_accelerator):
11610         may be called on frames w/o menus.
11611
11612         * menubar.c (vars_of_menubar):
11613         clean up :filter docs.
11614
11615         * nt.c (readdir):
11616         * ntproc.c:
11617         (1).
11618
11619         * process-nt.c:
11620         * process-nt.c (validate_signal_number):
11621         * process-nt.c (signal_cannot_launch):
11622         * process-nt.c (nt_create_process):
11623         * process-nt.c (nt_send_process):
11624         * process-nt.c (nt_kill_child_process):
11625         * process-nt.c (nt_open_network_stream):
11626         * process-nt.c (syms_of_process_nt):
11627         (2).
11628         delete quote-handling.  call new lisp code that does it better.
11629
11630         * process-unix.c (connect_to_file_descriptor):
11631         * process-unix.c (allocate_pty):
11632         * process-unix.c (unix_send_process):
11633         * process-unix.c (unix_kill_child_process):
11634         * process-unix.c (unix_open_network_stream):
11635         * process-unix.c (unix_open_multicast_group):
11636         (1). (2).
11637
11638         * process.c:
11639         * process.c (Fstart_process_internal):
11640         (2).  need to canonicalize process path even if absolute.
11641
11642         * select-msw.c (symbol_to_ms_cf):
11643         * select-msw.c (ms_cf_to_symbol):
11644         * select-msw.c (cf_is_autofreed):
11645         * select-msw.c (mswindows_destroy_selection):
11646         * select.c:
11647         * select.c (syms_of_select):
11648         * select.h:
11649         support dibv5, fix bugs. (from Mike Alexander)
11650
11651         * select.c (Fget_selection_internal):
11652         * select.c (select_convert_out):
11653
11654         * sysdep.c:
11655         * sysdep.c (xemacs_stat):
11656         renamed.
11657
11658         * sysdep.c (mkdir):
11659         * sysdep.c (rmdir):
11660         but keep original stat() here because we provide encapsulation
11661         around these funs.
11662
11663         * sysfile.h:
11664         * sysfile.h (fstat):
11665         remove stat garbage.
11666
11667         * syswindows.h:
11668         fix X/MSW conflict.
11669         don't include tchar.h.  it's inappropriate because it makes
11670         compile-time distinctions when we want runtime distinctions.
11671         (we provide our own tchar replacements)
11672
11673         * toolbar.c:
11674         use default object printer for toolbar-button.
11675
11676         * unexcw.c:
11677         make sure we don't encapsulate.
11678
11679         * window.c (vars_of_window):
11680         emphasize that temp-buffer-show-hook is obsolete.
11681
11682 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11683
11684         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11685         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11686
11687         * events.c (Fevent_timestamp_lessp):
11688         Not 64-bit clean.  Use EMACS_INT, not int.
11689
11690 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11691
11692         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11693         unsigned int and changed the last enum to
11694         lrecord_type_last_built_in_type.
11695         (lrecord_implementations_table): changed prototype to know how
11696         long the array is supposed to be.
11697         (lrecord_type_count): new unsigned int to keep track of the
11698         current number of lisp lrecord types.
11699         (DEFINE_EXTERNAL_LRECORD):
11700         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11701         dynamic-modules to declare new lisp types. They are the same
11702         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11703         int for each new type, and increment lrecord_type_count by 1.
11704
11705         * alloc.c (lrecord_implementations_table): Changed to reference
11706         lrecord_type_last_built_in_type for the size of the array.
11707         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11708
11709 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11710
11711         * glyphs.h (check_valid_item_list): Renamed from
11712         check_valid_item_list_1.
11713
11714 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11715
11716         * select.c (Qselect_coerce): New.
11717         * select.c (Vselection_coercion_alist): New.
11718         * select.c (syms_of_select): Declare.
11719         * select.c (get-selection-internal): Use it.
11720         Use the new select-coerce functionality.
11721
11722         * select.c (select_coerce): New.
11723         * select.h (select_coerce): Declare.
11724         New function to coerce one type of data into another.
11725
11726 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11727
11728         * callproc.c (Fcall_process_internal):
11729         (Fcall_process_internal):
11730         * process-unix.c (unix_create_process):
11731         Save and restore the value of errno, so that error messages are accurate.
11732
11733 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11734
11735         * elhash.c (print_hash_table):
11736         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11737         Prettify docstrings and indentation.
11738
11739 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11740
11741         * window.c (Fwindow_pixel_edges): Subtract frame border and
11742         gutter size.
11743
11744 2000-07-31  Andy Piper  <andy@xemacs.org>
11745
11746         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11747         will acknowledge the change.
11748
11749         * glyphs.h: declare tab_control_order_only_changed.
11750
11751         * glyphs-x.c (x_tab_control_redisplay): use
11752         tab_control_order_only_changed.
11753
11754         * glyphs-widget.c (tab_control_order_only_changed): new function.
11755
11756         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11757         tab_control_order_only_changed.
11758
11759         * gui.c (gui_item_equal_sans_selected): new function.
11760         (gui_item_equal): use it.
11761
11762         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11763         :properties in favor of :items..
11764
11765         * glyphs-widget.c (check_valid_item_list): rename from
11766         check_valid_item_list_1.
11767         (check_valid_item_list_1): renamed.
11768         (combo_box_validate): deprecate :properties in favor of :items.
11769         (widget_instantiate): ditto.
11770         (tab_control_update): ditto.
11771         (image_instantiator_combo_box): ditto.
11772         (image_instantiator_tree_view): ditto.
11773         (image_instantiator_tab_control): ditto.
11774         (layout_post_instantiate): remove dead code.
11775
11776         * print.c (debug_print_no_newline): only write to debugger if in
11777         WIN32_NATIVE.
11778
11779         * elhash.c (Fmake_hash_table): update doc string.
11780
11781         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11782         messages whilst in GC. This at least stops XEmacs crashing but has
11783         the potential for wierd behaviour.
11784
11785 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11786
11787         * config.h.in:
11788         Make existence of s&m files optional.
11789
11790         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11791         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11792         * s/gnu.h: Remove HAVE_GETLOADAVG.
11793         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11794         * s/sol2.h: Remove HAVE_GETLOADAVG.
11795         * lisp.h: Remove getloadavg() declaration.
11796         * fns.c:
11797         Include <sys/loadavg.h> if available.
11798         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11799         * config.h.in:  Group together getloadavg()-related macros.
11800         Use only configure-time tests to detect getloadavg().
11801
11802 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11803
11804         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11805
11806 2000-07-25  Andy Piper  <andy@xemacs.org>
11807
11808         * syswindows.h: add tchar.h for native builds.
11809
11810         * frame.c (syms_of_frame): remove set-glyph-image.
11811
11812         * general-slots.h: add Qset_glyph_image.
11813
11814         * glyphs-widget.c (layout_update): add domain arg to
11815         set-glyph-image.
11816         (syms_of_glyphs_widget): remove set-glyph-image.
11817
11818 2000-07-23  Ben Wing  <ben@xemacs.org>
11819
11820         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11821         Vpopup_frame_list.
11822
11823 2000-07-22  Andy Piper  <andy@xemacs.org>
11824
11825         * symsinit.h: add syms_of_win32().
11826
11827         * gui-msw.c (syms_of_gui_mswindows): remove
11828         Fmswindows_shell_execute.
11829         (Fmswindows_shell_execute): moved to win32.c.
11830
11831         * emacs.c (main_1): add syms_of_win32 ().
11832
11833         * win32.c (init_potentially_nonexistent_functions): rewrite in
11834         compiler-friendly terms.
11835         (Fmswindows_shell_execute): move here from gui-msw.c.
11836         (syms_of_win32): new.
11837
11838         * device-msw.c (Fmswindows_printer_list): clean up args to
11839         EnumPrinters.
11840         Don't include tchar under cygwin or mingw.
11841         (msprinter_default_printer): make cygwin-friendly.
11842
11843 2000-07-21  Andy Piper  <andy@xemacs.org>
11844
11845         * glyphs-widget.c (image_instantiator_tree_view): use tab
11846         control's update function.
11847         (layout_property): new function. Retrieve items.
11848
11849         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11850         function. Re-populate the tree view from the pending items.
11851
11852         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11853         is designated the parent if the domain is an image instance. This
11854         is needed so that dirtiness can be cascade up the hierarchy and
11855         thus for layout children to be redisplayed correctly.
11856         (allocate_image_instance): rename glyph -> parent.
11857
11858         * redisplay.h: change redisplay_output_layout signature.
11859
11860         * redisplay-msw.c (mswindows_output_display_block): use domain
11861         arg.
11862
11863         * redisplay-x.c (x_output_display_block): use domain arg.
11864
11865 2000-07-10  Andy Piper  <andy@xemacs.org>
11866
11867         * window.c (Fset_window_configuration): add comment.
11868
11869         * redisplay-output.c (compare_runes):
11870         (redisplay_output_subwindow): redisplay rather than update subwindow.
11871         (redisplay_output_layout): ditto.
11872
11873         * redisplay-msw.c (mswindows_frame_output_end):
11874         (mswindows_frame_output_end): make defer window pos optional.
11875
11876         * lisp.h: add Flast.
11877
11878         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11879         normalize method. Change update method to be for changed
11880         instantiators. Add redisplay method. Change signature of layout
11881         method.
11882         (struct Lisp_Image_Instance): add instantiator.
11883         (IMAGE_INSTANCE_INSTANTIATOR): new.
11884         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11885         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11886         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11887
11888         * glyphs.c:
11889         (find_instantiator_differences): new function.
11890         (Fset_instantiator_property): new convenience function.
11891         (check_image_instance_structure): strictly check for vector
11892         instantiators.
11893         (normalize_image_instantiator): make non-static.
11894         (instantiate_image_instantiator): pass on dest_mask and use new
11895         signatures for image_instance_layout and friends.
11896         (mark_image_instance): mark the instantiator. Mark the subwindow
11897         face not the widget face.
11898         (image_instance_equal): add instantiator.
11899         (image_instance_hash): ditto.
11900         (allocate_image_instance): ditto.
11901         (Fset_image_instance_property): removed.
11902         (Fimage_instance_file_name): ditto.
11903         (Fcolorize_image_instance): ditto.
11904         (image_instance_layout): add offsets to be set.
11905         (update_image_instance): new function. update an image instance
11906         from its changed instantiator.
11907         (inherit_normalize): add dest_mask.
11908         (xbm_normalize): ditto.
11909         (xface_normalize): ditto.
11910         (xpm_normalize): ditto.
11911         (text_update): set_property -> update.
11912         (image_instantiate): use the glyph identity as a hash key, not the
11913         instantiator.
11914         (glyph_width): use new image_instance_layout signature.
11915         (glyph_ascent): ditto.
11916         (glyph_descent): ditto.
11917         (glyph_height): ditto.
11918         (glyph_query_geometry): ressurrect.
11919         (glyph_layout): ditto.
11920         (redisplay_subwindow): update -> redisplay.
11921         (syms_of_glyphs): add Fset_instantiator_property.
11922         (image_instantiator_format_create): set_property -> update.
11923
11924         * glyphs-x.c:
11925         (autodetect_normalize): add dest_maks to signature.
11926         (x_redisplay_subwindow): update -> redisplay.
11927         (x_redisplay_widget): ditto.
11928         (x_button_redisplay): ditto.
11929         (x_progress_gauge_redisplay): ditto.
11930         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11931         stacking order.
11932         (console_type_create_glyphs_x): update -> redisplay.
11933         (image_instantiator_format_create_glyphs_x): ditto.
11934
11935         * glyphs-widget.c:
11936         (check_valid_instantiator): disallow glyphs in the instantiator,
11937         they must now be vectors.
11938         (check_valid_instantiator_list): ditto.
11939         (glyph_instantiator_to_glyph): use internal symbol rather than
11940         intern.
11941         (widget_update): renamed from widget_set_property. Call cascaded
11942         update methods.
11943         (redisplay_widget): renamed from update_widget.
11944         (widget_layout): image_instance_layout now takes position as well
11945         as size.
11946         (widget_normalize): ditto.
11947         (widget_instantiate): ditto.
11948         (tab_control_query_geometry) ditto.:
11949         (tab_control_update): renamed from tab_control_set_property.
11950         (progress_gauge_update): set_property -> update.
11951         (layout_normalize): rewrite so that child instantiators are
11952         normalized also.
11953         (layout_update): new function. Create glyphs from the normalized
11954         children and cope with any other layout keywords. We do not
11955         instantiate children here that will be take care of by
11956         redisplay_output_layout.
11957         (layout_instantiate): call layout_update and not much else.
11958         (layout_post_instantiate): not sure whether this is needed
11959         anymore.
11960         (layout_query_geometry): query glyph geometry rather than
11961         image_instance geometry.
11962         (layout_layout): set offsets from pass in parameters. Use glyph
11963         geometry and layout functions rather than image instance ones.
11964         (native_layout_layout): ditto.
11965         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11966         (image_instantiator_widget): set_property -> update.
11967         (image_instantiator_buttons): ditto.
11968         (image_instantiator_progress_guage): ditto.
11969         (image_instantiator_tab_control): ditto.
11970         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11971         (image_instantiator_layout): add update method.
11972
11973         * glyphs-msw.c (bmp_normalize):
11974         (mswindows_resource_normalize): add dest_mask so that it can be
11975         proprogated by layout_normalize.
11976         (begin_defer_window_pos): make optional because it may not be the
11977         right thing to do and it introduces differences with X.
11978         (mswindows_unmap_subwindow): ditto.
11979         (mswindows_map_subwindow): ditto.
11980         (mswindows_redisplay_subwindow): renamed from
11981         mswindows_update_subwindow.
11982         (mswindows_redisplay_widget): ditto.
11983         (mswindows_button_redisplay): renamed from
11984         mswindows_button_update. Update is now what the instantiation
11985         function does for a changed instantiator.
11986         (mswindows_progress_gauge_instantiate): set the progress value
11987         here if appropriate.
11988         (mswindows_tab_control_redisplay): cope with re-ordering of the
11989         members of the tab widget by simply selecting the new top
11990         widget. This makes things appear ok if you click on a tab.
11991         (mswindows_combo_box_instantiate): image_instance_layout now takes
11992         position as well as size.
11993         (mswindows_progress_gauge_redisplay): renamed from
11994         mswindows_progress_gauge_update.
11995         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11996         (image_instantiator_format_create_glyphs_mswindows): ditto.
11997
11998         * glyphs-eimage.c (jpeg_normalize):
11999         (gif_normalize):
12000         (png_normalize):
12001         (tiff_normalize): add dest_mask so that it can be proprogated by
12002         layout_normalize.
12003
12004         * elhash.c:
12005         (print_hash_table):
12006         (hash_table_weakness_validate):
12007         (decode_hash_table_weakness):
12008         (Fhash_table_weakness):
12009         (Fhash_table_type):
12010         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12011
12012         * console.h (struct console_methods): move update_* to
12013         redisplay_*.
12014
12015 2000-07-20  Ben Wing  <ben@xemacs.org>
12016
12017         * *.[ch] (XSETOBJ): remove unused middle argument.
12018         lisp-disunion.h: correct wrap_object() to one argument.
12019
12020 2000-07-15  Ben Wing  <ben@xemacs.org>
12021
12022         * s/cygwin32.h:
12023         * s/cygwin32.h (CYGWIN_CONV_PATH):
12024         Add missing logb prototype for v1.1.
12025         Use post-b20 names and alias to pre-b20 names when pre-b20.
12026
12027         * s/windowsnt.h: [5].
12028
12029 2000-07-15  Ben Wing  <ben@xemacs.org>
12030
12031         * Makefile.in.in (x_objs):
12032         * Makefile.in.in (sheap_objs):
12033         * Makefile.in.in (objs):
12034         added win32.o, cosmetic cleanups.
12035
12036         * alloc.c (Fmake_byte_code):
12037         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12038         etc. macros which declare their own args now.
12039
12040         * alloc.c (syms_of_alloc):
12041         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12042
12043         * buffer.c:
12044         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12045
12046         * buffer.c (Fget_file_buffer):
12047         Fixed GCPRO problem.
12048
12049         * buffer.c (get_truename_buffer):
12050         Fixed comment about GC checking.
12051
12052         * buffer.c (syms_of_buffer):
12053         Undeclared those dedicated frame funs.
12054         [2].
12055
12056         * buffer.h:
12057         Define convenience macros for internal/external conversions.
12058         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12059         and Qenvironment_variable_encoding for cleaner code.
12060
12061         * bufslots.h:
12062         Remove dedicated-frame; in lisp.
12063
12064         * bytecode.c (funcall_compiled_function):
12065         [1].
12066
12067         * bytecode.c (syms_of_bytecode):
12068         [2].
12069
12070         * console-msw.c:
12071         * console-msw.c (mswindows_show_console): Rewrote.
12072
12073         * console-msw.c (Fmswindows_debugging_output): New.
12074         Sends to OutputDebugString (special MSWin debugger interface).
12075
12076         * console-msw.c (Fmswindows_message_box):
12077         Fixed stupid bugs so it works when called from kill-emacs.
12078
12079         * console-msw.c (syms_of_console_mswindows):
12080         Declare Fmswindows_debugging_output.
12081
12082         * console-msw.h:
12083         New MSWin prototypes.
12084
12085         * console-msw.h (struct mswindows_frame):
12086         New entry last-click-mods for improved button-modifier support.
12087
12088         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12089         New struct entry `popup' with corresponding accessor.
12090
12091         * console-x.c:
12092         * console-x.c (split_up_display_spec):
12093         * console-x.c (get_display_arg_connection):
12094         * console-x.c (x_semi_canonicalize_console_connection):
12095         * console-x.c (x_canonicalize_device_connection):
12096         [[[6]]]: Change char to more specific type.
12097         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12098
12099         * console-x.c (x_semi_canonicalize_console_connection):
12100         * console-x.c (x_canonicalize_device_connection):
12101         [[[9]]]: Fix up error signalling to use new structured error system.
12102
12103         * console-x.h:
12104         [[[4]]]: Define codesys aliases:
12105         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12106         Qx_color_name_encoding, Qx_display_name_encoding.
12107
12108         * console.h (struct console_methods):
12109         New method make_dialog_box_internal supersedes older
12110         popup_dialog_box method.
12111
12112         * data.c:
12113         Define many new errors, part of new structured errors.
12114
12115         * data.c (init_errors_once_early):
12116         * data.c (syms_of_data):
12117         [2].
12118
12119         * device-msw.c (mswindows_init_device):
12120         [[[5]]]: Cleanup to support NT 3.51.
12121
12122         * device-msw.c (decode_devmode): Cleanup.
12123
12124         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12125         * device-msw.c (mswindows_handle_print_dialog_box):
12126         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12127         * device-msw.c (syms_of_device_mswindows):
12128         Delete the dialog box primitives recently introduced by Kirill and
12129         instead interface to general dialog box interface.
12130
12131         * device-x.c:
12132         * device-x.c (compute_x_app_name):
12133         * device-x.c (x_init_device):
12134         * device-x.c (Fx_valid_keysym_name_p):
12135         * device-x.c (Fx_set_font_path):
12136         [6].
12137         [7].
12138
12139         * device.h (wrap_device): New.
12140         First of its kind; meant to replace XSETDEVICE.
12141
12142         * dialog-msw.c: Many file-dialog symbols.
12143
12144         * dialog-msw.c (mswindows_register_popup_frame): New.
12145         * dialog-msw.c (mswindows_is_dialog_msg): New.
12146         For supporting kbd traversal in dialog boxes.
12147
12148         * dialog-msw.c (dialog_proc):
12149         Support hitting ESC in dialogs.
12150
12151         * dialog-msw.c (struct):
12152         Common dialog box errors.
12153
12154         * dialog-msw.c (handle_file_dialog_box): New.
12155         Add file dialog code.
12156
12157         * dialog-msw.c (handle_question_dialog_box):
12158         Redo existing code to support new question dialog syntax.
12159
12160         * dialog-msw.c (console_type_create_dialog_mswindows):
12161         We support new dialog console method.
12162
12163         * dialog-msw.c (syms_of_dialog_mswindows):
12164         * dialog-msw.c (vars_of_dialog_mswindows):
12165         New file dialog symbols, vars.
12166
12167         * dialog-x.c:
12168         * dialog-x.c (maybe_run_dbox_text_callback):
12169         * dialog-x.c (dbox_descriptor_to_widget_value):
12170         * dialog-x.c (x_make_dialog_box_internal):
12171         * dialog-x.c (console_type_create_dialog_x):
12172         Mule-ize entire file.
12173         Redo to support question dialog syntax.
12174         [6].
12175
12176         * dialog.c:
12177         * dialog.c (Fmake_dialog_box_internal):
12178         * dialog.c (syms_of_dialog):
12179         Kill old popup-dialog-box, replace with new primitive.
12180         Just call device method or signal error.
12181
12182         * eldap.c (Fldap_open):
12183         * eldap.c (Fldap_search_basic):
12184         * eldap.c (Fldap_add):
12185         * eldap.c (Fldap_modify):
12186         [1].
12187         [7].
12188
12189         * emacs.c:
12190         * emacs.c (make_arg_list_1):
12191         * emacs.c (make_arg_list):
12192         Mule-ize call to dll_init().
12193         [6].
12194         [8].
12195
12196         * emacs.c (make_argc_argv):
12197         * emacs.c (free_argc_argv):
12198         * emacs.c (init_cmdargs):
12199         * emacs.c (main_1):
12200         * emacs.c (Fkill_emacs):
12201         * emacs.c (Fdump_emacs):
12202         Update comments about what can be used in syms_* etc.
12203         Call init_win32() when necessary.
12204         Fix up MS Win dialog box in kill-buffer to actually work right.
12205         [7].
12206
12207         * eval.c:
12208         * eval.c (For):
12209         * eval.c (Fand):
12210         * eval.c (Fprogn):
12211         * eval.c (Fprog1):
12212         * eval.c (Fprog2):
12213         * eval.c (FletX):
12214         * eval.c (Flet):
12215         * eval.c (condition_case_3):
12216         * eval.c (Feval):
12217         * eval.c (function_argcount):
12218         * eval.c (funcall_lambda):
12219         [1].
12220
12221         * eval.c (type_error): New.
12222         * eval.c (maybe_type_error): New.
12223         * eval.c (continuable_type_error): New.
12224         * eval.c (maybe_continuable_type_error): New.
12225         * eval.c (type_error_with_frob): New.
12226         * eval.c (maybe_type_error_with_frob): New.
12227         * eval.c (continuable_type_error_with_frob): New.
12228         * eval.c (maybe_continuable_type_error_with_frob): New.
12229         New functions for use with structured errors.
12230
12231         * event-Xt.c:
12232         * event-Xt.c (x_event_to_emacs_event):
12233         Buttons are now modifiers too.
12234
12235         * event-Xt.c (emacs_Xt_current_event_timestamp):
12236         Implement new event method.
12237         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12238
12239         * event-msw.c:
12240         * event-msw.c (ntpipe_shove_writer): [5].
12241         * event-msw.c (mswindows_enqueue_mouse_button_event):
12242         * event-msw.c (mswindows_drain_windows_queue):
12243         * event-msw.c (mswindows_wnd_proc): [7].
12244         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12245         * event-msw.c (mswindows_modifier_state):
12246         Throughout: support new button modifiers.
12247
12248         * event-msw.c (emacs_mswindows_current_event_timestamp):
12249         Implement new event method.
12250         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12251
12252         * event-stream.c:
12253         * event-stream.c (event_stream_current_event_timestamp): New.
12254         * event-stream.c (maybe_kbd_translate): New functionality.
12255         * event-stream.c (vars_of_event_stream):
12256         Document new kbd-translate-table functionality.
12257
12258         * event-stream.c (Fcurrent_event_timestamp): New.
12259         New primitive for use in fabricated events.
12260         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12261
12262         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12263
12264         * events.c:
12265         * events.c (Fmake_event):
12266         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12267         [1].
12268         [9].
12269
12270         * events.c (format_event_object): fix gcc warnings.
12271
12272         * events.c (Fevent_timestamp): Document new primitives.
12273
12274         * events.c (TIMESTAMP_HALFSPACE): New.
12275
12276         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12277         comparing timestamps correctly (half-space algorithm).
12278
12279         * events.c (Fevent_modifier_bits): Doc fix.
12280
12281         * events.c (Fevent_modifiers): Major doc addition.
12282         * events.c (event_x_y_pixel_internal): Typo fix.
12283         * events.c (syms_of_events): Declare new primitives.
12284
12285         * events.h:
12286         Update long comment for button modifiers, timestamps.
12287
12288         * events.h (struct event_stream):
12289         New current_event_timestamp method.
12290
12291         * extents.c:
12292         * extents.c (extent_in_region_p):
12293         * extents.c (decode_extent):
12294         * extents.c (Fset_extent_parent):
12295         * extents.c (decode_map_extents_flags):
12296         Fix gcc warnings.
12297         [9].
12298
12299         * extents.c (struct extent_at_arg):
12300         * extents.c (decode_extent_at_flag):
12301         * extents.c (extent_at_mapper):
12302         * extents.c (extent_at_bytind):
12303         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12304         * extents.c (Fextents_at): New primitive. [9].
12305         * extents.c (symbol_to_glyph_layout): [9].
12306         Support new primitive `extents-at'.
12307
12308
12309         * extents.c (get_text_property_bytind):
12310         extent_at_bytind has another arg.
12311         [9].
12312
12313         * extents.c (syms_of_extents): New primitive.
12314
12315         * file-coding.c (Fmake_coding_system): [1].
12316         * file-coding.c (subsidiary_coding_system): fix gcc warning
12317         * file-coding.c (syms_of_file_coding): [2].
12318
12319         * fileio.c (Fexpand_file_name):
12320         * fileio.c (Fsysnetunam):
12321         * fileio.c (Ffile_exists_p):
12322         * fileio.c (Ffile_executable_p):
12323         * fileio.c (Fverify_visited_file_modtime):
12324         Clean up GCPROing.
12325
12326         * fileio.c (syms_of_fileio): [2].
12327
12328         * filelock.c (lock_file_1):
12329         * filelock.c (current_lock_owner):
12330         * filelock.c (lock_if_free):
12331         * filelock.c (lock_file):
12332         * filelock.c (unlock_file):
12333         Clean up GCPROing.
12334
12335         * fns.c (concat): Fix gcc warning.
12336
12337         * fns.c (Fmember):
12338         * fns.c (Fold_member):
12339         * fns.c (Fmemq):
12340         * fns.c (Fold_memq):
12341         * fns.c (memq_no_quit):
12342         * fns.c (Fassoc):
12343         * fns.c (Fold_assoc):
12344         * fns.c (Fassq):
12345         * fns.c (Fold_assq):
12346         * fns.c (assq_no_quit):
12347         * fns.c (Frassoc):
12348         * fns.c (Fold_rassoc):
12349         * fns.c (Frassq):
12350         * fns.c (Fold_rassq):
12351         * fns.c (rassq_no_quit):
12352         * fns.c (Fdelete):
12353         * fns.c (Fold_delete):
12354         * fns.c (Fdelq):
12355         * fns.c (Fold_delq):
12356         * fns.c (delq_no_quit):
12357         * fns.c (Fremassoc):
12358         * fns.c (Fremassq):
12359         * fns.c (remassq_no_quit):
12360         * fns.c (Fremrassoc):
12361         * fns.c (Fremrassq):
12362         * fns.c (remrassq_no_quit):
12363         * fns.c (Freverse):
12364         * fns.c (mapcar1):
12365         [1].
12366
12367         * frame-msw.c (mswindows_init_frame_1):
12368         * frame-msw.c (mswindows_delete_frame):
12369         Register popups with dialog code so keyboard traversing works.
12370
12371         * frame-tty.c (tty_raise_frame_no_select): [1].
12372
12373         * frame-x.c:
12374         * frame-x.c (x_set_frame_text_value):
12375         * frame-x.c (x_set_frame_properties):
12376         * frame-x.c (x_create_widgets):
12377         [7].
12378
12379         * frame.c:
12380         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12381
12382         * frame.h (wrap_frame): New.
12383         Macro like wrap_device.
12384
12385         * general.c:
12386         * general.c (SYMBOL):
12387         * general.c (syms_of_general):
12388         Major reorg.  This is now just a wrapper and symbols themselves
12389         are listed in general-slots.h.
12390
12391         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12392         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12393
12394         * glyphs-msw.c (mswindows_native_layout_instantiate):
12395         Add DS_CONTROL so keyboard traversal will work.
12396
12397         * glyphs-widget.c:
12398         * glyphs-widget.c (syms_of_glyphs_widget):
12399         Move some symbols to general-slots.h.
12400
12401         * glyphs-x.c:
12402         * glyphs-x.c (xbm_instantiate_1):
12403         * glyphs-x.c (x_xbm_instantiate):
12404         * glyphs-x.c (x_xface_instantiate):
12405         * glyphs-x.c (autodetect_instantiate):
12406         * glyphs-x.c (cursor_font_instantiate):
12407         * glyphs-x.c (x_update_widget):
12408         * glyphs-x.c (x_widget_instantiate):
12409         * glyphs.c (bitmap_to_lisp_data):
12410         * glyphs.c (pixmap_to_lisp_data):
12411         [7].
12412
12413         * glyphs.c (syms_of_glyphs):
12414         [2].
12415
12416         * gui-x.c:
12417         * gui-x.c (print_widget_value):
12418         * gui-x.c (menu_separator_style_and_to_external):
12419         * gui-x.c (add_accel_and_to_external):
12420         * gui-x.c (button_item_to_widget_value):
12421         * gui-x.c (gui_items_to_widget_values_1):
12422         * gui-x.c (gui_items_to_widget_values):
12423         * gui-x.c (syms_of_gui_x):
12424         * gui-x.c (vars_of_gui_x):
12425         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12426         [9].
12427
12428         * gui-x.h:
12429         Muleize, prototype changes matching gui-x.c.
12430
12431         * gui.c:
12432         * gui.c (separator_string_p):
12433         * gui.c (gui_item_add_keyval_pair):
12434         * gui.c (make_gui_item_from_keywords_internal):
12435         * gui.c (signal_too_long_error):
12436         * gui.c (parse_gui_item_tree_item):
12437         * gui.c (syms_of_gui):
12438         * gui.c (vars_of_gui):
12439         * gui.h:
12440         menu-no-selection-hook moved here (used by MSWin).
12441         Move some symbols to general-slots.h.
12442         [6].
12443         [9].
12444
12445         * insdel.c (get_buffer_pos_char):
12446         * insdel.c (get_buffer_range_char):
12447         Add GC comments.
12448
12449         * keymap.c (keymap_lookup_directly):
12450         * keymap.c (keymap_store):
12451         * keymap.c (ensure_meta_prefix_char_keymapp):
12452         * keymap.c (describe_map):
12453         * keymap.h:
12454         Support new button modifiers.
12455
12456         * lisp-disunion.h (wrap_object):
12457         * lisp-disunion.h (XSETOBJ):
12458         Rename make_obj to wrap_object.
12459
12460         * lisp-union.h:
12461         * lisp-union.h (make_int):
12462         * lisp-union.h (make_char):
12463         Support wrap_object.
12464
12465         * lisp.h:
12466         * lisp.h (LIST_LOOP):
12467         * lisp.h (EXTERNAL_LIST_LOOP):
12468         * lisp.h (LIST_LOOP_2):
12469         * lisp.h (EXTERNAL_LIST_LOOP_1):
12470         * lisp.h (EXTERNAL_LIST_LOOP_2):
12471         * lisp.h (EXTERNAL_LIST_LOOP_3):
12472         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12473         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12474         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12475         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12476         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12477         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12478         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12479         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12480         * lisp.h (struct Lisp_Symbol):
12481         * lisp.h (maybe_continuable_error_with_frob):
12482         Fix up section comments.
12483         Add new types for char to indicate usage.
12484         Delete symbols auto-generated from general-slots.h.
12485         Add prototypes for structured error functions.
12486         Add long comments describing looping macros and change interface
12487         so that lvalues are automatically declared.
12488         Add NO_DECLARE macro in case callers want to declare lvalues
12489         themselves.
12490
12491         * lread.c (read_syntax_error):
12492         * lread.c (continuable_read_syntax_error):
12493         * lread.c (read_structure):
12494         * lread.c (sequence_reader):
12495         * lread.c (read_list_conser):
12496         * lread.c (read_compiled_function):
12497         Rename syntax_error and continuable_syntax_error to avoid clash
12498         with same-named structured error functions.
12499
12500         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12501         * menubar-msw.c (populate_menu_add_item):
12502         * menubar-msw.c (populate_or_checksum_helper):
12503         [5].
12504         [9].
12505
12506         * menubar-x.c:
12507         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12508         Mule-ize whole file.
12509
12510         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12511
12512         * mule-charset.c (Fmake_charset):
12513         * mule-wnnfns.c (Fwnn_set_param):
12514         [1].
12515
12516         * ntproc.c (create_child):
12517         * ntproc.c (Fwin32_set_current_locale):
12518         Add comments portending doom.
12519
12520         * objects-msw.c:
12521         * objects-msw.c (old_font_enum_callback_2):
12522         * objects-msw.c (font_enum_callback_1):
12523         * objects-msw.c (mswindows_enumerate_fonts):
12524         [5].
12525
12526         * objects-x.c:
12527         * objects-x.c (allocate_nearest_color):
12528         * objects-x.c (x_parse_nearest_color):
12529         * objects-x.c (x_initialize_color_instance):
12530         * objects-x.c (x_print_color_instance):
12531         * objects-x.c (x_finalize_color_instance):
12532         * objects-x.c (x_valid_color_name_p):
12533         * objects-x.c (x_initialize_font_instance):
12534         * objects-x.c (x_print_font_instance):
12535         * objects-x.c (valid_x_font_name_p):
12536         * objects-x.c (truename_via_FONT_prop):
12537         * objects-x.c (truename_via_random_props):
12538         * objects-x.c (truename_via_XListFonts):
12539         * objects-x.c (x_font_truename):
12540         * objects-x.c (x_font_instance_truename):
12541         * objects-x.c (x_font_instance_properties):
12542         * objects-x.c (x_list_fonts):
12543         * objects-x.c (x_find_charset_font):
12544         Mule-ize entire file.
12545         [7].
12546
12547         * objects-x.h:
12548         Mule-verify.
12549
12550         * print.c:
12551         * print.c (std_handle_out_external):
12552         * print.c (debug_print_no_newline):
12553         * print.c (syms_of_print):
12554         Output to all debugger kinds in debug-print.
12555         Fix console-output code under MSWin to actually work.
12556
12557         * process-nt.c (send_signal):
12558         * process-nt.c (nt_create_process):
12559         Use newer Unicode macros.
12560
12561         * process-unix.c (unix_create_process):
12562         * process-unix.c (unix_canonicalize_host_name):
12563         * process-unix.c (unix_open_network_stream):
12564         [7].
12565
12566         * scrollbar-x.c:
12567         Mule-verify.
12568
12569         * search.c (syms_of_search):
12570         [2].
12571
12572         * select-msw.c (mswindows_destroy_selection):
12573         Use LIST_LOOP_2.
12574
12575         * select-x.c (symbol_to_x_atom):
12576         [7].
12577
12578         * select.c (syms_of_select):
12579         [2].
12580
12581         * sound.c (Fplay_sound_file):
12582         [7].
12583
12584         * specifier.c:
12585         * specifier.c (decode_specifier_type):
12586         * specifier.c (Fvalid_specifier_locale_type_p):
12587         * specifier.c (check_valid_locale_or_locale_type):
12588         * specifier.c (decode_locale):
12589         * specifier.c (decode_locale_type):
12590         * specifier.c (decode_locale_list):
12591         * specifier.c (check_valid_domain):
12592         * specifier.c (decode_specifier_tag_set):
12593         * specifier.c (Fcanonicalize_tag_set):
12594         * specifier.c (Fdefine_specifier_tag):
12595         * specifier.c (Fspecifier_tag_predicate):
12596         * specifier.c (check_valid_inst_list):
12597         * specifier.c (check_valid_spec_list):
12598         * specifier.c (decode_how_to_add_specification):
12599         * specifier.c (check_modifiable_specifier):
12600         * specifier.c (specifier_add_spec):
12601         * specifier.c (boolean_validate):
12602         * specifier.c (display_table_validate):
12603         [9].
12604
12605         * specifier.c (syms_of_specifier):
12606         Move some symbols to general-slots.h.
12607         [2].
12608
12609         * symbols.c:
12610         * symbols.c (Fmapatoms):
12611         * symbols.c (Fapropos_internal):
12612         Add GCPROs.
12613
12614         * symbols.c (set_default_buffer_slot_variable):
12615         * symbols.c (set_default_console_slot_variable):
12616         [1].
12617
12618         * symbols.c (defsymbol_massage_name_1):
12619         * symbols.c (defkeyword_massage_name):
12620         * symbols.c (deferror_1):
12621         * symbols.c (deferror):
12622         * symbols.c (deferror_massage_name_and_message):
12623         * symeval.h:
12624         * symeval.h (DEFSYMBOL):
12625         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12626
12627         * symbols.c (syms_of_symbols):
12628         [2].
12629
12630         * symsinit.h:
12631         * symsinit.h (init_win32): New.
12632         Also new is syms_of_dialog_mswindows.
12633
12634         * syswindows.h:
12635         Add new Unicode macros, missing Cygwin wide-char functions,
12636         convenience conversion macros for Qmswindows_tstr, macros for
12637         encapsulating required MSWin <-> Cygwin filename conversions,
12638         prototype for dynamically-extracted (not in NT 3.51) functions.
12639
12640         * toolbar-x.c:
12641         Mule-verify.
12642
12643         * tooltalk.c (Fadd_tooltalk_message_arg):
12644         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12645         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12646         [7].
12647
12648         * tooltalk.c (syms_of_tooltalk):
12649         [2].
12650
12651         * unexnt.c:
12652         * unexnt.c (unexec):
12653         Fix up headers, declaration of unexec() to be more standard.
12654
12655 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12656
12657         * offix.h: Revert change to guard macros - they're used in offix.c!
12658
12659 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12660
12661         * lisp.h: Defsubred Fdelete.
12662
12663         * console-msw.h:  (msprinter_default_printer): Added.
12664
12665         * console-msw.c (msprinter_canonicalize_console_connection):
12666         (msprinter_canonicalize_device_connection): Added.
12667
12668         * device-msw.c (msprinter_default_printer):
12669         (Fmswingows_get_default_printer):
12670         (signal_enum_priner_error):
12671         (Fmswingows_printer_list): Added.
12672
12673 2000-07-19  Martin Buchholz <martin@xemacs.org>
12674
12675         * XEmacs 21.2.35 is released.
12676
12677 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12678
12679         * select-x.c (x_handle_selection_request):
12680         Text selected in xemacs and pasted into xterm failed to appear.
12681         Spelling fixes and cosmetic changes.
12682
12683 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12684
12685         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12686         XEmacs frame (fix for doubling chars in dialog boxes).
12687
12688 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12689
12690         * select.c (select_convert_in, select_convert_out):
12691         Don't call intern() every time.
12692
12693         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12694         * select.c (vars_of_select): Initialise them.
12695
12696 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12697
12698         * select.c (selection-coercible-types): New.
12699
12700         * select.c (own-selection-internal):
12701         * select.c (get-selection-internal):
12702         MULE bug fix - these should default to COMPOUND_TEXT and not
12703         STRING for MULE. I think.
12704
12705         * select.c (select_convert_out): Use selection-coercible-types
12706         to find types that we can attempt to perform coercions on.
12707
12708 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12709
12710         * mule-wnnfns.c:
12711         * mule-canna.c:
12712         Add coding: cookie to identify encoding.
12713
12714         * mule-canna.c (CANNA_mode_keys): make static.
12715         Use proper prototypes, even for functions of no arguments.
12716         Remove external prototype for Fding().
12717
12718         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12719
12720         * select.c (syms_of_select): Add missing DEFSUBR.
12721
12722 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12723
12724         * select.c (get_selection_internal, own_selection_internal):
12725         Make the type default to STRING, rather than placing a nil type
12726         into Vselection_alist.
12727
12728 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12729
12730         * gpmevent.c (tty_selection_exists_p):
12731         * gpmevent.c (tty_own_selection):
12732         Updated parameter lists.
12733
12734 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12735
12736         * select.h (selection-alist): Removed declaration.
12737
12738         * select.h (get_local_selection):
12739         * select.c (get_local_selection):
12740         Made static.
12741
12742         * select.h (convert_selection): Removed declaration.
12743         * select.c (convert_selection): Removed.
12744         This function belongs in Lisp.
12745
12746         * select.h (select_convert_in): Declare.
12747         * select.h (select_convert_out): Declare.
12748         * select.c (select_convert_in): New.
12749         * select.c (select_convert_out): New.
12750         New conversion functions for other files to call.
12751
12752         * select.h (select_notify_buffer_kill): Declare.
12753         * select.c (select_notify_buffer_kill): New.
12754         New functions that get called from kill-buffer.
12755
12756         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12757         X-specific lisp code.
12758
12759         * select.h: Declare some of the lisp-visible functions for
12760         external use.
12761
12762         * select.c (clean_local_selection_data): Removed. This was
12763         a disgusting function, and previously should have been in
12764         select-x.c in any case. The functionality is now provided
12765         in select-convert-from-integer (select.el).
12766
12767         * select.c (available-selection-types): Fixed stupidity where
12768         INTEGER and ATOM got added twice. Also add STRING when we see an
12769         extent.
12770
12771         * select.c (get-selection-internal): Removed symbol stripping. No
12772         longer causes conversion when data comes from the internal cache.
12773
12774         * select.c (syms_of_select): Added new functions.
12775
12776         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12777         error checking - previously this called abort!
12778
12779         * select-x.c (x_own_selection): Changed comment.
12780
12781         * select-x.c (x_handle_selection_request): Use select_convert_out.
12782         Don't mess with selection-alist; it's an internal variable of select.c.
12783
12784         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12785
12786         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12787         rather than messing with selection-alist.
12788
12789         * select-msw.c (mswindows_get_foreign_selection):
12790         Use TO_INTERNAL_FORMAT rather than hacking.
12791
12792 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12793
12794         * process-unix.c (unix_open_multicast_group):
12795         (unix_open_multicast_group): Remove useless casts.
12796
12797 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12798
12799         * sound.c (Fplay_sound): Fix `unused variable' warning.
12800
12801         * emacs.c (main): Use correct type for _environ on SCO5.
12802
12803 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12804
12805         * console.h (own_selection_method):
12806         * console.h (selection_exists_p_method):
12807         * console.h (available_selection_types_method): New.
12808         * console.h (register_selection_data_type_method): New.
12809         * console.h (selection_data_type_name): New.
12810
12811         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12812         function & alist to track GlobalAlloc()'d handles that need
12813         releasing when the clipboard data gets replaced or emptied.
12814
12815         * event-msw.c (mswindows_wnd_proc): Call it.
12816
12817         * lisp.h, general.c (Qappend): New symbol representing a
12818         `how-to-add' mode.
12819
12820         * select.c (own-selection-internal):
12821         * select.c (selection-exists-p):
12822         * select.c (available-selection-types): New.
12823         * select.c (register-selection-data-type): New.
12824         * select.c (selection-data-type-name): New.  New functions to deal
12825         with device-specific selection data formats.
12826         * select.c (selection-converter-out-alist): Renamed.
12827         * select.c (selection-converter-in-alist): New.
12828         * select.c (selection-appender-alist): New.  Added new alists.
12829         * select.c (syms_of_select, vars_of_select): Added new symbols &
12830         variables.
12831         * select.c (get_local_selection): Split.
12832         * select.c: Removed spurious type checking - selections may now be
12833         of any type, not just strings.
12834         * select.c (own-selection-internal):
12835
12836         * select.h, select.c (convert_selection): New. Created
12837         convert_selection() function based on get_local_selection().
12838         * select.h, select.c (QCF_*): New symbols representing mswindows
12839         clipboard formats.
12840         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12841         symbols representing `how-to-add' modes.
12842
12843         * select-msw.c (x_sym_p): New.
12844         * select-msw.c (symbol_to_ms_cf): New.
12845         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12846         symbols & clipboard formats. Can also handle string names.
12847         * select-msw.c (mswindows_own_selection):
12848         * select-msw.c (mswindows_selection_exists_p):
12849         Added `data-type' parameter. Use it.
12850         * select-msw.c (mswindows_available_selection_types): New.
12851         * select-msw.c (mswindows_register_selection_data_type): New.
12852         * select-msw.c (mswindows_selection_data_type_name): New.
12853         * select-msw.c (mswindows_own_selection):
12854         * select-msw.c (mswindows_get_foreign_selection):
12855         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12856         * select-msw.c (console_create_select_mswindows): Added new methods.
12857         * select-msw.c (mswindows_destroy_selection): New.
12858         * select-msw.c (Vhandle_alist): New list.
12859         * select-msw.c (mswindows_own_selection):
12860
12861         * select-x.c (x_own_selection):
12862         * select-x.c (x_selection_exists_p):
12863         * select-x.c: Added some comments about maybe using new
12864         functionality.
12865         * select-x.c (x_own_selection):
12866
12867         * specifier.c: Remove definition of Qappend (now in general.c)
12868         * specifier.c (syms_of_specifier): Remove Qappend.
12869
12870 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12871
12872         * config.h.in: Add socklen_t.
12873
12874         * s/decosf4-0.h: No special compiler flags needed or desired.
12875         In particular, undefine _BSD for DEC OSF 4.0.
12876
12877 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12878
12879         * redisplay-msw.c (msprinter_frame_output_end): Added.
12880         (console_type_create_redisplay_mswindows): Referred the above.
12881
12882         * frame.c (setup_frame_without_minibuffer): Do not create a
12883         default minibuffer frame on a printer device.
12884
12885         * frame-msw.c (apply_dc_geometry): Added.
12886         (msprinter_start_page):
12887         (msprinter_init_frame_3):
12888         (msprinter_eject_page): Use it.
12889
12890         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12891         and removed residual duplex and orientation properties.
12892
12893 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12894
12895         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12896
12897         * unexalpha.c: Remove system prototypes from C sources!
12898
12899 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12900
12901         * eval.c: Remove references to M-x edit-options in DEFUNs for
12902         `defvar' and `defconst'.
12903
12904 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12905
12906         * config.h.in: Remove SMART_INCLUDE hackery.
12907
12908         PostgreSQL hacking:
12909         * config.h.in: Don't use SMART_INCLUDE.
12910
12911         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12912         * inline.c: Simply #include "postgresql.h"
12913         * postgresql.c:
12914         - Don't use SMART_INCLUDE
12915         - Use simply "const".
12916         - Use standard doc string conventions.
12917         - Use correct type for result of PQstatus.
12918
12919 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12920
12921         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12922
12923         C++ compilation changes.
12924         * config.h.in (EXTERN_C): Define.
12925         * config.h.in (not): This is also a C++ keyword.
12926         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12927         * cm.c: Use EXTERN_C.
12928         * redisplay-tty.c: Use EXTERN_C.
12929         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12930
12931 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12932
12933         * general.c: Remove duplicate definition for Qfunction.
12934
12935 2000-07-08  Ben Wing  <ben@xemacs.org>
12936
12937         * device-msw.c (msprinter_init_device):
12938         * device-msw.c (sync_printer_with_devmode):
12939         * device-msw.c (handle_devmode_changes):
12940         * device-msw.c (print_dialog_worker):
12941         * device-msw.c (Fmsprinter_apply_settings):
12942         * device-msw.c (hash_devmode):
12943         * device-msw.c (Fmsprinter_settings_despecialize):
12944         use Qmswindows_tstr, not Qctext.
12945
12946         * vm-limit.c (check_memory_limits):
12947         avoid infinite loop printing warning messages.
12948
12949 2000-07-05  Craig Lanning  <lanning@scra.org>
12950
12951         * Makefile.in.in: Add support for including the Windows resources
12952         when building with the cygwin and mingw targets.
12953
12954         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12955         not set or not correct.
12956         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12957         (init_initial_directory): Don't try to use $PWD on the
12958         WIN32_NATIVE target.
12959
12960         * s\cygwin32.h:
12961         [[Add -mwindows to eliminate console window.]] not required --ben
12962         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12963         (MAIL_USE_POP): removed; now handled by configure.
12964
12965         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12966         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12967         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12968         (MAIL_USE_POP): removed; now handled by configure.
12969         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12970         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12971         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12972         constant string.
12973         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12974         up from <winsock.h> via systime.h.
12975         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12976         (getpagesize): from Dan Holmsand, added.
12977         Added #endif which was left dangling by Ben's mega patch; added
12978         comment to help prevent this in the future.
12979
12980         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12981
12982 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12983
12984         * console-msw.h (struct mswindows_device): Removed unnecessary
12985         cached device geometry values.
12986         Added update_tick and an accessor macro.
12987         (Lisp_Devmode): Added lrecord declaration.
12988         (struct msprinter_device): Contain devmode as a Lisp object.
12989         Added mswindows_get_selected_frame_hwnd();
12990
12991         * console.h (struct console_methods): Indentation nitpicking.
12992
12993         * device-msw.c (mswindows_init_device): Do not initialize geometry
12994         cache. Initialize update tick.
12995         (mswindows_device_system_metrics): Ask the device for its geometry.
12996         (global_free_2_maybe):
12997         (devmode_to_hglobal):
12998         (handle_printer_changes):
12999         (ensure_not_printing):
13000         (print_dialog_worker):
13001         (Fmsprinter_print_setup_dialog):
13002         (Fmsprinter_print_dialog):
13003         (plist_get_margin):
13004         (plist_set_margin):
13005         (Fmsprinter_page_setup_dialog): Added functions.
13006         (sync_printer_with_devmode):
13007         (handle_devmode_changes):
13008         (Fmsprinter_get_settings):
13009         (Fmsprinter_select_settings):
13010         (Fmsprinter_apply_settings):
13011         (allocate_devmode):
13012         (Fmsprinter_settings_copy):
13013         (Fmsprinter_settings_despecialize):
13014         (print_devmode):
13015         (finalize_devmode):
13016         (equal_devmode):
13017         (hash_devmode): Added functions
13018         (syms_of_device_mswindows): Init devmode lrecord class.
13019
13020         * device.h: Added an exfun for find-device.
13021
13022         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13023         geometry; although, recreate the device compatible DC.
13024
13025         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13026         (msprinter_init_frame_3):
13027         (msprinter_frame_property):
13028         (msprinter_internal_frame_property_p):
13029         (msprinter_frame_properties):
13030         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13031         print job properties (will move to device settings).
13032
13033         * lisp.h: Added symbols.
13034
13035         * general.c (syms_of_general): Declared them.
13036
13037         * hash.c (string_hash): Added.
13038
13039         * lrecord.h (lrecord_type): Added devmode lrecord type.
13040
13041 2000-07-02  Mike Sperber <mike@xemacs.org>
13042
13043         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13044         FreeBSD 4.0.
13045
13046 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13047
13048         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13049         integer.
13050
13051 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13052
13053         * data.c (Fstring_to_number): Don't recognize floating point if
13054         base is not 10.
13055
13056 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13057
13058         * glyphs-widget.c (tab_control_query_geometry):
13059         (widget_query_geometry):
13060         (button_query_geometry):
13061         * glyphs.c (text_query_geometry):
13062         Enforce type correctness.
13063
13064 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13065
13066         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13067         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13068
13069 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13070
13071         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13072         conflicts with gcc's fixincluded version of FOO.h.
13073
13074         * glyphs.h (image_instance_geometry): Remove trailing `,'
13075
13076 2000-06-08  Mike Alexander  <mta@arbortext.com>
13077
13078         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13079         (shove_thread): Don't write the same output twice
13080         (make_ntpipe_output_stream): Increase priority of shove thread
13081         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13082         chance to run
13083         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13084         it.
13085
13086 2000-06-12  Ben Wing  <ben@xemacs.org>
13087
13088         * s\mingw32.h (sigset):
13089         * s\windowsnt.h (sigset):
13090         rename msw_ to mswindows_ for consistency with general convention.
13091
13092 2000-06-12  Ben Wing  <ben@xemacs.org>
13093
13094         * console-msw.c:
13095         * console-msw.c (mswindows_get_console_hwnd):
13096         * console-msw.c (mswindows_ensure_console_allocated):
13097         * console-msw.c (mswindows_hide_console):
13098         * console-msw.c (mswindows_show_console):
13099         * console-msw.c (mswindows_ensure_console_buffered):
13100         * console-msw.c (mswindows_output_console_string):
13101         * console-msw.c (mswindows_windows9x_p):
13102         * console-msw.h:
13103         * device-msw.c (mswindows_get_workspace_coords):
13104         * device-msw.c (mswindows_device_system_metrics):
13105         * dialog-msw.c (mswindows_popup_dialog_box):
13106         * event-msw.c (mswindows_wnd_proc):
13107         * frame-msw.c (mswindows_size_frame_internal):
13108         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13109         * menubar-msw.c (displayable_menu_item):
13110         * menubar-msw.c (mswindows_char_is_accelerator):
13111         * nt.c:
13112         * nt.c (mswindows_sigset):
13113         * nt.c (mswindows_sigrelse):
13114         * nt.c (mswindows_sigpause):
13115         * nt.c (mswindows_raise):
13116         * nt.c (timer_proc):
13117         * ntproc.c:
13118         * ntproc.c (find_child_console):
13119         * ntproc.c (sys_kill):
13120         * print.c:
13121         * print.c (std_handle_out_external):
13122         * process-nt.c (find_child_console):
13123         * process-nt.c (send_signal_the_95_way):
13124         * process-nt.c (ensure_console_window_exists):
13125         * process-nt.c (nt_create_process):
13126         * syssignal.h:
13127         rename msw_ to mswindows_ for consistency with general convention.
13128
13129         * emacs.c:
13130         * dumper.c:
13131         include nt.h, not syswindows.h.
13132
13133         * nt.c (mswindows_fstat):
13134         * nt.c (mswindows_stat):
13135         prefix mswindows_ instead of attempting to directly override the
13136         library functions.  fix declarations.
13137
13138         * nt.h:
13139         include syswindows.h.  move some sysdep.h stuff here.
13140
13141         * ntheap.h:
13142         include syswindows.h, not <windows.h>.
13143
13144         * ntplay.c:
13145         clean up headers.
13146
13147         * sysdep.c:
13148         clean up headers.
13149
13150         * sysdep.c (sys_fstat):
13151         * sysdep.c (sys_stat):
13152         call mswindows versions when appropriate.
13153
13154         * sysdep.h:
13155         move mswin decls to nt.h.
13156
13157         * syswindows.h:
13158         add long comment describing appropriate use of the various windows
13159         headers.
13160
13161 2000-06-11  Ben Wing  <ben@xemacs.org>
13162
13163         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13164
13165 2000-06-10  Ben Wing  <ben@xemacs.org>
13166
13167         * Makefile.in.in (release):
13168         Correction to make sure xemacs.exe always dumped when correct.
13169
13170         * alloca.c:
13171         * balloon_help.c:
13172         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13173
13174         * buffer.c (set_buffer_internal):
13175         [[[[2]]]]: Remove HAVE_FEP code.
13176
13177         * buffer.c (init_initial_directory):
13178         [3].
13179
13180         * bytecode.c:
13181         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13182         individual files.
13183
13184         * callproc.c:
13185         * callproc.c (call_process_cleanup):
13186         * callproc.c (Fold_call_process_internal):
13187         * callproc.c (child_setup):
13188         * callproc.c (getenv_internal):
13189         * callproc.c (init_callproc):
13190         * callproc.c (vars_of_callproc):
13191         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13192         __CYGWIN32__ -> CYGWIN.
13193         DOS_NT -> WIN32_NATIVE.
13194         Remove MSDOS support/references, converting to WIN32_NATIVE
13195           where correct.
13196         __MINGW32__ -> MINGW.
13197         Fix windows.h includes.
13198         Remove bogus HAVE_NTGUI.
13199
13200         * config.h.in:
13201         [2].
13202
13203         * console-msw.c:
13204         mswindows_message_outputted added for use in allowing startup
13205         errors on the console to be seen.
13206
13207         * console-msw.c (msw_ensure_console_allocated):
13208         * console-msw.c (msw_output_console_string):
13209         * console-msw.c (DHEADER):
13210         * console-msw.c (DOPAQUE_DATA):
13211         * console-msw.c (DEVENT):
13212         * console-msw.c (DCONS):
13213         * console-msw.c (DCONSCDR):
13214         * console-msw.c (DSTRING):
13215         * console-msw.c (DVECTOR):
13216         * console-msw.c (DSYMBOL):
13217         * console-msw.c (DSYMNAME):
13218         Fix warnings.
13219
13220         * console-stream.c (stream_init_console):
13221         Fix text/binary problems.
13222
13223         * device-msw.c:
13224         * device-msw.c (mswindows_finish_init_device):
13225         * device-msw.c (mswindows_delete_device):
13226         [1].
13227
13228         * device.c (handle_asynch_device_change):
13229         [3].
13230
13231         * dgif_lib.c:
13232         * dgif_lib.c (DGifOpenFileName):
13233         * dgif_lib.c (DGifOpenFileHandle):
13234         * dgif_lib.c (DGifGetLine):
13235         * dgif_lib.c (DGifGetPixel):
13236         Added config.h/lisp.h, fix up includes.
13237         [1].
13238
13239         * dired-msw.c:
13240         [4].
13241
13242         * dired.c:
13243         * dired.c (file_name_completion):
13244         * dired.c (Ffile_attributes):
13245         * dired.c (syms_of_dired):
13246         [1].
13247
13248         * dumper.c:
13249         * dumper.c (pdump_file_unmap):
13250         * dumper.c (pdump_load):
13251         [1].
13252
13253         * editfns.c:
13254         * editfns.c (Ftemp_directory):
13255         * editfns.c (user_login_name):
13256         * editfns.c (Fuser_real_login_name):
13257         * editfns.c (get_home_directory):
13258         [1].
13259
13260         * elhash.c (finish_marking_weak_hash_tables):
13261         [[[[5]]]]: Fix GCC warnings.
13262
13263         * emacs.c:
13264         * emacs.c (mswindows_handle_hardware_exceptions):
13265         * emacs.c (make_arg_list_1):
13266         * emacs.c (main_1):
13267         * emacs.c (Fkill_emacs):
13268         * emacs.c (Fdump_emacs):
13269         [1].
13270         Fix problems with nested crashes, add long comment.
13271
13272         * event-Xt.c (init_event_Xt_late):
13273         [1].
13274
13275         * event-msw.c:
13276         * event-msw.c (mswindows_dde_callback):
13277         * event-msw.c (mswindows_handle_sticky_modifiers):
13278         * event-msw.c (mswindows_wnd_proc):
13279         [1].
13280         [5].
13281
13282         * events.c (character_to_event):
13283         [1].
13284
13285         * fileio.c:
13286         * fileio.c (Ffile_name_directory):
13287         * fileio.c (Ffile_name_nondirectory):
13288         * fileio.c (directory_file_name):
13289         * fileio.c (Fexpand_file_name):
13290         * fileio.c (Fsubstitute_in_file_name):
13291         * fileio.c (Ffile_name_absolute_p):
13292         * fileio.c (check_executable):
13293         * fileio.c (Ffile_readable_p):
13294         * fileio.c (Ffile_accessible_directory_p):
13295         * fileio.c (Ffile_modes):
13296         * fileio.c (Funix_sync):
13297         * fileio.c (vars_of_fileio):
13298         [1]. [4].
13299
13300         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13301
13302         Expand getdefdir defn.
13303         Fix bogus rename() comment.
13304
13305         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13306         to use standard XEmacs include files, e.g. sysfile.h, rather
13307         than system-specific includes.
13308
13309         * fns.c:
13310         * fns.c (Fsubseq):
13311         [5]. [6].
13312
13313         * frame.c (vars_of_frame):
13314         [1].
13315
13316         * getloadavg.c:
13317         * getloadavg.c (getloadavg):
13318         [1]. [6].
13319         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13320         (We don't use it elsewhere in the code; just add a comment.)
13321
13322         * gif_io.c:
13323         [6].
13324         Add config.h.
13325
13326         * glyphs-msw.c:
13327         * glyphs-msw.c (mswindows_resource_instantiate):
13328         [1].
13329
13330         * glyphs-x.c (x_native_layout_instantiate):
13331         [5].
13332
13333         * gui-msw.c (Fmswindows_shell_execute):
13334         [1].
13335
13336         * insdel.c:
13337         [4].
13338
13339         * lisp.h:
13340         [4]. [5].
13341
13342         * lread.c (locate_file_in_directory_mapper):
13343         [1].
13344
13345         * lstream.c:
13346         [4].
13347
13348         * mem-limits.h:
13349         * mem-limits.h (get_lim_data):
13350         [1].
13351
13352         * menubar-msw.c:
13353         [4].
13354
13355         * ndir.h:
13356         [1].
13357
13358         * nt.c:
13359         * nt.c (getwd):
13360         * nt.c (closedir):
13361         * nt.c (rva_to_section):
13362         * nt.c (mswindows_executable_type):
13363         [1]. [6].
13364         Fix closedir() defn.
13365
13366         * nt.h:
13367         [[[[8]]]]: *_OK defs moved to sysfile.h.
13368
13369         * ntproc.c:
13370         [6]. [7].
13371
13372         * objects-x.c:
13373         [4].
13374
13375         * print.c:
13376         * print.c (std_handle_out_external):
13377         [1]. [4].
13378
13379         * process-nt.c:
13380         * process-nt.c (nt_create_process):
13381         [6].
13382         try to fix process quoting somewhat.
13383
13384         * process-unix.c (unix_create_process):
13385         [1].
13386
13387         * process.c:
13388         * process.c (vars_of_process):
13389         Add Vnull_device.
13390
13391         * process.h:
13392         [1].
13393
13394         * realpath.c:
13395         * realpath.c (xrealpath):
13396         [1].
13397
13398         * redisplay-tty.c (init_tty_for_redisplay):
13399         [3].
13400
13401         * redisplay.c:
13402         [4]. [6].
13403
13404         * scrollbar-msw.c:
13405         [4].
13406
13407         * sheap.c:
13408         * sheap.c (more_static_core):
13409         * sheap.c (report_sheap_usage):
13410         [5]. [6].
13411
13412         * signal.c:
13413         * signal.c (alarm_signal):
13414         [1]. [6].
13415
13416         * sound.c:
13417         [6].
13418
13419         * strftime.c:
13420         * strftime.c (zone_name):
13421         [1]. [5].
13422
13423         * symsinit.h (init_sunpro):
13424         [1].
13425
13426         * syscommctrl.h:
13427         commctrl.h not in Cygwin b20.1.
13428
13429         * sysdep.c:
13430         * sysdep.c (endif):
13431         * sysdep.c (sys_subshell):
13432         * sysdep.c (init_baud_rate):
13433         * sysdep.c (emacs_get_tty):
13434         * sysdep.c (emacs_set_tty):
13435         * sysdep.c (tty_init_sys_modes_on_device):
13436         * sysdep.c (init_system_name):
13437         * sysdep.c (sys_open):
13438         * sysdep.c (interruptible_open):
13439         * sysdep.c (sys_fopen):
13440         * sysdep.c (sys_mkdir):
13441         * sysdep.c (sys_rename):
13442         * sysdep.c (get_process_times_1):
13443         [1]. [6].
13444
13445         * sysdep.h:
13446         [1].
13447
13448         * sysdir.h:
13449         * sysdir.h (DIRENTRY_NONEMPTY):
13450         [1]. [6].
13451
13452         * sysdll.c (dll_init):
13453         * sysdll.h:
13454         [1].
13455
13456         * sysfile.h:
13457         [1]. [6]. [8].
13458         added text/binary defs.
13459
13460         * sysfloat.h:
13461         [1].
13462
13463         * sysproc.h:
13464         * sysproc.h (EDESTADDRREQ):
13465         * sysproc.h (poll_fds_for_input):
13466         [1]. [6].
13467
13468         * syspwd.h:
13469         [6].
13470
13471         * syssignal.h:
13472         [1].
13473
13474         * systime.h:
13475         [1]. [6].
13476
13477         * systty.h:
13478         [1].
13479
13480         * syswindows.h:
13481         [1].
13482         Always define WIN32_LEAN_AND_MEAN.
13483
13484         * unexcw.c (unexec):
13485         [5].
13486
13487         * unexec.c:
13488         * unexec.c (copy_text_and_data):
13489         * unexec.c (adjust_lnnoptrs):
13490         [1].
13491
13492         * unexnt.c:
13493         * unexnt.c (_start):
13494         [1].
13495
13496 2000-06-07  Ben Wing  <ben@xemacs.org>
13497
13498         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13499         was used only as a model.  We've long since extracted any useful
13500         logic or code out of this. (I just did an exhaustive search.)
13501
13502         * s\msdos.h: Removed.
13503
13504         * s\windows95.h: Removed.
13505
13506 2000-06-10  Ben Wing  <ben@xemacs.org>
13507
13508         * s\cygwin32.h:
13509         [1]. [5].
13510         Don't use extern with fun defs.
13511
13512         * s\mingw32.h:
13513         [1]. [7].
13514         Remove nt\inc include.
13515         Remove getdisk, getdefdir. (The former is unused, the latter
13516         expanded in fileio.h.)
13517
13518         * s\windowsnt.h:
13519         * s\windowsnt.h (WIN32_NATIVE):
13520         * s\windowsnt.h (HAVE_STRCASECMP):
13521         [1]. [7].
13522         Add long comment about preprocessor changes.
13523         Remove getdisk, getdefdir. (The former is unused, the latter
13524         expanded in fileio.h.)
13525
13526 2000-06-10  Ben Wing  <ben@xemacs.org>
13527
13528         * m\arm.h:
13529         * m\delta.h:
13530         * m\intel386.h:
13531         * m\sequent.h:
13532         * m\template.h:
13533         * m\windowsnt.h:
13534         [1].
13535         Remove bogus/unused NO_SOCK_SIGIO.
13536
13537 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13538
13539         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13540         not an Emchar.
13541
13542 2000-06-04  Mike Sperber <mike@xemacs.org>
13543
13544         * casetab.c (set_case_table): For `set-standard-case-table',
13545         actually deposit the new case tables where the rest of XEmacs can
13546         see them.
13547
13548 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13549
13550         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13551
13552 2000-06-05  Ben Wing  <ben@xemacs.org>
13553
13554         * callproc.c (child_setup): Don't do close_load_descs() under
13555         MS Windows.  Put in a comment explaining why.
13556
13557 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13558
13559         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13560         Toolkit shell" which breaks `kill-compilation' on Windows NT
13561         native, retaining STDERR handling improvements.
13562
13563 2000-06-01  Andreas Jaeger  <aj@suse.de>
13564
13565         * s/s390.h: Support for S390, based on a patch by Martin
13566         Schwidefsky <schwidefsky@de.ibm.com>.
13567
13568 2000-05-30  Andy Piper  <andy@xemacs.org>
13569
13570         * window.c (allocate_window):
13571         (make_dummy_parent):
13572         (Fset_window_configuration): use new hashtable type.
13573
13574         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13575         (struct image_instantiator_methods):
13576         (struct Lisp_Image_Instance): make instance geometry signed.
13577
13578         * glyphs.c (instantiate_image_instantiator):
13579         (image_instance_query_geometry):
13580         (image_instance_layout):
13581         (image_instance_layout):
13582         (query_string_geometry):
13583         (text_query_geometry):
13584         (image_instantiate):
13585         (image_instantiate):
13586         (cache_subwindow_instance_in_frame_maybe):
13587         (subwindow_query_geometry): make instance geometry signed.
13588
13589         * glyphs-widget.c (widget_query_geometry):
13590         (widget_layout):
13591         (button_query_geometry):
13592         (tree_view_query_geometry):
13593         (tab_control_query_geometry):
13594         (layout_query_geometry):
13595         (layout_layout):
13596         (native_layout_layout): make instance geometry signed.
13597
13598 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13599
13600         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13601         constant.
13602
13603         * general.c (syms_of_general): Add Qfull_assoc symbol.
13604
13605         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13606         correctly.
13607         (decode_weak_list_type): Decode full-assoc type.
13608         (encode_weak_list_type): Encode full-assoc type.
13609         (Fmake_weak_list): Update doc string.
13610
13611 2000-05-30  Andy Piper  <andy@xemacs.org>
13612
13613         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13614
13615         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13616         (decode_hash_table_weakness): ditto.
13617         (Fhash_table_weakness): ditto.
13618         (Fhash_table_type): ditto.
13619         (finish_marking_weak_hash_tables): ditto.
13620         (hash_table_weakness_validate): ditto.
13621         (syms_of_elhash): ditto.
13622
13623 2000-05-28  Martin Buchholz <martin@xemacs.org>
13624
13625         * XEmacs 21.2.34 is released.
13626
13627 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13628
13629         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13630         start cache.
13631         (updating_line_start_cache): Gone.
13632         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13633         generic code to force a minimum of 1 line laid out in the
13634         CMOTION_DISP case.
13635
13636 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13637
13638         * glyphs.c (instantiate_image_instantiator): Check for initialized
13639         height & width no longer special cases IMAGE_NOTHING.
13640         (nothing_instantiate): Set height and width of instance.
13641
13642 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13643
13644         * unexelf.c (unexec): Search for ".data" section.
13645         Initialize new_data2_offset from old_data_index.
13646         Remove redundant check for ElfW.
13647
13648 2000-05-23  Andy Piper  <andy@xemacs.org>
13649
13650         * glyphs.c (get_image_instantiator_governing_domain): allow more
13651         specific domains as the governing domain rather than expecting an
13652         exact match. This fixes problems with layouts.
13653
13654 2000-05-22  Andy Piper  <andy@xemacs.org>
13655
13656         * redisplay-output.c (compare_runes): check for non-images
13657
13658         * glyphs.c (set_glyph_dirty_p): ditto.
13659         (update_glyph_cachel_data): ditto.
13660
13661         * glyphs-widget.c (layout_post_instantiate): ditto.
13662         (layout_post_instantiate): ditto.
13663
13664         * event-msw.c (mswindows_wnd_proc): warning removal.
13665
13666 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13667
13668         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13669
13670         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13671
13672         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13673
13674         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13675         (mswindows_executable_type): mingw32 now has enough headers for
13676         this to work.
13677
13678 2000-05-20  Andy Piper  <andy@xemacs.org>
13679
13680         * console-msw.c (mswindows_output_last_error): ; -> ,
13681
13682 2000-05-12  Andy Piper  <andy@xemacs.org>
13683
13684         * console-msw.c (FROB): compare ints with ints.
13685
13686 2000-05-11  Andy Piper  <andy@xemacs.org>
13687
13688         * glyphs-x.c (x_finalize_image_instance): make minimal build
13689         happy.
13690
13691 2000-05-20  Ben Wing  <ben@xemacs.org>
13692
13693         * event-Xt.c:
13694         * event-Xt.c (vars_of_event_Xt):
13695         move modifier-keys-are-sticky to event-stream.c.
13696
13697         * event-msw.c:
13698         * event-msw.c (mswindows_enqueue_mouse_button_event):
13699         * event-msw.c (key_needs_default_processing_p):
13700         * event-msw.c (XEMSW_LCONTROL):
13701         * event-msw.c (mswindows_handle_sticky_modifiers):
13702         * event-msw.c (FROB):
13703         * event-msw.c (clear_sticky_modifiers):
13704         * event-msw.c (output_modifier_keyboard_state):
13705         * event-msw.c (output_alt_keyboard_state):
13706         * event-msw.c (mswindows_wnd_proc):
13707         * event-msw.c (mswindows_modifier_state):
13708         * event-msw.c (emacs_mswindows_handle_magic_event):
13709         implement sticky modifiers.
13710
13711         * event-stream.c:
13712         * event-stream.c (vars_of_event_stream):
13713         move modifier-keys-are-sticky here.
13714
13715         * lisp.h:
13716         add CHECK_FUNCTION.
13717
13718         * rangetab.c:
13719         implement map-range-table.
13720
13721
13722 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13723
13724         * redisplay-tty.c (reset_tty_modes):
13725         (tty_redisplay_shutdown): Adjust argument type to
13726         tty_frame_output_end.
13727
13728 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13729
13730         * eval.c (Fbacktrace): Don't output a line with only right
13731         parenthesis.
13732
13733 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13734
13735         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13736         (Fpq_reset_poll): Ditto.
13737
13738 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13739
13740         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13741
13742 2000-05-16  Ben Wing  <ben@xemacs.org>
13743
13744         * buffer.c:
13745         * buffer.c (dfc_convert_to/from_internal_format):
13746         * buffer.c (reinit_vars_of_buffer):
13747         Fix conversion functions to allow reentrancy.
13748
13749         * console-msw.c:
13750         * console-msw.c (mswindows_output_last_error):
13751         New fun, generally useful -- output a human-readable
13752         version of GetLastError() on the console.
13753
13754         * console-msw.h:
13755         * console-msw.h (struct mswindows_frame):
13756         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13757
13758         * console-stream.c (stream_output_begin):
13759         * console-stream.c (stream_output_end):
13760         * console-stream.c (stream_output_vertical_divider):
13761         * console-stream.c (stream_clear_region):
13762         * console-stream.c (stream_flash):
13763         * console-stream.c (console_type_create_stream):
13764         Delete blank stream methods, not needed.
13765
13766         * console.h (struct console_methods):
13767         Split begin/end methods into window and frame.
13768
13769         * event-msw.c:
13770         * event-msw.c (mswindows_handle_paint):
13771         * event-msw.c (output_alt_keyboard_state):
13772         * event-msw.c (mswindows_wnd_proc):
13773         * event-msw.c (vars_of_event_mswindows):
13774         Comment about problems with ignored-expose.
13775         Define mswindows-debug-events; not really implemented.
13776
13777         * frame-msw.c (mswindows_init_frame_1):
13778         random cleanups.
13779
13780         * glyphs-msw.c:
13781         * glyphs-msw.c (begin_defer_window_pos):
13782         * glyphs-msw.c (mswindows_unmap_subwindow):
13783         * glyphs-msw.c (mswindows_map_subwindow):
13784         * glyphs-msw.c (mswindows_resize_subwindow):
13785         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13786
13787         * glyphs.c (make_image_instance_1):
13788         Fix crash.
13789
13790         * gutter.c (Fredisplay_gutter_area):
13791         Use new begin/end methods.
13792
13793         * lisp.h (Dynarr_new2):
13794         New creation fun.
13795
13796         * redisplay-msw.c:
13797         * redisplay-msw.c (mswindows_frame_output_begin):
13798         * redisplay-msw.c (mswindows_frame_output_end):
13799         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13800         New begin/end methods -- handle DeferWindowPos.
13801
13802         * redisplay-output.c (redisplay_move_cursor):
13803         * redisplay-output.c (redraw_cursor_in_window):
13804         * redisplay-output.c (redisplay_update_line):
13805         * redisplay-output.c (redisplay_output_window):
13806         New begin/end methods.
13807
13808         * redisplay-tty.c:
13809         * redisplay-tty.c (tty_frame_output_begin):
13810         * redisplay-tty.c (tty_frame_output_end):
13811         * redisplay-tty.c (console_type_create_redisplay_tty):
13812         New begin/end methods.
13813
13814         * redisplay-x.c:
13815         * redisplay-x.c (x_window_output_begin):
13816         * redisplay-x.c (x_window_output_end):
13817         * redisplay-x.c (console_type_create_redisplay_x):
13818         New begin/end methods.
13819
13820         * redisplay.c (redisplay_frame):
13821         * redisplay.c (Fredisplay_echo_area):
13822         New begin/end methods.
13823         use MAYBE_DEVMETH for clear_frame; it may not exist.
13824
13825         * window.h (WINDOW_XFRAME):
13826         WINDOW_XFOO macros -- get locale and decode struct pointer.
13827
13828
13829 2000-05-12  Ben Wing  <ben@xemacs.org>
13830
13831         * emacs.c:
13832         * emacs.c (ensure_no_quitting_from_now_on):
13833         * emacs.c (fatal_error_signal):
13834         * emacs.c (mswindows_handle_hardware_exceptions):
13835         * emacs.c (main):
13836         * emacs.c (Fkill_emacs):
13837         * emacs.c (shut_down_emacs):
13838         * emacs.c (assert_failed):
13839         various improvements in fatal error handling.
13840
13841         * eval.c:
13842         move preparing_for_armageddon to emacs.c.
13843
13844         * lisp.h:
13845         declare fatal_error_in_progress.
13846
13847         * print.c:
13848         * print.c (std_handle_out_external):
13849         * print.c (std_handle_out_va):
13850         * print.c (stderr_out):
13851         * print.c (stdout_out):
13852         use console under mswin when no standard output.
13853         don't do code conversion during fatal error.
13854
13855         * scrollbar.c (Fscrollbar_page_up):
13856         * scrollbar.c (Fscrollbar_page_down):
13857         fix missing else.  reindent.
13858
13859 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13860
13861         Emergency fix.
13862
13863         * glyphs.h (GLYPH_CACHEL_DESCENT):
13864         (GLYPH_CACHEL_DESCENT):
13865         (GLYPH_CACHEL_DESCENT):
13866         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13867         used in case these are inline functions.
13868         Use more absurd values to error check.
13869
13870         include window.h for error check functions.
13871
13872 2000-05-11  Ben Wing  <ben@xemacs.org>
13873
13874         * cmdloop.c (Freally_early_error_handler):
13875         Display message box under windows; otherwise, message will disappear
13876         before it can be viewed.
13877
13878         * console-msw.c:
13879         * console-msw.c (Fmswindows_message_box):
13880         * console-msw.c (FROB):
13881         * console-msw.c (syms_of_console_mswindows):
13882         Define new fun `mswindows-message-box'.
13883         #### I will merge this into `popup-dialog-box'; just give me
13884         a bit of time.
13885
13886         * general.c:
13887         * general.c (syms_of_general):
13888         Some new symbols used in `mswindows-message-box'.
13889
13890         * glyphs.c:
13891         * glyphs.c (Fset_image_instance_property):
13892         put warning in this fun.
13893
13894         * glyphs.h:
13895         * glyphs.h (GLYPH_CACHEL_WIDTH):
13896         * glyphs.h (GLYPH_CACHEL_ASCENT):
13897         * glyphs.h (GLYPH_CACHEL):
13898         * glyphs.h (GLYPH_CACHEL_GLYPH):
13899         define error-checking versions to try to catch a bug i've seen --
13900         redisplay gets in an infinite loop because the glyph width of the
13901         continuation glyph is 65535.
13902
13903         * lisp.h:
13904         Extern message-box stuff.
13905
13906         * window.c (allocate_window):
13907         * window.c (make_dummy_parent):
13908         * window.c (Fset_window_configuration):
13909         Use EQUAL not EQ for subwindow caches to make them work a bit
13910         better. (Something is still very broken.)
13911
13912
13913 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13914
13915         * glyphs.c (image_instantiate): Suppress gcc warnings.
13916         (Fmake_image_instance): Fix doc string.
13917         * specifier.c (Fmake_specifier): Ditto.
13918
13919 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13920
13921         * paths.h.in (PATH_LOCK): Removed.
13922         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13923         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13924
13925 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13926
13927         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13928         Document (featurep '(and xemacs 21.02)).
13929
13930 2000-05-09  Ben Wing  <ben@xemacs.org>
13931
13932         * buffer.c (complex_vars_of_buffer):
13933         update modeline-format doc.
13934
13935         * device.h:
13936         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13937
13938         * emacs.c:
13939         timeline of all released versions of Emacs, for use in creating
13940         authorship comments and in synching up.
13941
13942         * glyphs-widget.c (image_instantiator_buttons):
13943         * glyphs-widget.c (image_instantiator_edit_fields):
13944         * glyphs-widget.c (image_instantiator_combo_box):
13945         * glyphs-widget.c (image_instantiator_scrollbar):
13946         * glyphs-widget.c (image_instantiator_progress_guage):
13947         * glyphs-widget.c (image_instantiator_tree_view):
13948         * glyphs-widget.c (image_instantiator_tab_control):
13949         * glyphs-widget.c (image_instantiator_labels):
13950         * glyphs-widget.c (image_instantiator_layout):
13951         * glyphs-widget.c (image_instantiator_native_layout):
13952         rename decode_domain method to governing_domain.
13953
13954         * glyphs.c:
13955         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13956         * glyphs.c (add_entry_to_device_ii_format_list):
13957         make sure we don't put an entry more than once into the list.
13958         * glyphs.c (check_instance_cache_mapper):
13959         *************************************************************
13960         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13961         HAVE BEEN GETTING.
13962         *************************************************************
13963         * glyphs.c (get_image_instantiator_governing_domain):
13964         clean up, expand on new concept of governing domain.
13965         * glyphs.c (instantiate_image_instantiator):
13966         * glyphs.c (allocate_image_instance):
13967         use governing_domain instead of cache_domain in naming.
13968         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13969         * glyphs.c (make_image_instance_1):
13970         * glyphs.c (Fmake_image_instance):
13971         allow for any domain (not just device), and process the
13972         governing domain correctly.  very big doc fix.
13973         * glyphs.c (Fimage_instance_domain):
13974         new primitive, to retrieve the governing domain of an image instance.
13975         * glyphs.c (image_instantiate):
13976         use new governing_domain stuff.  this fixes a crash you could get
13977         by instantiating certain widget glyphs in frame locales. (should
13978         signal an error instead of crashing.)
13979         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13980         * glyphs.c (Fglyphp): clean up doc.
13981         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13982         * glyphs.c (syms_of_glyphs):
13983         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13984         * glyphs.c (image_instantiator_format_create): add some comments about
13985         bogus code.
13986         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13987         for current-display-table. (Apparently Hrjove implemented in 1998 a
13988         design I wrote up in 1996, but didn't update the doc string.)
13989
13990         * glyphs.h: clean up a doc string.
13991         * glyphs.h (governing_domain):
13992         * glyphs.h (struct image_instantiator_methods):
13993         changes for governing_domain stuff.
13994
13995         * gutter.c:
13996         * gutter.c (Fgutter_specifier_p):
13997         * gutter.c (Fgutter_size_specifier_p):
13998         * gutter.c (Fgutter_visible_specifier_p):
13999         * objects.c:
14000         * objects.c (Fcolor_specifier_p):
14001         * objects.c (Ffont_specifier_p):
14002         * objects.c (Fface_boolean_specifier_p):
14003         doc strings moved to make-*-specifier.
14004
14005         * redisplay.c (add_disp_table_entry_runes_1):
14006         * redisplay.c (generate_fstring_runes):
14007         * redisplay.c (screen):
14008         add random comments and doc strings.
14009
14010         * specifier.c:
14011         * specifier.c (Fmake_specifier):
14012         major overhaul of this doc string.
14013
14014         * specifier.c (Fvalid_specifier_domain_p):
14015         comment about the bogosity of image instances being domains.
14016         * specifier.c (decode_domain):
14017         now non-static, used in glyphs.c.
14018         * specifier.c (specifier_instance):
14019         comment about the bogosity of image instances being domains.
14020         * specifier.c (Fgeneric_specifier_p):
14021         move doc string to make-generic-specifier.
14022         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14023         rebackslashify.
14024
14025         * specifier.h:
14026         * specifier.h (DOMAIN_FRAME):
14027         * specifier.h (DOMAIN_LIVE_P):
14028         * specifier.h (DOMAIN_XDEVICE):
14029         rebackslashify.
14030         add comments about problems with these macros.
14031         prototype for decode_domain.
14032
14033         * toolbar.c:
14034         * toolbar.c (Ftoolbar_specifier_p):
14035         move doc string to `make-toolbar-specifier'.
14036
14037         * window.c (window_unmap_subwindows_cache_mapper):
14038         *************************************************************
14039         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14040         HAVE BEEN GETTING.
14041         *************************************************************
14042
14043 2000-05-09  Andy Piper  <andy@xemacs.org>
14044
14045         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14046
14047         * window.c (Fset_window_configuration): reset the frame subwindow
14048         cache and re-initialize the window subwindow caches.
14049
14050         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14051
14052 2000-05-09  Ben Wing  <ben@xemacs.org>
14053
14054         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14055         DWORD.
14056
14057 2000-04-26  Mike Woolley  <mike@bulsara.com>
14058
14059         * ntheap.c: Changed recreate_heap to limit the amount reserved
14060         for the heap to that which is actually available. Also now
14061         displays a message box (with some dignostics) in the event that
14062         it still can't start.
14063
14064 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14065
14066         * callproc.c (Fold_call_process_internal): GCPRO path
14067
14068 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14069
14070         Patch by Bill Perry.
14071
14072         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14073         back data instead of #ifdef.
14074         (Fscrollbar_page_down): ditto.
14075
14076 2000-05-07  Ben Wing  <ben@xemacs.org>
14077
14078         * buffer.h:
14079         Kludge for defining Qmswindows_tstr.
14080
14081         * nt.c:
14082         * nt.c (open_input_file):
14083         * nt.c (open_output_file):
14084         * nt.c (rva_to_section):
14085         * nt.c (mswindows_executable_type):
14086         Move all memory-mapped-file routines here (some were in unexnt.c,
14087         which is bad because they are used by process-nt.c, and unexnt
14088         won't be around when portable dumping).  Synched the above routines
14089         with FSF 20.6.
14090
14091         * nt.h:
14092         Removed ifdef'd out bogus code.
14093         Fixed some prototypes.
14094
14095         * nt.h (file_data):
14096         * nt.h (OFFSET_TO_RVA):
14097         * nt.h (RVA_TO_OFFSET):
14098         * nt.h (RVA_TO_PTR):
14099         Moved the memory-mapped-file structures, macros and prototypes
14100         here, to parallel nt.c.  ntheap.h should really be removed
14101         entirely, and it's a non-portable-dumper specific file.
14102
14103         * ntheap.h (round_to_next):
14104         Moved the memory-mapped-file structures, macros and prototypes
14105         to nt.h.
14106
14107         * ntproc.c (compare_env):
14108         Moved rva_to_section and mswindows_executable_type to nt.c.
14109         Moved compare_env to process-nt.c.
14110         ntproc.c will die, one day.
14111
14112         * ntproc.c (sys_spawnve):
14113         Account for win32_ -> mswindows_.
14114
14115         * process-nt.c:
14116         * process-nt.c (struct nt_process_data):
14117         * process-nt.c (ensure_console_window_exists):
14118         * process-nt.c (compare_env):
14119         * process-nt.c (nt_create_process):
14120         * process-nt.c (nt_kill_process_by_pid):
14121         * process-nt.c (syms_of_process_nt):
14122         * process-nt.c (vars_of_process_nt):
14123         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14124         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14125         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14126         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14127         Move compare_env here from ntproc.c.
14128
14129         * process.c (Fprocess_send_region):
14130         Takes an optional fourth argument, BUFFER, which should fix some
14131         problems with call-process.
14132
14133         * syscommctrl.h:
14134         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14135
14136         * syswindows.h:
14137         Move ICC_BAR_CLASSES to syscommctrl.h.
14138         Add preliminary macros for MSWindows/Mule.  More to come.
14139
14140         * unexnt.c:
14141         * unexnt.c (unexec):
14142         open_output_file moved to nt.c.
14143
14144
14145 2000-05-05  Andy Piper  <andy@xemacs.org>
14146
14147         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14148         instance from the frame cache also since GC may catch up too late
14149         to make frame deletion sane.
14150
14151 2000-05-04  Andy Piper  <andy@xemacs.org>
14152
14153         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14154         (x_finalize_image_instance): ungcpro on deletion.
14155
14156         * glyphs.c (image_instantiator_format_create): give pointers a
14157         query geometry method so that the geometry is at least set.
14158
14159         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14160         initialize layouts if using widgets.
14161
14162 2000-05-03  Andy Piper  <andy@xemacs.org>
14163
14164         * nt.c: remove bogus reference to sysmmsystem.h
14165
14166         * gui-x.c (popup_selection_callback): fix no selection abort.
14167
14168 2000-05-02  Andy Piper  <andy@xemacs.org>
14169
14170         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14171         (mswindows_widget_instantiate): ditto.
14172
14173         * glyphs-widget.c (initialize_widget_image_instance): initialize
14174         children correctly.
14175         (widget_instantiate): cope with children and items in the same
14176         instance.
14177
14178         * glyphs.c (mark_image_instance): cope with children as a first
14179         class member.
14180         (image_instance_equal): ditto.
14181         (image_instance_hash): ditto.
14182         (image_instance_changed): ditto.
14183
14184 2000-04-30  Andy Piper  <andy@xemacs.org>
14185
14186         * glyphs.c (subwindow_query_geometry): new function. Return some
14187         defaults.
14188         (subwindow_instantiate): don't assign dimensions if none have been
14189         given.
14190         (image_instantiator_format_create): add subwindow_query_geometry.
14191         (print_image_instance): cope with layouts as widgets.
14192
14193 2000-04-29  Andy Piper  <andy@xemacs.org>
14194
14195         * frame.c (delete_frame_internal): call
14196         free_frame_subwindow_instance_cache so that all subwindows are
14197         finalized before their parent.
14198         (mark_frame): remove subwindow_cachels.
14199         (Fmake_frame): remove subwindow_cachel manipulation.
14200         (allocate_frame_core): subwindow_instance_cache is a weak list.
14201         (delete_frame_internal): set subwindow_instance_cache to nil.
14202
14203         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14204         finalization safe.
14205         (mswindows_finalize_image_instance): use the device
14206         not the domain as the domain may have died already.
14207
14208         * glyphs-x.c (x_finalize_image_instance): ditto.
14209         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14210         HEIGHT.
14211
14212         * redisplay-output.c (redisplay_unmap_subwindows): update for
14213         subwindow instance cache as a weak list.
14214         (redisplay_unmap_subwindows_maybe): ditto.
14215         (redisplay_unmap_subwindows_except_us): ditto.
14216
14217         * glyphs.c (unmap_subwindow): error checking will check the domain
14218         so don't deal with it here. Don't use cachels anymore.
14219         (map_subwindow): ditto.
14220         (update_subwindow_cachel_data): remove old accessor names.
14221         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14222         (Fresize_subwindow): don't update cachel.
14223         (mark_subwindow_cachels):
14224         (update_subwindow_cachel_data):
14225         (add_subwindow_cachel):
14226         (get_subwindow_cachel_index):
14227         (update_subwindow_cachel):
14228         (reset_subwindow_cachels):
14229         (mark_subwindow_cachels_as_not_updated): deleted.
14230         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14231         subwindow instance to the frame cache.
14232         (find_matching_subwindow): update for subwindow instance cache as
14233         a weak list.
14234         (update_widget_instances): ditto.
14235         (image_instance_type_to_mask):inlined.
14236         (free_frame_subwindow_instance_cache): new function. finalize all
14237         subwindows that are instantiated.
14238
14239         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14240         of cachel information.
14241         (IMAGE_INSTANCE_DISPLAY_X):
14242         (IMAGE_INSTANCE_DISPLAY_Y):
14243         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14244         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14245         (XIMAGE_INSTANCE_DISPLAY_X):
14246         (XIMAGE_INSTANCE_DISPLAY_Y):
14247         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14248         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14249         remove subwindow_cachel structure and function references.
14250         (image_instance_type_to_mask): inline from glyphs.c
14251
14252         * redisplay.c (redisplay_frame): remove subwindow_cachel
14253         references.
14254
14255         * frame.h (struct frame): remove subwindow_cachels.
14256         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14257
14258         * frameslots.h: add subwindow_instance_cache.
14259
14260         * window.c (replace_window): check subwindow cache of replacement.
14261         (window_unmap_subwindows_cache_mapper):
14262         (window_unmap_subwindows): new functions. Unmap all subwindows
14263         cached on this window.
14264         (mark_window_as_deleted): unmap all subwindows.
14265
14266 2000-04-27  Andy Piper  <andy@xemacs.org>
14267
14268         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14269
14270         * glyphs-widget.c (widget_layout): return something.
14271         (layout_layout): return something. Fail if not initialized.
14272         (layout_query_geometry): ditto.
14273         (image_instantiator_native_layout): new function. Initialized the
14274         native layout type.
14275         (widget_instantiate): don't do layout stuff here.
14276
14277         * glyphs.c (instantiate_image_instantiator): reorded calling or
14278         instantiate and post_instantiate with layout in between.
14279         (image_instance_layout): be more selective about deciding whether
14280         the layout has been done or not.
14281
14282         * glyphs.h (struct image_instantiator_methods): return a value
14283         from layout_method.
14284
14285 2000-04-26  Andy Piper  <andy@xemacs.org>
14286
14287         * glyphs.c (allocate_image_instance): make initial width and
14288         height unspecified. Set initialized to 0.
14289
14290         * syscommctrl.h new file. Encapsulates commctrl.h.
14291
14292         * syswindows.h new file. Encapsulates windows.h.
14293
14294         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14295         * nt.c: ditto.
14296         * console-msw.h: ditto.
14297
14298         * redisplay-tty.c (tty_output_display_block): remove layout references.
14299
14300         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14301         window handle rather than just the frame.
14302
14303         * glyphs.c (mark_image_instance): remove layout references.
14304         (print_image_instance): ditto.
14305         (image_instance_equal): ditto.
14306         (image_instance_hash): ditto.
14307         (decode_image_instance_type): ditto.
14308         (encode_image_instance_type): ditto.
14309         (image_instantiate): ditto.
14310         (allocate_glyph): ditto.
14311         (Fimage_instance_height): ditto.
14312         (Fimage_instance_width): ditto.
14313         (update_subwindow): ditto.
14314
14315         * redisplay-x.c (x_output_display_block): recode for layouts as
14316         widgets.
14317
14318         * redisplay-output.c (redisplay_output_layout): recode for layouts
14319         as widgets.
14320         (compare_runes): remove layout references.
14321
14322         * redisplay-msw.c (mswindows_output_display_block): recode for
14323         layouts as widgets.
14324
14325         * glyphs-widget.c (image_instantiator_layout): remove
14326         layout_possible_dest_types.
14327         (layout_possible_dest_types): deleted.
14328
14329         * glyphs.h (image_instance_type): remove layout references.
14330         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14331         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14332         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14333
14334 2000-04-25  Andy Piper  <andy@xemacs.org>
14335
14336         * glyphs-widget.c (image_instantiator_buttons):
14337         (image_instantiator_edit_fields):
14338         (image_instantiator_combo_box):
14339         (image_instantiator_scrollbar):
14340         (image_instantiator_progress_guage):
14341         (image_instantiator_tree_view):
14342         (image_instantiator_tab_control):
14343         (image_instantiator_labels):
14344         (image_instantiator_layout): call default post_instantiate method.
14345         (widget_post_instantiate): new function. Simply lays out the
14346         widgets.
14347
14348         * glyphs.h (struct image_instantiator_methods): add
14349         post_instantiate method.
14350
14351         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14352         method calls.
14353
14354 2000-04-23  Andy Piper  <andy@xemacs.org>
14355
14356         * glyphs.h (struct image_instantiator_methods): add
14357         decode_domain_method.
14358         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14359         derived from the domain.
14360         (IMAGE_INSTANCE_FRAME): new accessor.
14361         (XIMAGE_INSTANCE_FRAME): ditto.
14362
14363         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14364         instead of _SUBWINDOW_FRAME.
14365         (finalize_image_instance): ditto.
14366         (Fimage_instance_foreground): ditto.
14367         (Fimage_instance_background): ditto.
14368         (image_instantiate): ditto.
14369         (update_subwindow_cachel): ditto.
14370         (update_subwindow): ditto.
14371         (unmap_subwindow): ditto.
14372         (map_subwindow): ditto
14373         (subwindow_instantiate): ditto.
14374         * glyphs-msw.c (mswindows_update_widget): ditto.
14375         (mswindows_progress_gauge_instantiate): ditto.
14376         (mswindows_tab_control_update): ditto.
14377         * glyphs-x.c (x_update_widget): ditto.
14378         (x_widget_instantiate): ditto.
14379         (x_tab_control_instantiate): ditto.
14380         (x_tab_control_update): ditto.
14381         * event-msw.c (mswindows_wnd_proc): ditto
14382
14383         * glyphs-widget.c (image_instantiator_layout): use
14384         subwindow_decode_domain.
14385         (image_instantiator_buttons): ditto.
14386         (image_instantiator_edit_fields): ditto.
14387         (image_instantiator_combo_box): ditto.
14388         (image_instantiator_scrollbar): ditto.
14389         (image_instantiator_progress_guage): ditto.
14390         (image_instantiator_tree_view): ditto.
14391         (image_instantiator_tab_control): ditto.
14392         (image_instantiator_labels): ditto.
14393         (image_instantiator_layout): ditto.
14394
14395         * glyphs.c: add instance error checking to many functions.
14396         (instantiate_image_instantiator): decode device from cache_domain.
14397         (image_instantiate): partially rewrite by using
14398         decode_image_instantiator_domain to determine what domain the
14399         instance needs to be cached in.
14400         (decode_image_instantiator_domain): new function. Determine what
14401         domain the image needs to be cached in.
14402         (check_window_subwindow_cache): new error checking function.
14403         (check_instance_cache_mapper): ditto.
14404         (check_image_instance_structure): ditto.
14405         (subwindow_decode_domain): new function. Encodes a window as a
14406         subwindow's cache domain.
14407         (image_instantiator_format_create): use it for text and
14408         subwindows.
14409
14410 2000-04-21  Andy Piper  <andy@xemacs.org>
14411
14412         * glyphs.c (image_instance_device): new function.
14413         (image_instance_frame): new function.
14414         (image_instance_window): new function.
14415         (image_instance_live_p): new function.
14416
14417         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14418         cache to nil.
14419
14420         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14421         (IMAGE_INSTANCE_DOMAIN): new accessor.
14422         (XIMAGE_INSTANCE_DOMAIN): ditto.
14423
14424         * glyphs-x.c (x_finalize_image_instance): device->domain.
14425
14426         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14427         (mswindows_finalize_image_instance): ditto.
14428
14429         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14430         (gif_instantiate): ditto.
14431         (png_instantiate): ditto.
14432         (tiff_instantiate): ditto.
14433
14434         * glyphs.c (instantiate_image_instantiator): use domain rather
14435         than device.
14436         (mark_image_instance): device -> domain.
14437         (print_image_instance): ditto.
14438         (finalize_image_instance): ditto.
14439         (image_instance_equal): ditto.
14440         (allocate_image_instance): ditto.
14441         (Fcolorize_image_instance): ditto.
14442         (query_string_geometry): ditto.
14443         (image_instantiate): ditto
14444         (query_string_font): ditto.
14445         (image_instantiate): ditto.
14446         (update_subwindow): ditto.
14447         (unmap_subwindow): ditto.
14448         (map_subwindow): ditto.
14449         (subwindow_instantiate): ditto.
14450
14451         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14452         (DOMAIN_FRAME): ditto.
14453         (DOMAIN_WINDOW): ditto.
14454         (DOMAIN_LIVE_P): ditto.
14455         (XDOMAIN_DEVICE): ditto.
14456         (XDOMAIN_FRAME): ditto.
14457         (XDOMAIN_WINDOW): ditto.
14458
14459         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14460         a valid specifier domain.
14461
14462 2000-04-19  Andy Piper  <andy@xemacs.org>
14463
14464         * glyphs-widget.c (syms_of_glyphs_widget): remove
14465         widget-callback-current-channel.
14466         (vars_of_glyphs_widget): ditto.
14467         * glyphs.h: ditto
14468
14469         * gui.c (get_gui_callback): revert to previous behaviour.
14470
14471 2000-04-18  Andy Piper  <andy@xemacs.org>
14472
14473         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14474         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14475         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14476
14477         * glyphs.c (image_instance_equal): add margin_width.
14478         (image_instance_hash): ditto.
14479
14480         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14481         (layout_query_geometry): ditto.
14482         (layout_layout): ditto.
14483         (syms_of_glyphs_widget): add margin-width.
14484         (image_instantiator_layout): allow margin-width.
14485
14486         * glyphs.c (update_widget_instances): make a normal function.
14487         (syms_of_glyphs): remove Qupdate_widget_instances.
14488         * glyphs.h: ditto.
14489
14490         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14491         so that we don't corrupt ideas about the last event or
14492         command. Remove widget-callback-current-channel fiddling.
14493         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14494
14495 2000-05-01  Martin Buchholz <martin@xemacs.org>
14496
14497         * XEmacs 21.2.33 is released.
14498
14499 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14500
14501         * make-src-depend: Allow dots in header file name.
14502
14503 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14504
14505         * mule-charset.h (struct charset_lookup): Add
14506         next_allocated_1_byte_leading_byte and
14507         next_allocated_2_byte_leading_byte.
14508         * mule-charset.c: Move above two variables so that those values
14509         will be dumped.
14510
14511 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14512
14513         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14514         when string length is zero.
14515         (find_charsets_in_emchar_string): Ditto.
14516
14517 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14518
14519         * lisp.h: extern Qdialog and Qmenubar.
14520
14521         * gui-x.c: added events.h.
14522                 also fixed typo which made the file uncompilable.
14523
14524         * general.c: Added Qmenubar and Qdialog
14525
14526 2000-04-28  Ben Wing  <ben@xemacs.org>
14527
14528         * frame-msw.c (mswindows_init_frame_1):
14529         * frame-msw.c (mswindows_mark_frame):
14530         * event-msw.c (mswindows_enqueue_dispatch_event):
14531         * console-msw.h:
14532         * console-msw.h (struct mswindows_frame):
14533         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14534         there are now three hash tables for callbacks.
14535         mswindows_enqueue_dispatch_event is no longer static.
14536
14537         * dialog-x.c (maybe_run_dbox_text_callback):
14538         * dialog-x.c (dbox_descriptor_to_widget_value):
14539         switch to new cons3 form for callbacks.
14540
14541         * glyphs-msw.c (mswindows_register_gui_item):
14542         * glyphs-msw.c (mswindows_widget_instantiate):
14543         * glyphs-msw.c (add_tree_item):
14544         * glyphs-msw.c (add_tab_item):
14545         new image instance parameter, so it can be passed to callback-ex.
14546         respect :callback-ex as well as :callback.
14547
14548         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14549         add :callback-ex.
14550
14551         * glyphs.c (print_image_instance):
14552         prettify, e.g. now prints widget type.
14553
14554         * gui-x.h:
14555         certain funs have new image instance parameter.
14556
14557         * gui.c:
14558         * gui.c (get_gui_callback):
14559         * gui.c (gui_item_add_keyval_pair):
14560         * gui.c (gui_item_init):
14561         * gui.c (gui_add_item_keywords_to_plist):
14562         * gui.c (mark_gui_item):
14563         * gui.c (gui_item_hash):
14564         * gui.c (gui_item_equal):
14565         * gui.c (copy_gui_item):
14566         * gui.c (syms_of_gui):
14567         recognize callback-ex in a number of places.
14568         also, fix the annoying "can't get out of yes-no dialog" bug.
14569
14570         * gui.h:
14571         * gui.h (struct Lisp_Gui_Item):
14572         recognize callback-ex in a number of places.
14573
14574         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14575         new parameter in button_item_to_widget_value.
14576
14577         * glyphs-x.c (x_update_widget):
14578         * glyphs-x.c (x_button_instantiate):
14579         * glyphs-x.c (x_button_update):
14580         * glyphs-x.c (x_progress_gauge_instantiate):
14581         * glyphs-x.c (x_edit_field_instantiate):
14582         * glyphs-x.c (x_combo_box_instantiate):
14583         * glyphs-x.c (x_tab_control_instantiate):
14584         * glyphs-x.c (x_label_instantiate):
14585         new image instance parameter in various places.
14586
14587         * event-Xt.c:
14588         * event-Xt.c (enqueue_Xt_dispatch_event):
14589         this fun gets exported.
14590
14591         * gui-msw.c:
14592         * gui-msw.c (mswindows_handle_gui_wm_command):
14593         handle both :callback and :callback-ex, and generate our own
14594         event because it's one of the callback-ex arguments.
14595
14596         * gui-x.c:
14597         * gui-x.c (popup_selection_callback):
14598         handle both :callback and :callback-ex, and generate our own
14599         event because it's one of the callback-ex arguments.
14600         * gui-x.c (button_item_to_widget_value):
14601         * gui-x.c (gui_items_to_widget_values_1):
14602         * gui-x.c (gui_item_children_to_widget_values):
14603         * gui-x.c (gui_items_to_widget_values):
14604         new image instance parameter in various places.
14605
14606         * fns.c (Freplace_list):
14607         fix small typo in doc string.
14608
14609         * lisp.h:
14610         declare enqueue_Xt_dispatch_event.
14611
14612 2000-04-28  Ben Wing  <ben@xemacs.org>
14613
14614         * buffer.c:
14615         * buffer.c (Frecord_buffer):
14616         * buffer.c (syms_of_buffer):
14617         delete record-buffer-hook.
14618
14619         * fns.c:
14620         * fns.c (Freplace_list):
14621         * fns.c (syms_of_fns):
14622         new primitive replace-list.
14623
14624         * frameslots.h:
14625         slot for old buffer-alist.
14626
14627         * lisp.h:
14628         exfun replace-list.
14629
14630         * redisplay.c:
14631         * redisplay.c (redisplay_frame):
14632         * redisplay.c (syms_of_redisplay):
14633         * redisplay.c (vars_of_redisplay):
14634         new hook buffer-list-changed-hook.
14635         call it.
14636
14637 2000-04-27  Ben Wing  <ben@xemacs.org>
14638
14639         * extents.h: extern in_modeline_generation.
14640
14641         * redisplay.c (generate_formatted_string_db): set
14642         in_modeline_generation.
14643
14644         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14645         flags if in modeline generation.  otherwise frame-modified-tick
14646         is ticked far too often.
14647         Declare in_modeline_generation.
14648
14649 2000-04-26  Ben Wing  <ben@xemacs.org>
14650
14651         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14652         option.
14653         (vars_of_emacs): add quick-build as an error-checking option.
14654         A bit kludgy, but there doesn't seem much point in creating
14655         a real var for this.
14656
14657         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14658
14659 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14660
14661         * redisplay.h (struct display_line): Add a new variable,
14662         line_continuation.
14663
14664         * redisplay.c (create_text_block): Set dl->line_continuation if
14665         the line continues.
14666         (create_string_text_block): Ditto.
14667         (regenerate_window_incrementally): Use line_continuation instead
14668         of searching continuation glyph.
14669         (add_margin_runes): Call add_glyph_rune.
14670         (add_glyph_rune): Handle margin glyph.
14671
14672 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14673
14674         * filelock.c (fill_in_lock_file_name):
14675         ANSIfy.
14676         Check for IS_ANY_SEP instead of '/'.
14677         (lock_file_1):
14678         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14679         Never check errno without first seeing that system call failed.
14680         (unlock_file): Add GCPRO.
14681         (Flock_buffer): Fix docstring.
14682         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14683
14684 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14685
14686         * sysdep.c (get_pty_max_bytes):
14687         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14688         strings longer than 252 bytes.
14689
14690         * md5.c: Unconditionally include ANSI header <limits.h>
14691
14692         * glyphs-x.c (convert_EImage_to_XImage):
14693         * lisp-union.h (union Lisp_Object):
14694         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14695
14696 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14697
14698         * filelock.c (current_lock_owner): Remove unused variable o, p.
14699
14700 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14701
14702         * callint.c: Remove multiply defined symbol Qlet
14703         (syms_of_callint): ditto.
14704
14705 2000-04-14  Andy Piper  <andy@xemacs.org>
14706
14707         * general.c (syms_of_general): add last-command, this-command, let
14708         and funcall.
14709
14710         * lisp.h: declare various symbols.
14711
14712         * glyphs.h: declare Qwidget_callback_current_channel;
14713
14714         * glyphs-widget.c (syms_of_glyphs_widget): add
14715         Qgui_callback_current_channel.
14716         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14717
14718         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14719         widget-callback-current-channel when invoking the interactive
14720         arg. Also bind last-command and next-command when invoking the
14721         widget updates.
14722         * gui-x.c (popup_selection_callback): ditto.
14723
14724         * gui.c (get_gui_callback): massage args so that we are always
14725         calling eval. This allows us to add our own variable bindings
14726         outside.
14727
14728         * glyphs-x.c (x_button_instantiate): use
14729         gui_items_to_widget_values since this is GC safe.
14730         (x_progress_gauge_instantiate): ditto.
14731         (x_edit_field_instantiate): ditto.
14732         (x_label_instantiate): ditto.
14733
14734         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14735         (emacs_Xt_event_widget_focus_out): new function
14736         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14737         focus.
14738         (emacs_Xt_event_add_widget_actions): new function. add focus
14739         functions as actions.
14740         (init_event_Xt_late): use it.
14741
14742 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14743
14744         * event-stream.c (Fdispatch_event): Doc fix.
14745
14746 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14747
14748         * postgresql.c: Remove all references to PQsetenv*.
14749
14750         * postgresql.h: Remove references to PGsetenvHandler object.
14751         * lrecord.h (lrecord_type): Ditto.
14752
14753 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14754
14755         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14756         real_heigh and real_width members, and accessor macros for these.
14757
14758         * glyphs-msw.c (init_image_instance_geometry): New function.
14759         (init_image_instance_from_dibitmap): Use it.
14760         (mswindows_resource_instantiate): Use it.
14761         (init_image_instance_from_xbm_inline): Use it.
14762         (mswindows_initialize_image_instance_mask): Use real bitmap
14763         geometry.
14764         (mswindows_create_resized_bitmap): Ditto.
14765         (mswindows_create_resized_mask): Ditto.
14766
14767         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14768         and bitmap to their surface size.
14769
14770 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14771
14772         * process-unix.c (unix_send_process): Guard against process MIA
14773         after Faccept_process_output.
14774
14775 2000-04-11  Ben Wing  <ben@xemacs.org>
14776
14777         * eval.c (unbind_to_hairy): fix brokenness introduced by
14778         nanosecond speed improvements.
14779
14780 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14781
14782         * sunplay.c (init_device): To play sounds correctly, the device
14783         apparently needs to be initialized at least once by XEmacs.  Make
14784         it so.
14785
14786 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14787
14788         * redisplay.c (add_margin_runes): Add text image glyph
14789           handling.
14790
14791 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14792
14793         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14794         gcc is newer than 2.5.
14795
14796 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14797
14798         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14799
14800         * fns.c (size_bit_vector):
14801         * alloc.c (size_vector):
14802         (make_vector_internal):
14803         (make_bit_vector_internal):
14804         (sweep_bit_vectors_1):
14805         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14806
14807 2000-04-06  Andy Piper  <andy@xemacs.org>
14808
14809         * gmalloc.c (malloc): undo previous change.
14810         (malloc): ditto.
14811         (free): ditto.
14812         (realloc): ditto.
14813
14814 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14815
14816         * line-number.c (buffer_line_number): Revert to former version.
14817
14818 2000-04-06  Andy Piper  <andy@xemacs.org>
14819
14820         * gmalloc.c (malloc): add error checking.
14821         (malloc): ditto.
14822         (free): ditto.
14823         (realloc): ditto.
14824
14825         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14826         button_item_to_widget_value arg.
14827
14828         * glyphs-x.c (x_button_instantiate): add extra
14829         button_item_to_widget_value arg.
14830         (x_progress_gauge_instantiate): ditto.
14831         (x_edit_field_instantiate): ditto.
14832         (x_label_instantiate): ditto.
14833
14834         * gui-x.c (gui_items_to_widget_values_1): add extra
14835         button_item_to_widget_value arg.
14836         (button_item_to_widget_value): add extra menu_item_p arg.
14837
14838         * gui-x.h: change signature of button_item_to_widget_value.
14839
14840         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14841         button_item_to_widget_value arg.
14842
14843 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14844
14845         * buffer.h (struct buffer): auto_save_modified should be long.
14846
14847 2000-04-05  Andy Piper  <andy@xemacs.org>
14848
14849         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14850         type.
14851         (button_query_geometry): give a little more room so that athena
14852         buttons fit.
14853
14854 2000-04-05  Andy Piper  <andy@xemacs.org>
14855
14856         * faces.c (complex_vars_of_faces): The widget face should inherit
14857         the font of the gui-element face.
14858
14859 2000-04-04  Andy Piper  <andy@xemacs.org>
14860
14861         * glyphs-x.c (x_button_update): new function. unconditionally
14862         update a button's state when the instance is dirty.
14863         (image_instantiator_format_create_glyphs_x): add x_button_update.
14864         (x_widget_instantiate): remove old resize cruft.
14865
14866 2000-04-02  Andy Piper  <andy@xemacs.org>
14867
14868         * frame.c (change_frame_size_1): The introduction of gutters means
14869         that we need to allow 0 as a potential frame dimension.
14870
14871 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14872
14873         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14874         image glyph if allow_cursor.
14875         (add_hscroll_rune): Don't allow cursor to border glyph.
14876         (create_text_block): Ditto.
14877
14878         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14879         text not in buffer.
14880         (redisplay_output_layout): Call ensure_face_cachel_complete for
14881         text image glyph.
14882
14883
14884 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14885
14886         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14887
14888         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14889         not in buffer
14890
14891         * redisplay-tty.c (tty_output_display_block): Delete the routine
14892         for text image glyph
14893         * redisplay-x.c (x_output_display_block): ditto
14894         * redisplay-msw.c (mswindows_output_display_block): ditto
14895
14896 2000-02-02  Mike Alexander  <mta@arbortext.com>
14897
14898         Note: Some of these were committed by accident as part of other
14899         patches.
14900
14901         * regex.c (regex_compile): Avoid compiler warnings.
14902
14903         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14904
14905         * nt.h: Declare term_ntproc correctly.
14906
14907         * nt.c: Remove incorrect declaration of get_home_directory which
14908         is declared correctly in lisp.h.
14909
14910         * keymap.c (get_keyelt): Avoid compiler warnings.
14911         (raw_lookup_key_mapper): Avoid compiler warnings.
14912
14913         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14914
14915         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14916
14917         * filemode.c (mode_string): Avoid compiler warnings.
14918
14919         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14920         avoid warning.
14921
14922         * events-mod.h: Undef some things that winuser.h defines differently.
14923
14924         * data.c (Faset): Avoid compiler warnings.
14925
14926         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14927
14928 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14929
14930         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14931         Fall through to simple beep on error.
14932         Replace "extern" by real header file.
14933
14934         * linuxplay.c: Use nativesound.h
14935         (play_sound_data): Return error code. Be less verbose on error.
14936
14937         * sunplay.c: Use nativesound.h
14938         (play_sound_data): Return error code. Be less verbose on error.
14939
14940         * ntplay.c: Use nativesound.h
14941         (play_sound_data): Return fake error code
14942
14943         * sgiplay.c: Use nativesound.h
14944         (play_sound_data): Return error code
14945
14946         * hpplay.c: Use nativesound.h, partially implement
14947         new error code. Break compilation until finished.
14948         (play_sound_data): error code.
14949
14950         * nativesound.h (play_sound_file):
14951           (play_sound_data): Prototype in new header.
14952
14953 2000-03-31  Andy Piper  <andy@xemacs.org>
14954
14955         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14956         for toggle and radio buttons.
14957         (image_instantiator_buttons): use it.
14958
14959 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14960
14961         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14962         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14963         found. Scrollbar event probably belonged to some old config.
14964
14965 2000-03-31  Andy Piper  <andy@xemacs.org>
14966
14967         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14968         than 1.
14969         (initialize_widget_image_instance): default layout to
14970         LAYOUT_HORIZONTAL rather than 0.
14971         (widget_instantiate): reverse the item list at the end rather than
14972         every iteration.
14973         (layout_layout): re-code for the border text at the front of the
14974         item list rather than at the end.
14975         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14976         provided by the user.
14977         (widget_query_geometry): comment.
14978
14979 2000-03-30  Andy Piper  <andy@xemacs.org>
14980
14981         * glyphs-widget.c (image_instantiator_layout): allow standard
14982         widget keywords in layouts.
14983
14984         * gutter.c (output_gutter): cope with nil gutter contents.
14985
14986         * frame.c (Fset_frame_properties): add gutter docs.
14987
14988 2000-03-29  Andy Piper  <andy@xemacs.org>
14989
14990         * toolbar-msw.c (TBSTYLE_FLAT): add.
14991         (mswindows_output_toolbar): minor fiddling.
14992
14993 2000-03-29  Andy Piper  <andy@xemacs.org>
14994
14995         * gutter.c (output_gutter): force gutter size recalculation if
14996         what we are trying to display won't fit.
14997         (update_gutter_geometry): new function. A per-gutter version of
14998         update_frame_gutter_geometry.
14999         (update_frame_gutter_geometry): use it.
15000         (redraw_exposed_gutter): add extra debugging output.
15001
15002 2000-03-28  Mike Alexander  <mta@arbortext.com>
15003
15004         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15005         (pdump_file_unmap): Implement it on Windows
15006         (pdump_file_get): Save alocated handles for pdump_file_unmap
15007
15008 2000-03-28  Andy Piper  <andy@xemacs.org>
15009
15010         * gui.c (get_gui_callback): treat Quit specially.
15011
15012 2000-03-27  Andy Piper  <andy@xemacs.org>
15013
15014         * glyphs.c (image_instantiate): be careful to check in the same
15015         way we assigned.
15016
15017 2000-03-27  Didier Verna  <didier@xemacs.org>
15018
15019         * config.h.in: define the proper SMART_INCLUDE macro.
15020         handle renaming of `foo_h_path' to `foo_h_file'.
15021
15022         * database.c: ditto.
15023
15024         * emacs.c: ditto.
15025
15026         * linuxplay.c: ditto.
15027
15028         * terminfo.c: ditto.
15029
15030         * tooltalk.h: ditto.
15031
15032 2000-03-27  Andy Piper  <andy@xemacs.org>
15033
15034         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15035         gets updated whenever the face might have changed.
15036
15037 2000-03-26  Mike Alexander  <mta@arbortext.com>
15038
15039         * dumper.c (pdump_resource_free): Fix the comment.
15040
15041 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15042
15043         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15044
15045 2000-03-22  Mike Alexander  <mta@arbortext.com>
15046
15047         * dumper.c: Include Windows headers on Windows
15048         (pdump_resource_free): Add a body to the function
15049         (pdump_load): exe_name -> exe_path and add some comments.
15050
15051 2000-03-25  Mike Alexander  <mta@arbortext.com>
15052
15053         * gui.c (copy_gui_item_tree): Return a value in all cases
15054
15055 2000-03-21  Didier Verna  <didier@xemacs.org>
15056
15057         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15058         lwlib/config.h.in.
15059         (SMART_INCLUDE): new macro.
15060         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15061         the proper location.
15062
15063         * postgresql.c: use it.
15064
15065         * inline.c: ditto.
15066
15067 2000-03-24  Andy Piper  <andy@xemacs.org>
15068
15069         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15070         do this.
15071
15072 2000-03-24  Andy Piper  <andy@xemacs.org>
15073
15074         * redisplay-output.c (compare_runes): use image_instance_changed
15075         to detect changes. Do not depend on glyphs_changed, only depend on
15076         dirtiness.
15077          (redisplay_output_layout): add debug messages.
15078         (compare_runes): ditto.
15079
15080         * glyphs.h: declare new functions.
15081         (struct Lisp_Image_Instance): remove percent and associated
15082         accessors.
15083
15084         * gui.h: declare new copying functions.
15085
15086         * gui.c (copy_gui_item_tree): new function.
15087         (copy_gui_item): new function.
15088         (gui_item_id_hash): revert to standard hash.
15089         (gui_item_hash): ditto.
15090         (gui_item_hash_internal): deleted.
15091         (mark_gui_item): mark value.
15092         (gui_item_add_keyval_pair): add value.
15093         (gui_item_init): ditto.
15094         (gui_add_item_keywords_to_plist): ditto.
15095         (gui_item_equal): ditto.
15096         (syms_of_gui): add Q_value.
15097
15098         * glyphs-x.c (x_progress_gauge_update): use pending items and
15099         value for setting the state.
15100         (x_update_widget): don't set items from pending here.
15101
15102         * glyphs-widget.c (update_widget): update items here.
15103         (progress_gauge_set_property): use items for storing value. Put
15104         new value in pending items.
15105
15106         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15107         items for new value. Convert percent -> value.
15108         (mswindows_tab_control_update): don't update items here.
15109
15110         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15111         (update_subwindow): ditto.
15112         (image_instance_changed): new function. Compare hash values and
15113         past and present widget items.
15114         (image_instantiate): We more careful about where we instantiate
15115         things.
15116         (image_instantiate): add error checking.
15117
15118         * gutter.c (syms_of_gutter): use -hook.
15119
15120 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15121
15122         * console-tty.c (Fset_console_tty_input_coding_system): Use
15123         Qkeyboard.
15124         (Fset_console_tty_output_coding_system): Use Qterminal.
15125         (tty_init_console): Use Qkeyboard and Qterminal.
15126
15127 2000-03-21  Ben Wing  <ben@xemacs.org>
15128
15129         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15130         From Mike Alexander <mta@arbortext.com>.
15131
15132 2000-03-21  Ben Wing  <ben@xemacs.org>
15133
15134         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15135         process brokenness.  Proper implementation to come.
15136         * callproc.c:
15137         Rename call-process-internal to old-call-process-internal.
15138         New impl. in process.el.
15139
15140 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15141
15142         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15143
15144 2000-03-20  Andy Piper  <andy@xemacs.org>
15145
15146         * glyphs.c (full_list_hash): make hashes of the same elements in
15147         different orders return different values.
15148
15149 2000-03-20  Martin Buchholz <martin@xemacs.org>
15150
15151         * XEmacs 21.2.32 is released.
15152
15153 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15154
15155         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15156         (DFC_MALLOC_USE_CONVERTED_DATA):
15157         Add aliasing-safe casts to allow use with char* or unsigned char*
15158         lvalues.
15159
15160         * eldap.c (Fldap_open):
15161         (Fldap_search_basic):
15162         (Fldap_add):
15163         (Fldap_modify):
15164         Make C++-compilable.
15165         Make sure GCPRO'ed variables are initialized.
15166         Use temp variables to avoid repeated calls to Flength.
15167
15168 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15169
15170         * sysfile.h:
15171         Make sure PATH_MAX is always defined.
15172         Include limits.h for PATH_MAX.
15173         Deprecate use of MAXPATHLEN.
15174
15175 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15176
15177         * emacs.c: Add reinit_vars_of_fileio.
15178         * symsinit.h: Add reinit_vars_of_fileio.
15179         * fileio.c (reinit_vars_of_fileio): New.
15180         * fileio.c (Fmake_temp_name):
15181         Initialize temp_name random number from microseconds to make
15182         collisions even less likely.  Initialize always at process startup
15183         time.  (make-temp-name) used to return the same file name twice in
15184         a row when PDUMP.
15185         Random stylistic fiddling.
15186         Comment fixes.
15187
15188 2000-03-20  Andy Piper  <andy@xemacs.org>
15189
15190         * glyphs.c (image_instantiate): allow text glyphs to be
15191         instantiated in the minibuffer window.
15192
15193 2000-03-19  Andy Piper  <andy@xemacs.org>
15194
15195         * glyphs.c (image_instance_hash): be careful about which items we
15196         hash on.
15197
15198         * glyphs-widget.c (tab_control_set_property): record into pending
15199         items rather than the actual items.
15200
15201         * glyphs-x.c (x_update_widget): use pending items to update with.
15202
15203         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15204         to update with.
15205
15206         * glyphs.c (mark_image_instance): mark pending items.
15207
15208         * window.c (Fset_window_configuration): record the buffer.
15209         (Fselect_window): totally revert previous change which breaks many
15210         things.
15211
15212 2000-03-18  Andy Piper  <andy@xemacs.org>
15213
15214         * glyphs-msw.c (mswindows_tab_control_update): force selected
15215         item.
15216
15217         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15218         window domain cache, otherwise we get inconsistencies at
15219         startup. There is something fishy at startup which can lead to the
15220         minibuffer being the selected window when the gutter content is
15221         instantiated.
15222
15223         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15224         gcpros.
15225         (parse_gui_item_tree_children): ditto.
15226         (parse_gui_item_tree_item): ditto.
15227
15228         * glyphs.c (Fupdate_widget_instances): return something.
15229
15230 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15231
15232         * window.c (Fselect_window): Undo 2000-03-17 change.
15233
15234 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15235
15236         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15237         against v7.0 libraries.  Insta-coredump city until the postgres
15238         folks fix it.
15239
15240 2000-03-17  Andy Piper  <andy@xemacs.org>
15241
15242         * faces.c (complex_vars_of_faces): don't give the widget face an
15243         inherited background pixmap.
15244
15245         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15246         selected item.
15247
15248         * event-stream.c (Fdispatch_non_command_events): return something.
15249
15250         * gutter.c (output_gutter): use widget face.
15251         (clear_gutter): ditto.
15252
15253         * NEWS: adjust again.
15254
15255         * window.c (Fselect_window): make sure this runs to completion to
15256         avoid oddities with Fset_window_configuration.
15257         (Fcurrent_window_configuration): in general do not save the
15258         minibuffer as the selected window.
15259
15260         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15261
15262 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15263
15264         * emacs.c (Frunning_temacs_p): Revert previous patch.
15265         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15266
15267 2000-03-16  Andy Piper  <andy@xemacs.org>
15268
15269         * glyphs-x.c (x_tab_control_update): if no widget values then
15270         return.
15271
15272         * NEWS: update for new features.
15273
15274         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15275         synthetic event to the native system.
15276         (reinit_vars_of_event_Xt): set force_event_pending to
15277         emacs_Xt_force_event_pending.
15278
15279         * events.h (struct event_stream): add force_event_pending.
15280
15281         * specifier.c (recompute_one_cached_specifier_in_window): add
15282         comment.
15283
15284         * redisplay.c (redisplay_frame): don't call
15285         update_frame_subwindows. Reset subwindow cachels when
15286         subwindows_changed, removing this was an optimization too far.
15287
15288         * redisplay-output.c (compare_runes): reorganize so that we catch
15289         glyph changes when we want them. Set optimize_output when this
15290         would help layouts.
15291         (redisplay_output_layout): remove frame_really_changed, use
15292         optimize_output instead.
15293
15294         * redisplay-msw.c (mswindows_output_display_block): reset
15295         optimize_output after outputting a glyph.
15296         * redisplay-x.c (x_output_display_block): ditto.
15297         * redisplay-tty.c (tty_output_display_block): ditto.
15298
15299         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15300         functions.
15301         (gutter_specs_changed): do specific gutter positions.
15302         (top_gutter_specs_changed): new function. Only update the
15303         specified gutter specs.
15304         (bottom_gutter_specs_changed): ditto.
15305         (left_gutter_specs_changed): ditto.
15306         (right_gutter_specs_changed): ditto.
15307
15308         * gui.c (gui_item_hash_internal): new function, does a real hash.
15309         (gui_item_id_hash): use it.
15310         (gui_item_hash): hash the eval'ed gui_item.
15311
15312         * gui-x.c (popup_selection_callback): send an eval event to call
15313         Fupdate_widget_instances.
15314
15315         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15316         to call Fupdate_widget_instances.
15317
15318         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15319         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15320
15321         * glyphs.c: (update_frame_subwindows): deleted.
15322         (Fupdate_widget_instances): new function for updating the dirty
15323         state of widgets that might have changed.
15324         (syms_of_glyphs): add Qupdate_widget_instances.
15325         (full_list_hash): hash a list completely.
15326         (image_instance_hash): use it for items and properties.
15327
15328         * frame-msw.c (mswindows_size_frame_internal): remove unused
15329         variable.
15330
15331         * faces.h (struct face_cachel): fix comment.
15332
15333         * event-stream.c (Fdispatch_non_command_events): new
15334         function. Process non-command events, forcing an event cycle
15335         beforehand.
15336         (syms_of_event_stream): declare.
15337         (event_stream_force_event_pending): new function. Force an event
15338         on the native event queue so that an event cycle will occur next
15339         time we check.
15340
15341         * event-msw.c:
15342         (struct ntpipe_shove_stream):
15343         (mswindows_enqueue_dispatch_event):
15344         (mswindows_dequeue_dispatch_event):
15345         (mswindows_cancel_dispatch_event):
15346         (mswindows_pump_outstanding_events):
15347         (mswindows_drain_windows_queue):
15348         (mswindows_handle_paint):
15349         (mswindows_wnd_proc):
15350         (mswindows_key_to_emacs_keysym):
15351         (get_process_input_waitable):
15352         (emacs_mswindows_delete_stream_pair): re-indent file.
15353         (mswindows_need_event): do not process further fds if the windows
15354         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15355         fixes the 100% cpu problem.
15356         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15357
15358 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15359
15360         * alloc.h: New.
15361         * dumper.h: New.
15362         * dumper.c: New.
15363
15364         * emacs.c: Moved dump file searching to dumper.c.
15365         (Frunning_temacs_p): Fixed.
15366
15367         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15368         last_lrecord_type_index_assigned.
15369
15370 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15371
15372         * symsinit.h: Added reinit parameter to init_console_stream
15373         declaration.
15374
15375         * lisp.h: Added file parameter to pdump_load declaration.
15376
15377         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15378         support.  Added dump file searching.
15379
15380         * config.h.in: Added EMACS_PROGNAME.
15381
15382         * console-stream.c (init_console_stream): Fix reinitialisation
15383         when running from temacs.
15384
15385         * alloc.c (pdump): Add id support.
15386         (pdump_load): Add file parameter and signature/id support.
15387
15388         * Makefile.in.in: Add full pdump support.
15389
15390 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15391
15392         * postgresql.c: Update documentation to reflect latest code
15393         status.
15394         (print_result): Show tuple counts in printed representation when
15395         appropriate.
15396         (Fpq_put_nbytes): MULE-ize.
15397         (Fpq_get_line_async): Ditto.
15398
15399 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15400
15401         * postgresql.c (Fpq_lo_import): Fix return value.
15402         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15403
15404 2000-03-13  Ben Wing  <ben@xemacs.org>
15405
15406         * alloc.c (pdump_load):
15407         Fix compile warning under mswin.
15408
15409 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15410
15411         * postgresql.c: Mule-ization, bug fixes.
15412         Use PG_CODING to encapsulate coding system name changes.
15413         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15414         (pg-coding-system): Create.
15415
15416         (Fpq_conn_defaults): Mule-ize.
15417         (Fpq_connectdb): Mule-ize & bug fix.
15418         (Fpq_connect_start): Mule-ize.
15419         (Fpq_set_client_encoding): Mule-ize.
15420         (Fpq_finish): Document `DEAD' connection status.
15421         (Fpq_clear): Ditto.
15422         (Fpq_pgconn): Mule-ize.
15423         (Fpq_exec): Mule-ize & bug fix.
15424         (Fpq_send_query): Ditto.
15425         (Fpq_get_result): Ditto.
15426         (Fpq_res_status): Mule-ize.
15427         (Fpq_result_error_message): Mule-ize.
15428         (Fpq_ntuples): fix comments.
15429         (Fpq_fname): Mule-ize.
15430         (Fpq_fnumber): Mule-ize.
15431         (Fpq_ftype): fix comments.
15432         (Fpq_get_value): Mule-ize.
15433         (Fpq_cmd_status): Ditto.
15434         (Fpq_cmd_tuples): Ditto.
15435         (Fpq_oid_value): Ditto.
15436         (Fpq_notifies): Ditto.
15437         (Fpq_lo_import): Ditto.
15438         (Fpq_lo_export): Ditto.
15439         (Fpq_get_line): Ditto.
15440         (Fpq_put_line): Mule-ize and bug fix.
15441         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15442
15443 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15444
15445         * postgresql.c (vars_of_postgresql): Mule-ize.
15446         (Fpq_conn_defaults): Ditto.
15447
15448 2000-03-12  Ben Wing  <ben@xemacs.org>
15449
15450         * alloc.c (Fmake_byte_code):
15451         * alloc.c (debug_string_purity_print):
15452         * alloc.c (pdump_backtrace):
15453         * alloc.c (pdump_get_indirect_count):
15454         * alloc.c (pdump_register_sub):
15455         * alloc.c (pdump_register_object):
15456         * alloc.c (pdump_register_struct):
15457         * alloc.c (pdump_dump_data):
15458         * alloc.c (pdump_reloc_one):
15459         Minor cleanups.
15460
15461         * console-msw.c:
15462         * console-msw.c (GetConsoleHwnd):
15463         * console-msw.c (msw_hide_console):
15464         * console-msw.c (msw_show_console):
15465         * console-msw.c (msw_ensure_console_buffered):
15466         * console-msw.c (msw_output_console_string):
15467         * console-msw.c (console_type_create_mswindows):
15468
15469         a) Added functions to manipulate the console window for use with
15470         shell support.
15471
15472         b) Added support for writing text to the console, which is now
15473         used under Windows when xemacs is not being run non-interactively,
15474         to write text that would otherwise be destined for stdout because
15475         under these circumstances, text written to stdout tends to
15476         disappear and not be seen.
15477
15478         * console-msw.h:
15479         * event-Xt.c:
15480         * event-Xt.c (x_event_to_emacs_event):
15481         * event-Xt.c (describe_event_window):
15482         * events-mod.h (XEMACS_MOD_CONTROL):
15483         * events.c:
15484         * events.c (Fmake_event):
15485         * events.c (character_to_event):
15486         * events.c (event_to_character):
15487         * events.c (format_event_object):
15488         * events.c (Fevent_modifiers):
15489         * events.h:
15490         * events.h (struct key_data):
15491         * events.h (struct button_data):
15492         * events.h (struct misc_user_data):
15493         * frame-x.c (Fcde_start_drag_internal):
15494         * frame-x.c (Foffix_start_drag_internal):
15495         * gpmevent.c (Freceive_gpm_event):
15496         * keymap.c:
15497         * keymap.c (bucky_sym_to_bucky_bit):
15498         * keymap.c (control_meta_superify):
15499         * keymap.c (make_key_description):
15500         * keymap.c (keymap_lookup_directly):
15501         * keymap.c (create_bucky_submap):
15502         * keymap.c (keymap_store):
15503         * keymap.c (define_key_check_and_coerce_keysym):
15504         * keymap.c (define_key_parser):
15505         * keymap.c (define_key_alternate_name):
15506         * keymap.c (Fdefine_key):
15507         * keymap.c (raw_lookup_key_mapper):
15508         * keymap.c (struct map_keymap_unsorted_closure):
15509         * keymap.c (map_keymap_unsorted_mapper):
15510         * keymap.c (map_keymap_sort_predicate):
15511         * keymap.c (map_keymap_sorted):
15512         * keymap.c (accessible_keymaps_mapper_1):
15513         * keymap.c (where_is_recursive_mapper):
15514         * keymap.c (describe_map_mapper):
15515         * keymap.c (describe_map_sort_predicate):
15516         * keymap.c (describe_map):
15517         * keymap.c (complex_vars_of_keymap):
15518         And a number of other files, the key modifier preprocessor
15519         constants that xemacs uses have names that conflict with constants
15520         defined under MS Windows for other purposes, so they were renamed
15521         to begin with the prefix XEMACS_. The variables that hold such
15522         modifiers were changed to consistently be of type int to fix
15523         various compile warnings.
15524
15525         * console.c (complex_vars_of_console):
15526         * device.c:
15527         * device-msw.c:
15528         * device-msw.c (mswindows_finish_init_device):
15529         * device-msw.c (msw_get_workspace_coords):
15530         * device-msw.c (mswindows_device_system_metrics):
15531         and various other files, added support for a new
15532         device property called offset-workspace which returns the position
15533         of the upper left corner of the workspace area and goes along with
15534         the existing size-workspace property.
15535
15536         * dialog-msw.c:
15537         * dialog-msw.c (push_bufbyte_string_as_unicode):
15538         * dialog-msw.c (mswindows_popup_dialog_box):
15539         Added support for XEmacs-style accelerator specifications in
15540         button text.  Note: I didn't add support for this under X Windows,
15541         and somebody needs to do this.
15542
15543         * dialog.c:
15544         * dialog.c (Fpopup_dialog_box):
15545         Documented the support for accelerators that was just mentioned.
15546
15547         editfns.c (get_home_directory): Changed behavior under Windows
15548         when HOME not defined; former behavior was irretrievably broken.
15549
15550         * emacs.c:
15551         * emacs.c (main_1):
15552         * emacs.c (main):
15553         * minibuf.c (clear_echo_area_internal):
15554         * minibuf.c (echo_area_append):
15555         * print.c:
15556         * print.c (std_handle_out_external):
15557         * print.c (std_handle_out_va):
15558         * print.c (fatal):
15559         * print.c (write_string_to_stdio_stream):
15560         * print.c (output_string):
15561         * print.c (debug_print):
15562         * print.c (debug_backtrace):
15563         * print.c (debug_short_backtrace):
15564         Cleaned up the code that prints text to stdout so that this can be
15565         changed to output into a console window instead under MS Windows,
15566         as described above.
15567
15568         * eval.c:
15569         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15570         * eval.c (internal_catch):
15571         * eval.c (unwind_to_catch):
15572         * eval.c (throw_or_bomb_out):
15573         * eval.c (condition_case_1):
15574         * eval.c (signal_1):
15575         * eval.c (check_error_state_sanity):
15576         * eval.c (call_with_suspended_errors_1):
15577         * eval.c (call_with_suspended_errors):
15578         * eval.c (reinit_vars_of_eval):
15579         Added code to catch throw loops and check for a pesky bug that may
15580         be gone now.
15581
15582         * event-msw.c:
15583         * event-msw.c (key_needs_default_processing_p):
15584         * event-msw.c (mswindows_wnd_proc):
15585         * event-msw.c (mswindows_modifier_state):
15586         * event-msw.c (emacs_mswindows_quit_p):
15587         * event-msw.c (vars_of_event_mswindows):
15588         a) Added support for using the alt key to select menu items as is
15589         standard under MS Windows.  This is controlled using the variable
15590         menu-accelerator-enabled, just like under X Windows.  There is an
15591         option on the options menu to turn this support on.  I really
15592         think that it should be on by default under Windows, but I'm not
15593         going to make this change yet.
15594
15595         b)  Added support for dynamic display size changes under Windows.
15596
15597         * event-stream.c:
15598         * event-stream.c (maybe_echo_keys):
15599         * event-stream.c (Fnext_event):
15600         * event-stream.c (command_builder_find_leaf):
15601         * event-stream.c (lookup_command_event):
15602         * event-stream.c (execute_command_event):
15603         * event-stream.c (pre_command_hook):
15604         * event-stream.c (post_command_hook):
15605         * event-stream.c (syms_of_event_stream):
15606         * event-stream.c (vars_of_event_stream):
15607         * event-stream.c (complex_vars_of_event_stream):
15608         * events.h (struct command_builder):
15609
15610         a) Tried to clean up a little bit the horribly written x-specific
15611         accelerator code that crept into this file.  I moved this code
15612         into menubar-x.c where it belongs. I also needed to move the
15613         command builder structure into the file events.h because it is
15614         accessed directly by this accelerator code.  What I didn't do, but
15615         which should be done at some point, is to properly abstract this
15616         code using device methods instead of the kludgy way that it
15617         currently hooks into the event code.
15618
15619         b) Added the lisp variables this-command-properties and
15620         last-command- properties, which should be used to synchronize two
15621         adjacent commands in preference to playing games with the variable
15622         this-command, which is typically what happens.
15623
15624         c) Added some slightly nasty code to hook into the lisp support
15625         for shifted- motion-key selection.  This is actually necessary for
15626         somewhat complicated reasons, which are described in
15627         simple.el. (NB: I think the proper thing would be to have the code
15628         that calls the pre and post command hooks also call out to generic
15629         lisp functions in simple.el, where all built-in stuff could be
15630         added.  I will think about this more.)
15631
15632         * event-unixoid.c (poll_fds_for_input):
15633         * lread.c (readchar):
15634         * redisplay-tty.c (tty_clear_frame):
15635         * redisplay-x.c (x_get_gc):
15636         * signal.c (interrupt_signal):
15637         And a whole bunch of other files: fixed up places that printed
15638         directly to stderr to instead call the function stderr_out so that
15639         the changes I made under Windows work correctly.
15640
15641         * filemode.c (mode_string):
15642         Warning fixes.
15643
15644         * frame-msw.c:
15645         * frame-msw.c (mswindows_size_frame_internal):
15646         Fixed the computation of frame size and position to keep the frame
15647         within the workspace area, rather than within the physical
15648         dimensions of the screen, so that the frame doesn't overlap window
15649         manager decorations, such as the start menu and toolbar, typically
15650         at the bottom of the screen.
15651
15652         * frame.c (vars_of_frame):
15653         Changed the default frame title format under MS Windows to consist
15654         of buffername-XEmacs, which is standard under MS Windows.  I think
15655         it might be a good idea to change this everywhere because I think
15656         it is superior to the current frame title format, but this is the
15657         kind of change that is likely to cause some people to get annoyed,
15658         so I'm not making it.
15659
15660         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15661
15662         * gui-msw.c (mswindows_handle_gui_wm_command):
15663         Fixed compile warnings.
15664
15665         * gui-x.c:
15666         * gui-x.c (strdup_and_add_accel):
15667         * gui-x.c (button_item_to_widget_value):
15668         * gui-x.h:
15669         Added code to automatically put an accelerator onto the beginning
15670         of menu items that don't have one as is now the standard, and is
15671         described more later.  Also fixed things so that the menu item
15672         name can be an evaluated expression, again a new standard.
15673
15674         * gui.c:
15675         * gui.c (gui_item_add_keyval_pair):
15676         * gui.c (make_gui_item_from_keywords_internal):
15677         * gui.c (gui_add_item_keywords_to_plist):
15678         * gui.c (gui_item_accelerator):
15679         * gui.c (gui_name_accelerator):
15680         * gui.c (gui_item_included_p):
15681         * gui.c (gui_item_display_flush_left):
15682         * gui.c (gui_item_display_flush_right):
15683         * gui.c (parse_gui_item_tree_item):
15684         * gui.c (parse_gui_item_tree_children):
15685         * gui.c (parse_gui_item_tree_list):
15686         Mule-ized.  Cleanup.  GCPRO addition.
15687
15688         * line-number.c (buffer_line_number):
15689         * lisp.h:
15690         * lisp.h (EMACS_INT_MAX):
15691         Added the manifest constant EMACS_INT_MIN corresponding to the
15692         existing constant EMACS_INT_MAX.  This is partially to fix compile
15693         warnings under Windows, and partly for cleanliness.
15694
15695         * menubar-msw.c:
15696         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15697         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15698         * menubar-msw.c (displayable_menu_item):
15699         * menubar-msw.c (populate_menu_add_item):
15700         * menubar-msw.c (populate_or_checksum_helper):
15701         * menubar-msw.c (populate_menu):
15702         * menubar-msw.c (update_frame_menubar_maybe):
15703         * menubar-msw.c (prune_menubar):
15704         * menubar-msw.c (msw_char_is_accelerator):
15705         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15706         * menubar-msw.c (mswindows_handle_wm_command):
15707         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15708         * menubar-msw.c (mswindows_handle_wm_initmenu):
15709         * menubar-msw.c (mswindows_update_frame_menubars):
15710         * menubar-msw.c (mswindows_free_frame_menubars):
15711         * menubar-msw.c (mswindows_popup_menu):
15712         Fixed a bug in handling accelerators where an extra character
15713         would be displayed in the menu item.  Also generalized the
15714         function displayable_menu_item because it is now used by the
15715         dialog box code as well.  And finally, added code in the functions
15716         that create the menubar to extract a list of accelerators for the
15717         top level menubar, which is used in the event code to determine
15718         whether a particular alt-key combination should be used to invoke
15719         a menu item, or should be passed through to access the standard
15720         XEmacs keymap binding for this key combination.
15721
15722         Much needed GCPROing.
15723
15724         * menubar-x.c:
15725         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15726         * menubar-x.c (menu_item_descriptor_to_widget_value):
15727         * menubar-x.c (restore_in_menu_callback):
15728         * menubar-x.c (x_popup_menu):
15729         * menubar-x.c (menu_move_up):
15730         * menubar-x.c (menu_move_down):
15731         * menubar-x.c (menu_move_left):
15732         * menubar-x.c (menu_move_right):
15733         * menubar-x.c (menu_select_item):
15734         * menubar-x.c (command_builder_operate_menu_accelerator):
15735         * menubar-x.c (menu_accelerator_junk_on_error):
15736         * menubar-x.c (command_builder_find_menu_accelerator):
15737         * menubar-x.c (Faccelerate_menu):
15738         * menubar.h:
15739         Moved a whole bunch of code here that was previously in
15740         event-stream.c as described above.  There is also code connected
15741         to the new standard of adding an accelerator to the beginning of
15742         menu items that don't have one as described above and below.
15743
15744         * menubar.c:
15745         * menubar.c (menu_parse_submenu_keywords):
15746         * menubar.c (Fmenu_find_real_submenu):
15747         * menubar.c (Fnormalize_menu_item_name):
15748         * menubar.c (syms_of_menubar):
15749         * menubar.c (vars_of_menubar):
15750         * menubar.c (complex_vars_of_menubar):
15751
15752         a) Cleaned up a bunch of documentation and improved it.
15753
15754         b) XEmacs now automatically adds an accelerator onto the beginning
15755         of any menu items that don't have one.  I did this because there
15756         will inevitably be some menu items on the main menubar that don't
15757         have accelerators on them because the package that adds that
15758         particular menu item hasn't yet been fixed up to have accelerators
15759         in them and it looked rather strange to have some items with and
15760         some items without accelerators, especially since even in items
15761         without accelerators, you can, at least under windows, still
15762         access the item through an accelerator corresponding to the first
15763         character in the item's name.  If people don't like this behavior,
15764         I can add a variable to turn it off optionally, but I'm not sure
15765         this is a good idea because we really do need to have accelerators
15766         on all of the menu items, and if a package doesn't like the
15767         accelerators being put on the first character, then it should put
15768         the accelerators where they belong.
15769
15770         c) I made a behavior change, which is that the descriptor that
15771         specifies the text of the menu item, which formerly was just a
15772         string, can now also be an evaluated expression.  This makes this
15773         descriptor parallel with all of the others, which could also be
15774         evaluated expressions.  This also obviates the need for the
15775         keyword :label, which was previously listed in the documentation
15776         as unimplemented, and which was for the same purpose.
15777
15778         d) GCPROing.
15779
15780         * ntproc.c:
15781         * ntproc.c (new_child):
15782         * ntproc.c (sys_spawnve):
15783         * ntproc.c (find_child_console):
15784         * ntproc.c (sys_kill):
15785         Fixed compile warnings.  By the way, this file should really go
15786         away entirely, and this will happen as soon as Kirill makes his
15787         final round of process cleanups, which affect the function
15788         call-process.
15789
15790         * process-nt.c:
15791         * process-nt.c (struct nt_process_data):
15792         * process-nt.c (find_process_from_pid):
15793         * process-nt.c (send_signal_the_nt_way):
15794         * process-nt.c (enable_child_signals):
15795         * process-nt.c (find_child_console):
15796         * process-nt.c (send_signal_the_95_way):
15797         * process-nt.c (nt_finalize_process_data):
15798         * process-nt.c (ensure_console_window_exists):
15799         * process-nt.c (nt_create_process):
15800         * process-nt.c (nt_kill_child_process):
15801         * process-nt.c (nt_kill_process_by_pid):
15802         * process-nt.c (nt_open_network_stream):
15803         * process-nt.c (vars_of_process_nt):
15804         Copied over code from Emacs 20.5 to correctly send signals to sub-
15805         processes under Windows 95.  Also added code to automatically
15806         create and hide console window when a sub-process is created under
15807         Windows 95, which obviates the need for the separate runemacs.exe
15808         executable, and finally implemented some variables that were
15809         implemented in Emacs 20.5, but previously not in XEmacs.  These
15810         include mswindows- start-process-share-console and
15811         mswindows-start-process-inherit-error-mode. (Both of these only
15812         apply to Windows 95.)
15813
15814         * regex.c (regex_compile): Fixed a compile warning.
15815
15816         * select-msw.c:
15817         * select-msw.c (mswindows_own_selection):
15818         * select-msw.c (mswindows_get_foreign_selection):
15819         * select-msw.c (mswindows_disown_selection):
15820         * select-msw.c (console_type_create_select_mswindows):
15821         * select-msw.c (syms_of_select_mswindows):
15822         Cleaned up the file and implemented the device method
15823         selection_exists_p, which had accidentally been left out.  Also
15824         removed four lisp functions that were remnants from before the
15825         time when the selection code was properly device abstracted.
15826         These functions are no longer needed because there are generic
15827         equivalents, and because they were added recently and don't exist
15828         in FSF Emacs, I don't think there's any problem with just deleting
15829         them.
15830
15831         * sysdep.c:
15832         * sysdep.c (sys_subshell):
15833         Fixed a compile warning, although in this case there's probably
15834         something wrong with this code, and it ought to be looked into
15835         more thoroughly by somebody who understands it.
15836
15837         * window.c:
15838         * window.c (Fwindow_text_area_height):
15839         * window.c (Fwindow_width):
15840         * window.c (Fwindow_full_width):
15841         * window.c (Fwindow_pixel_width):
15842         * window.c (debug_print_window):
15843         * window.c (syms_of_window):
15844         Added functions window-text-area-height and window-full-width,
15845         which are functions for returning various width and height
15846         characteristics of a window. (One of these functions is necessary
15847         for making the file dialog box work correctly, and the other one
15848         was added for completeness.)  Also added a table to the
15849         documentation for window-height which describes the entire scheme
15850         for accessing width and height characteristics of a window.
15851
15852 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15853
15854         * nt.c (fstat): Added a comment for another problem with
15855         non-encapsulated [f]stat(), reported by Adrian Aichner
15856         <aichner@ecf.teradyne.com>.
15857
15858 2000-03-11  Andy Piper  <andy@xemacs.org>
15859
15860         * window.c (make_dummy_parent): initialize subwindow instance
15861         cache.
15862         (Fset_window_configuration): zero extent_modiff.
15863
15864 2000-03-10  Andy Piper  <andy@xemacs.org>
15865
15866         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15867         more changes can be triggered.
15868         (Fredisplay_frame): ditto.
15869         (Fredraw_device): ditto.
15870         (Fredisplay_device): ditto.
15871         (redisplay_frame): make non-static.
15872         (redisplay_frame): call update_frame_gutter_geometry outside of
15873         display proper.
15874
15875         * gutter.h: declare update_frame_gutter_geometry.
15876
15877         * redisplay.h: declare redisplay_frame.
15878
15879         * gutter.c (update_frame_gutter_geometry): move geometry changes
15880         in update_frame_gutters here. Geometry changes can only occur
15881         outside of redisplay.
15882         (update_frame_gutters): remove geometry change code.
15883         (Fredisplay_gutter_area): make sure that we are in display when we
15884         update and that we have flushed any size changes.
15885
15886 2000-03-11  Andy Piper  <andy@xemacs.org>
15887
15888         * alloc.c (pdump_dump_data): remove i & count shadows.
15889
15890 2000-02-27  Mike Alexander  <mta@arbortext.com>
15891
15892         * sysdep.h: Declare pdump_read_file
15893
15894         * sysdep.c (pdump_read_file): New function
15895
15896         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15897         dump data
15898
15899 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15900
15901         * lrecord.h: add `lrecord_type_pgsetenv'.
15902
15903 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15904
15905         * symsinit.h: declare (vars|syms)_of* functions.
15906         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15907
15908 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15909
15910         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15911
15912         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15913         GCCs.
15914
15915         * emacs.c (main_1): Call postgres initialization code.
15916
15917         * postgresql.h: New file.  PostgreSQL RDBMS support.
15918         * postgresql.c: New file.
15919
15920 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15921
15922         * redisplay-output.c (redisplay_output_display_block): Disable
15923         redundant code.
15924
15925 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15926
15927         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15928         (Fcanna_henkan_next): Ditto.
15929         (Fcanna_bunsetu_henkou): Ditto.
15930         (Fcanna_henkan_kakutei): Ditto.
15931         (Fcanna_henkan_end): Ditto.
15932         (Fcanna_henkan_quit): Ditto.
15933         (Fcanna_henkan_next): Set retun value correctly.
15934         (c2mu): Use unsigned char instead of signed char.
15935
15936 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15937
15938         * emacs.c (main_1): Always call syms_of_gui.
15939         * inline.c: include gui.h
15940
15941 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15942
15943         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15944         converted to Lisp_Object.
15945         (Qtop_bottom): New variable.
15946         (syms_of_redisplay): Initialize it.
15947         * redisplay.h (Vvisible_bell): Ditto.
15948         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15949         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15950         only flash top and bottom.
15951
15952 2000-03-08  Andy Piper  <andy@xemacs.org>
15953
15954         * buffer.c (Frename_buffer): record new buffer name the right way.
15955
15956 2000-03-08  Andy Piper  <andy@xemacs.org>
15957
15958         * glyphs.c (update_subwindow): increase hash depth so that widget
15959         items get picked up properly.
15960
15961         * redisplay-output.c (compare_runes): increase hash depth so that
15962         widget items get picked up properly.
15963
15964 2000-03-08  Andy Piper  <andy@xemacs.org>
15965
15966         * gutter.c (output_gutter): add some debug.
15967
15968         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15969         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15970         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15971
15972         * redisplay-output.c (compare_runes): use display_hash to
15973         determine if glyphs really are not the same.
15974
15975         * glyphs.c (update_subwindow): check display_hash to see if
15976         anything really needs to be updated. If not then do
15977         nothing. Record the display_hash after updating.
15978         (image_instance_equal): compare the image_instance face also.
15979
15980 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15981
15982         * redisplay.h: Fix comment style.
15983
15984 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15985
15986         * consle-msw.h (struct mswindows_frame):
15987         Added new member paint_pending to indicate whether a WM_PAINT
15988         magic event has been queued for this frame.
15989
15990         * event-msw.c (mswindows_drain_windows_queue):
15991         Don't queue a WM_PAINT magic event if one is already queued.
15992         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15993
15994         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15995
15996 2000-03-07  Didier Verna  <didier@xemacs.org>
15997
15998         * dired.c: #include `regex.h' after `sysfile.h'.
15999
16000 2000-03-06  Martin Buchholz  <martin@xemacs.org>
16001
16002         * sound.c (init_nas_sound): Fix compiler warning.
16003
16004         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16005         (FREE_STRUCT_P):
16006         (MARK_STRUCT_AS_FREE):
16007         (MARK_STRUCT_AS_NOT_FREE):
16008         Make `gcc -fstrict-aliasing' work properly.
16009
16010 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16011
16012         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16013         (mswindows_delete_device): Call CoUnnitialize().
16014
16015         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16016
16017 2000-02-25    <CraigL@DyCon.com>
16018
16019         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16020         <errno.h>.
16021
16022         * sysdep.c: This extern declaration for environ prevents MinGW
16023         from finding the variable in CRTDLL.DLL.
16024
16025         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16026         windows headers.
16027         (SHGFI_EXETYPE): ..
16028         (WM_MOUSEWHEEL): ..
16029         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16030         definitions.
16031         (MMRESULT): Removed, now defined in cygwin's windows headers.
16032         (TIMECAPS): ..
16033         (uid_t,gid_t,pid_t,ssize_t): ..
16034         (_timeb): Removed, MinGW defines both _timeb and timeb.
16035         (HAVE_H_ERRNO): Added.
16036         (HAVE_TZNAME): Added, configure is not detecting this.
16037
16038 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16039
16040         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16041         * syntax.c (syntax_match): Use it.
16042
16043         * cmds.c: Import auto-fill-chars from FSF Emacs.
16044         (Vauto_fill_chars): New variables.
16045         (internal_self_insert): Check Vauto_fill_chars.
16046         (vars_of_cmds):
16047         Declare auto-fill-chars as a Lisp variable and initialize it.
16048
16049 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16050
16051         * fileio.c (Fmake_symbolic_link):
16052         (Ffile_symlink_p):
16053         Run handlers even if local machine doesn't have symlinks.
16054
16055 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16056
16057         * event-msw.c (mswindows_drain_windows_queue):
16058         Don't generate paint magic events for non-XEmacs frames.
16059
16060 2000-03-05  Andy Piper  <andy@xemacs.org>
16061
16062         * redisplay.c (redisplay_frame): generate_displayable_area and
16063         friends assumes that we are not in GC, we therefore have to make
16064         sure that this doesn't happen.
16065
16066         * gutter.c (calculate_gutter_size): generate_displayable_area
16067         assumes that we are not in GC, we therefore have to make sure that
16068         this doesn't happen.
16069
16070 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16071
16072         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16073
16074 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16075
16076         * redisplay.c (regenerate_window): Make sure we set a sane value
16077         for end_pos even if we jump out of the loop.
16078         (regenerate_window): Answer Ben's question :-).
16079         (start_end_of_last_line): Add may_error argument.
16080         (start_of_last_line):
16081         (end_of_last_line): Pass may_error = 0.
16082         (end_of_last_line_may_error): New function.
16083         (pixel_to_glyph_translation): Use it, so we don't crash in
16084         event_to_glyph.
16085
16086 2000-03-04  Andy Piper  <andy@xemacs.org>
16087
16088         * window.h (struct window): add gutter_extent_modiff.
16089
16090         * window.c (allocate_window): zero out gutter_extent_modiff.
16091
16092         * redisplay.h: declare sync_display_line_structs.
16093
16094         * redisplay.c (add_glyph_rune): add a better comment.
16095
16096         * redisplay-output.c (sync_display_line_structs): made non-static.
16097         (compare_runes): remove unneccesary glyph cachel access.
16098
16099         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16100
16101         * gutter.c (output_gutter): don't output the gutter if extent
16102         changes only involve extents in buffers. use 4 sets of display
16103         lines.
16104         (gutter_extent_signal_changed_region_maybe): new function. Mark
16105         extents in gutters as changed.
16106         (update_frame_gutters): use 4 sets of display lines.
16107         (reset_gutter_display_lines): ditto.
16108         (free_frame_gutters): ditto.
16109         (redraw_exposed_gutter): force output of gutters.
16110
16111         * frame.h (struct frame): add 4 sets of gutter display lines.
16112
16113         * extents.c: (extent_changed_for_redisplay): signal changes to
16114         extents in strings in the gutter as well as extents in buffers.
16115
16116 2000-03-02  Andy Piper  <andy@xemacs.org>
16117
16118         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16119
16120         * frame.c (Fmake_frame): make sure the gutters get initialized
16121         after the frame is visible.
16122         (set_frame_selected_window): re-arrange compilation macros a
16123         little.
16124         (change_frame_size_1): mark gutters changed.
16125
16126         * device.c (Fset_device_class): mark gutters changed.
16127
16128 2000-03-01  Andy Piper  <andy@xemacs.org>
16129
16130         * window.c (window_top_frame_gutter_height): deleted.
16131         (window_bottom_frame_gutter_height): ditto.
16132         (window_left_frame_gutter_height): ditto.
16133         (window_right_frame_gutter_height): ditto.
16134         (window_top_gutter_height): don't use them.
16135         (window_bottom_gutter_height): ditto.
16136         (window_left_gutter_width): ditto.
16137         (window_right_gutter_width): ditto.
16138         (Fsplit_window): ditto.
16139         (Fwindow_pixel_edges): don't use border dimensions here.
16140
16141         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16142         (update_scrollbar_instance): ditto.
16143
16144         * redisplay.c (generate_modeline): don't take gutters into account.
16145         (generate_modeline): ditto.
16146         (redisplay_frame): small gutter display optimization.
16147
16148         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16149
16150         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16151         gutters into account.
16152
16153         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16154         for window position and type.
16155
16156         * gutter.c (get_gutter_coords): fix for frame gutters.
16157         (update_frame_gutters): update frame geometry if the gutters have
16158         changed.
16159         (init_frame_gutters): record current gutter geometries.
16160
16161         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16162         var.
16163         (mswindows_widget_instantiate): ditto.
16164
16165         * frame.h (struct frame): add current_gutter_bounds.
16166
16167         * frame.c (change_frame_size_1): position window and minibuffer
16168         appropriately taking into account the frame gutters.
16169
16170         * frame-x.c: (x_initialize_frame_size): take into account the
16171         frame gutters.
16172
16173 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16174
16175         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16176
16177 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16178
16179         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16180
16181 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16182
16183         * file-coding.c (reset_decoding_stream): Clear previous
16184         detection state when autodetect.
16185
16186 2000-02-29  Didier Verna  <didier@xemacs.org>
16187
16188         * extents.c (set_extent_glyph_1): don't require extents to be
16189         attached.
16190
16191 2000-02-27  Andy Piper  <andy@xemacs.org>
16192
16193         * gutter.c (Fset_default_gutter_position): don't default left and
16194         right gutter visibility to t.
16195         (Fset_default_gutter_position): run
16196         default-gutter-position-changed-hook.
16197         (syms_of_gutter): add default-gutter-position-changed-hook.
16198
16199 2000-02-26  Andy Piper  <andy@xemacs.org>
16200
16201         * specifier.c (Fmake_specifier): add gutter references.
16202
16203         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16204
16205         * lisp.h: declare Fvalid_plist_p.
16206
16207         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16208         as changed.
16209         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16210         well as its visibility so that it gets reconstructed.
16211         (construct_window_gutter_spec): new function. Construct a string
16212         to be displayed in the gutter from a plist of strings. Take care
16213         to only use elements that are declared as visible.
16214         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16215         WINDOW_GUTTER.
16216         (gutter_validate): allow plists of strings in the specifier.
16217         (gutter_specs_changed): construct the real_gutter from the gutter
16218         specs using construct_window_gutter_spec.
16219         (gutter_visible_validate): gutter-visible is a new specifier type.
16220         (Fgutter_visible_specifier_p): new function for the new specifier.
16221         (syms_of_gutter): declare gutter-visible and
16222         Fgutter_visible_specifier_p.
16223         (specifier_type_create_gutter): intitalize new gutter-visible
16224         specifier.
16225         (reinit_specifier_type_create_gutter): ditto.
16226         (specifier_vars_of_gutter): use new specifier type for gutter
16227         visibility.
16228         (init_frame_gutters): construct real_gutter correctly.
16229         (Fgutter_specifier_p): beef up documentation.
16230         (Fgutter_size_specifier_p): ditto.
16231
16232         * winslots.h: add real_gutter slots.
16233
16234 2000-02-25  Andy Piper  <andy@xemacs.org>
16235
16236         * device-msw.c: Be kind to older cygwin versions. From Raymond
16237         Toy <toy@rtp.ericsson.se>.
16238
16239         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16240         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16241
16242 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16243
16244         * elhash.c (MARK_OBJ): Practice macro hygiene.
16245
16246 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16247
16248         * miscplay.c: s/__inline__/inline/g;
16249         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16250         (get_device_compdc): INLINE ==> static inline
16251         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16252         find -name '*.h' | \
16253         xargs global-replace \
16254         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16255
16256 2000-02-25  Andy Piper  <andy@xemacs.org>
16257
16258         * window.c (window_top_frame_gutter_height): new function.
16259         (window_top_window_gutter_height): ditto.
16260         (window_top_gutter_height): use them.
16261         (window_bottom_frame_gutter_height): new function.
16262         (window_bottom_window_gutter_height): ditto.
16263         (window_bottom_gutter_height): use them.
16264         (window_left_window_gutter_width): new function.
16265         (window_left_frame_gutter_width): ditto.
16266         (window_left_gutter_width): use them.
16267         (window_right_window_gutter_width): new function.
16268         (window_right_frame_gutter_width): ditto.
16269         (window_right_gutter_width): use them.
16270         (window_pixel_height): new function. calulate window pixel height
16271         with frame gutter involvement.
16272         (Fsplit_window): calculate new sizes taking frame gutters into
16273         account.
16274         (window_char_height_to_pixel_height): don't include frame gutters.
16275         (window_char_height): use window_pixel_height.
16276         (window_pixheight): rename from window_pixel_height.
16277         (change_window_height): use it.
16278         (window_pixel_height_to_char_height): don't include frame gutters.
16279         (window_char_width_to_pixel_width): ditto.
16280
16281 2000-02-25  Andy Piper  <andy@xemacs.org>
16282
16283         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16284         if it is.
16285
16286 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16287
16288         * alloc.c (staticpro):
16289         (staticpro_nodump):
16290         (dumpstruct):
16291         (dumpopaque):
16292         (pdump_wire):
16293         (pdump_wire_list):
16294         (compact_string_chars):
16295         (pdump_dump_wired):
16296         Convert:  if (foo) abort();  ==>  assert (! foo);
16297
16298         * eldap.c (Fldap_search_basic):
16299         (Fldap_add):
16300         (Fldap_modify):
16301         (Fldap_delete):
16302         Fix compiler warnings, and possible crashes if (random) return
16303         value were to be used.
16304
16305 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16306
16307         * device-msw.c: Workaround ResetDC failure.
16308
16309         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16310         applying a devmode.
16311
16312         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16313         (mswindows_text_width): Do not start printer page.
16314
16315         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16316
16317         * glyphs-msw.c: Added image methods to msprinter console and
16318         msprinter-specific image instantiation.
16319
16320 2000-02-20  Mike Alexander  <mta@arbortext.com>
16321
16322         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16323         to avoid crashes when selection-sets-clipboard is on
16324         (mswindows_own_selection): ditto
16325
16326 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16327
16328         * glyphs-msw.c:
16329         * redisplay-msw.c (get_frame_dc):
16330         (get_frame_compdc):
16331         * console-msw.h:
16332         * device-msw.c (mswindows_init_device):
16333         (mswindows_delete_device):
16334         (msprinter_init_device):
16335         (msprinter_delete_device):
16336         * frame-msw.c (mswindows_init_frame_1):
16337         (mswindows_delete_frame):
16338         (msprinter_init_frame_3):
16339         (msprinter_delete_frame): Move compatible DC to device object from
16340         frame object, for both mswindows and msprinter. Only one at a time
16341         is needed, it is a real waste to have one per frame!
16342
16343 2000-02-23  Andy Piper  <andy@xemacs.org>
16344
16345         * glyphs.c: add dynamic width and height elements.
16346         (image_instance_equal): ditto.
16347
16348         * glyphs-widget.c (widget_query_geometry): calculate width and
16349         height dynamically if required.
16350         (initialize_widget_image_instance): initialize dynamic dimensions.
16351         (widget_instantiate): pick-up dynamic dimensions.
16352
16353         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16354         dynamic determination. Add appropriate macros.
16355
16356         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16357         dimensions safe.
16358         (WINDOW_GUTTER_SIZE): ditto.
16359         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16360
16361         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16362         inline.
16363         (get_frame_dc): ditto.
16364
16365         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16366         here.
16367
16368 2000-02-23  Martin Buchholz <martin@xemacs.org>
16369
16370         * XEmacs 21.2.31 is released.
16371
16372 2000-02-22  Ben Wing <ben@xemacs.org>
16373
16374         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16375
16376 2000-02-22  Andy Piper  <andy@xemacs.org>
16377
16378         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16379
16380 2000-02-21  Mike Sperber <mike@xemacs.org>
16381
16382         * .dbxrc:
16383         * .gdbinit:
16384         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16385         variables.
16386
16387 2000-02-21  Mike Sperber <mike@xemacs.org>
16388
16389         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16390
16391 2000-02-21  Martin Buchholz <martin@xemacs.org>
16392
16393         * XEmacs 21.2.30 is released.
16394
16395 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16396
16397         Performance hacking.
16398         * *.c (syms_of_*):
16399         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16400         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16401         * emacs.c (main_1):
16402         * lisp.h (DEFUN):
16403         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16404         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16405         * symeval.h (DEFVAR_SYMVAL_FWD):
16406         * symbols.c (guts_of_unbound_marker):
16407         Make all c_readonly objects also lisp_readonly and marked for life.
16408         * lrecord.h (struct lrecord_implementation):
16409         Document flags better.
16410         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16411         * lrecord.h (DECLARE_LRECORD):
16412         * lrecord.h (XSETRECORD):
16413         * lrecord.h (RECORDP):
16414         * lrecord.h (RECORD_TYPEP):
16415         * lrecord.h (RECORD_MARKER): New.
16416         * lrecord.h (error_check_*):
16417         * lrecord.h (CONCHECK_NONRECORD):
16418         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16419         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16420         * lrecord.h (set_lheader_implementation):
16421         * lrecord.h (enum lrecord_type): New.
16422         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16423         * alloc.c (disksave_object_finalization_1):
16424         * alloc.c (mark_object):
16425         * alloc.c (lrecord_type_index):
16426         * alloc.c (tick_lcrecord_stats):
16427         * alloc.c (Fgarbage_collect):
16428         * alloc.c (init_alloc_once_early):
16429         * alloc.c (pdump_load):
16430         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16431         * alloc.c (lrecord_type_index): Delete.
16432         Make lisp object type indexes be constant.
16433           Makes (byte-compile) 5% faster.
16434         Put all marker functions into their own array.
16435           Makes (garbage-collect) 5% faster.
16436         Optimize SYMBOL_VALUE_MAGIC_P.
16437           Makes (byte-compile) 2-3% faster.
16438         * config.h.in (gc_checking_assert): New.
16439         * alloc.c: Use gc_checking_assert().
16440         * .dbxrc: Make compatible with new object type implementation.
16441         * .gdbinit: Make compatible with new object type implementation.
16442         * alloc.c: Delete all symbols defined only for debugging, such as
16443         Lisp_Type_Vector and lrecord_charset.
16444
16445 2000-02-21  Andy Piper  <andy@xemacs.org>
16446
16447         * gui-msw.c (Fmswindows_shell_execute): fix file location
16448         problems.
16449
16450         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16451         unshowing so that set_window_buffer doesn't undo
16452         kill_buffer_hook's hard work.
16453
16454         * glyphs-widget.c (tab_control_query_geometry): don't count the
16455         first item when calculating geometry.
16456
16457         * glyphs.c (map_subwindow): remove redundant code.
16458         (update_frame_subwindows): be more circumspect about when to
16459         update subwindows.
16460
16461         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16462         when items haven't changed. Update faces if faces have changed as
16463         well as just the widget face.
16464         (x_tab_control_update): Update faces if faces have changed as well
16465         as just the widget face.
16466
16467 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16468
16469         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16470         registration.
16471         (build_syscolor_string): Use mswindows_color_to_string to try to
16472         get a named color.
16473         (mswindows_device_system_metrics): Reverse the foreground and
16474         background colors so that they match the documentation.
16475
16476         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16477         they match the default Windows palette.
16478         (mswindows_color_to_string): New function.
16479
16480 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16481
16482         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16483
16484 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16485
16486         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16487         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16488
16489         * symbols.c (init_symbols_once_early): Removed obsolete
16490         DATA_SEG_BITS related kludge.
16491         (defvar_magic): Ditto.
16492
16493         * malloc.c: Removed obsolete DATA_SEG_BITS
16494         * ralloc.c: Ditto.
16495         * mem-limits.h: Ditto.
16496
16497         * Makefile.in.in: Removed obsolete HAVE_SHM
16498         * emacs.c: Ditto.
16499
16500 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16501
16502         *  device-msw.c (mswindows_delete_device): Free DDE string
16503         handles.
16504
16505 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16506
16507         * keymap.c (get_keyelt):
16508         * unexnt.c (unexec):
16509         * vm-limit.c (memory_warnings):
16510         * ntheap.c (recreate_heap):
16511         * ntheap.h (UNINIT_PTR):
16512         * select-msw.c (Fmswindows_get_clipboard):
16513         (Fmswindows_set_clipboard):
16514         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16515         * objects-msw.c:
16516         * menubar-msw.c (displayable_menu_item):
16517         * glyphs-msw.c:
16518         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16519         * sysdep.c (sys_subshell):
16520         * process-nt.c (nt_create_process):
16521         * nt.c (normalize_filename):
16522         (dostounix_filename):
16523         (unixtodos_filename):
16524         * ntproc.c (win32_executable_type):
16525         * ntplay.c (play_sound_data_1):
16526         (play_sound_file):
16527         * editfns.c (get_home_directory):
16528         * event-msw.c (struct winsock_stream):
16529         (mswindows_dde_callback):
16530         * device-msw.c (msprinter_init_device):
16531         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16532
16533         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16534         mswindows_clear_toolbar were swapped!
16535
16536         * objects-msw.c:(colormap_t):
16537         (fontmap_t):
16538         * emacs.c (struct standard_args): Fixed const jumble.
16539
16540         * glyphs-widget.c (update_widget): Fixed comparison notation.
16541
16542         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16543
16544         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16545         __declspec(noreturn) syntax.
16546
16547 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16548
16549         * eldap.c (Fldap_open):
16550         (Fldap_search_basic):
16551         (Fldap_add):
16552         (Fldap_modify):
16553         Use new coding system conversion macros.
16554
16555 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16556
16557         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16558
16559 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16560
16561         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16562         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16563
16564         * eldap.c (Qadd, Qreplace): New constant symbols
16565         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16566         interruptions by XEmacs signals
16567         Remove unnecessary calls to slow_down_interrupts and
16568         speed_up_interrupts
16569         (Fldap_search_basic): Renamed from Fldap_search_internal
16570         Added new optional parameter VERBOSE that triggers the
16571         display of progress messages
16572         Remove unnecessary calls to slow_down_interrupts and
16573         speed_up_interrupts
16574         LDAP result code analysis rewritten
16575         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16576         (syms_of_eldap): Define the new symbols and functions
16577
16578
16579 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16580
16581         * realpath.c: Determine PATH_MAX maximally portably.
16582
16583         * insdel.c (bytecount_to_charcount): Optimize.
16584         The function used to be optimized for entirely ASCII sequences.
16585         Now it is optimized for successive characters from the same
16586         charset.  This also wins big for _mostly_ ASCII sequences.
16587
16588         * fileio.c (Ffile_truename): convert return from realpath() using
16589         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16590         - Rewrite GCPROing slightly.
16591
16592         * sysdep.c (sys_open): Do filename conversion, like all other
16593         sys_* functions.  Fixes bug:
16594         (let ((file-name-coding-system 'iso-8859-2))
16595            (write-region x y latin2-name))
16596         ==> writes filename using internal encoding.
16597
16598 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16599
16600         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16601         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16602         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16603         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16604         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16605         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16606         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16607         (CONST_IF_NOT_DEBUG): Delete.
16608         * alloc.c (this_one_is_unmarkable): Delete.
16609         (mark_object): Don't check for this_one_is_unmarkable. Use the
16610         c_readonly flag instead.
16611         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16612
16613 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16614
16615         * event-msw.c (mswindows_drain_windows_queue):
16616         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16617         away redundant repaint events.
16618
16619 2000-02-17  Andy Piper  <andy@xemacs.org>
16620
16621         * redisplay.h: declare mark_redisplay_structs.
16622
16623         * redisplay.c (redisplay_window):
16624         (redisplay_frame): don't check subwindows_state_changed.
16625         (mark_redisplay): mark gutters here.
16626
16627         * glyphs.c: (instantiate_image_instantiator): always layout if we
16628         haven't done so already.
16629         (allocate_image_instance): don't mark as dirty.
16630         (update_subwindow): bind inhibit_quit.
16631
16632         * gutter.c (mark_gutters): new function.
16633
16634         * glyphs-x.c (x_update_widget): Always resize to get round a
16635         widget bug.
16636
16637         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16638         breaking absolutely everything.
16639
16640         * gutter.h: declare mark_gutters.
16641
16642 2000-02-16  Martin Buchholz <martin@xemacs.org>
16643
16644         * XEmacs 21.2.29 is released.
16645
16646 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16647
16648         * fns.c (size_bit_vector): Fix computation of the size.
16649
16650 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16651
16652         * *.[ch]: Change CONST to const globally.
16653         find -name '*.[ch]' | \
16654         xargs global-replace \
16655         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16656         - Remove vestigial references to CONST_IS_LOSING
16657
16658 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16659
16660         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16661         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16662         events instead of dispatching them directly.
16663         (mswindows_handle_paint): New function to do repainting.
16664         (mswindows_wnd_proc):
16665         (emacs_mswindows_handle_magic_event): Call above function.
16666
16667 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16668
16669         * objects-msw.c (mswindows_create_font_variant): Return the new
16670         font handle.
16671         (initialize_font_instance): Get font metrics from the underlined
16672         variant of the font to cope with the case where the underlined
16673         font has a bigger descent.
16674
16675 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16676
16677         * gui.c (gui_item_accelerator): Return the first underlined
16678         character in item name.
16679
16680 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16681
16682         * lisp.h: Added Qprinter.
16683
16684         * general.c (syms_of_general): Initialized it.
16685
16686         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16687         (get_frame_dc):
16688         (get_frame_compdc): Made inline.
16689
16690         * console.h (struct console_methods): Added eject_page method.
16691
16692         * frame.h: Added FRAME_DISPLAY_P and friends.
16693         Aligned backslahes in many macros in more readable fashion.
16694         Added page_number to struct frame, and an accessor macro
16695         for it.
16696
16697         * defice.h: Added DEVICE_DISPLAY_P and friends.
16698
16699         * device.c (Fdevice_printer_p): Used these.
16700
16701         * frame.c (allocate_frame_core): Initialize page number.
16702         (Fprint_job_page_number):
16703         (Fprint_job_eject_page): Implemented.
16704
16705         * frame-msw.c (msprinter_eject_page): Added method.
16706         (msprinter_start_page): Added.
16707
16708         * window.c (Fwindow_truncated_p): Fixed docstring.
16709         (Fwindow_last_line_visible_height): Implemented.
16710
16711 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16712
16713         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16714
16715 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16716
16717         * syntax.c (scan_words): Always advance at least one character.
16718
16719 2000-02-13  Andy Piper  <andy@xemacs.org>
16720
16721         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16722         to make sure the glyph is in the cachels.
16723
16724         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16725         global image instance flag.
16726         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16727         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16728
16729         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16730         (Fset_image_instance_property): mark layout as changed.
16731         (invalidate_glyph_geometry_maybe): mark layout as changed.
16732         (glyph_width): use new NEEDS_LAYOUT macro.
16733         (glyph_ascent): ditto.
16734         (glyph_descent): ditto.
16735         (glyph_height): ditto.
16736         (image_instance_layout): mark layout as clean after laying out.
16737         (update_subwindow): don't mark layout as clean here.
16738
16739         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16740         should no longer be needed.
16741
16742         * glyphs-x.c (x_update_widget): sanitize asserts.
16743         (x_finalize_image_instance): sanitize assignment to widgets.
16744
16745         * glyphs-widget.c (widget_instantiate): don't need to clear the
16746         layout flag here.
16747
16748 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16749
16750         * sysdep.c (getcwd): Use standard prototype.
16751         * sysdep.h (getcwd): Use standard prototype.
16752
16753         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16754         (sequence, start, end).
16755         Remove redundant type checking.
16756         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16757         view of `caller-protects') to avoid a crash where the real fix was
16758         found elsewhere.
16759
16760 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16761
16762         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16763
16764         * s/sol2.h: Remove feature macro initialization.
16765
16766         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16767         (vector_hash): New.  Code from internal_hash.
16768         * lrecord.h:
16769         Fix up allocation subsystem comments.
16770
16771         * config.h.in: Add __EXTENSIONS__ for Solaris.
16772
16773         * systime.h (EMACS_GETTIMEOFDAY): New.
16774         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16775         Remove Solaris-specific code.
16776         Use void* for the (ignored) second arg for gettimeofday().
16777
16778         * elhash.c (hash_table_hash): Implement it, finally.
16779         * elhash.c:  Use hashcode_t.
16780
16781         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16782         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16783
16784         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16785         * fns.c (size_bit_vector):
16786         * alloc.c (size_vector):
16787         (make_vector_internal):
16788         (make_bit_vector_internal):
16789         (sweep_bit_vectors_1):
16790         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16791
16792 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16793
16794         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16795         Include strings.h to avoid warnings for bzero and strcasecmp.
16796
16797 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16798
16799         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16800         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16801
16802         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16803         sequence.
16804
16805 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16806
16807         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16808         use a value field instead.
16809         (symbol_value_forward_forward): Use value field.
16810         (DEFVAR_SYMVAL_FWD): Use value field.
16811         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16812         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16813         (DEFVAR_CONST_INT): Ditto.
16814         (DEFVAR_BOOL): Ditto.
16815         (DEFVAR_CONST_BOOL): Ditto.
16816         (DEFVAR_INT_MAGIC): Ditto.
16817         (DEFVAR_BOOL_MAGIC): Ditto.
16818
16819         * symbols.c (guts_of_unbound_marker): Use value field.
16820         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16821         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16822
16823         * lisp.h: Declare dumpopaque and noninteractive1.
16824
16825         * alloc.c (dumpopaque): Added.
16826         (pdump_dump_opaquevec): Added.
16827         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16828         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16829         noninteractive.
16830
16831 2000-02-10  Andy Piper  <andy@xemacs.org>
16832
16833         * glyphs.c (image_instance_layout): if the size changes, mark it
16834         as such.
16835
16836         * redisplay-output.c (redisplay_output_layout): Update the
16837         subwindow here.
16838         (redisplay_output_subwindow): ditto.
16839
16840         * glyphs.c (update_subwindow): make sure we reset flags for
16841         layouts as well as everything else.
16842
16843         * glyphs-widget.c (layout_layout): don't need to set the instances
16844         dimensions here.
16845
16846 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16847
16848         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16849         not HAVE_DLOPEN, which is a lower-level thing.
16850
16851         * .cvsignore: Ignore gmon.out
16852
16853 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16854
16855         * .cvsignore: Ignore portable dumper xemacs.dmp file
16856
16857 2000-02-09  Andy Piper  <andy@xemacs.org>
16858
16859         * redisplay-output.c (redisplay_output_layout): be more clever
16860         about when we output based on the changed flags.
16861
16862         * glyphs.h (struct image_instantiator_methods): add update_method.
16863         (struct Lisp_Image_Instance): add changed flags. Declare new
16864         macros for manipulating them.
16865
16866         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16867         (image_instance_parent_glyph): find an image_instance's parent
16868         glyph or image_instance.
16869         (image_instance_layout): mark the size as changed.
16870         (set_image_instance_dirty_p): new function. mark an image
16871         instance, plus all of its parents, as dirty.
16872         (Fset_image_instance_property): use it.
16873         (Fglyph_animated_timeout_handler): use it.
16874         (update_subwindow): call update_widget and device methods for
16875         update_subwindow. Mark all changed flags as clean.
16876         (Fresize_subwindow): mark size as changed.
16877
16878         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16879         failures.
16880         (x_update_subwindow): only resize subwindows here.
16881         (x_update_widget): new function. Update all changed properties of
16882         a widget.
16883         (x_resize_subwindow): deleted.
16884         (x_widget_set_property): deleted.
16885         (x_progress_gauge_set_property): deleted.
16886         (x_progress_gauge_update): new function. Implement recorded
16887         changes.
16888         (x_tab_control_update): ditto.
16889         (x_tab_control_set_property): deleted.
16890         (console_type_create_glyphs_x): declare new functions.
16891         (image_instantiator_format_create_glyphs_x): ditto.
16892
16893         * glyphs-widget.c (widget_set_property): mark text changed.
16894         (update_widget): new function. Update properties of a widget.
16895         (widget_instantiate): for layouts make sure we set their
16896         children's parent correctly.
16897         (tab_control_set_property): new function. Record changes that will
16898         take place under redisplay's control.
16899         (progress_gauge_set_property): ditto.
16900         (image_instantiator_progress_guage): declare new functions.
16901         (image_instantiator_tab_control): ditto.
16902
16903         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16904         now.
16905         (mswindows_update_widget): new function. Update all properties on
16906         a widget that have changed.
16907         (mswindows_button_update): new function. Update a button's set
16908         state.
16909         (mswindows_tab_control_update): new function. Update the items in
16910         a tab.
16911         (mswindows_tab_control_set_property): deleted.
16912         (mswindows_progress_gauge_update): new function. Update the
16913         progress gauge's progress.
16914         (mswindows_widget_set_property): deleted. This is all done
16915         asynchronously now.
16916         (mswindows_progress_gauge_set_property): ditto.
16917         (console_type_create_glyphs_mswindows): declare new methods.
16918         (image_instantiator_format_create_glyphs_mswindows): ditto.
16919
16920         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16921         (msprinter_set_frame_properties): ditto.
16922
16923         * console.h (struct console_methods): Add update_widget_method.
16924
16925 2000-02-09  Andy Piper  <andy@xemacs.org>
16926
16927         * gui-msw.c (Fmswindows_shell_execute): Make
16928         mswindows-shell-execute industrial strength.
16929
16930 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16931
16932         * lrecord.h: Make macro argument `props' match member function `plist'.
16933         * fns.c (Fget):
16934         * fns.c (Fput):
16935         * fns.c (Fremprop):
16936         * fns.c (Fobject_plist):
16937         * alloc.c:
16938         * symbols.c:
16939         Object property list frobbing cleanup.
16940         - Allow any lisp object (compared with `eq'), not just symbols, as
16941           keys in object plists.
16942         - Move symbol plist frobbing into symbols.c, where it belongs.
16943         - Move string plist frobbing into alloc.c, where it belongs.
16944         - Everything's an lrecord now, so no need to test for symbolp, etc.
16945         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16946
16947         * extents.c: Reorder code to remove declarations.
16948
16949         * frame.h (store_in_alist): Remove useless declaration.
16950
16951 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16952
16953         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16954         * config.h.in: Add HAVE_XCONVERTCASE.
16955
16956 2000-02-07  Andy Piper  <andy@xemacs.org>
16957
16958         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16959         it breaks many things.
16960
16961 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16962
16963         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16964         actually can start a common comment type.
16965         * src/syntax.h (SYNTAX_END_P): ditto for end.
16966
16967 2000-02-07  Martin Buchholz <martin@xemacs.org>
16968
16969         * XEmacs 21.2.28 is released.
16970
16971 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16972
16973         * event-Xt.c (x_keysym_to_character): New.
16974         (maybe_define_x_key_as_self_inserting_character): New.
16975         (x_has_keysym): New.
16976         Auto-define all keys on the keyboard as self-insert-key.
16977
16978 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16979
16980         * menubar.c (vars_of_menubar): A small code simplification.
16981
16982         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16983
16984         * ExternalShell.c:
16985         * ExternalClient.c:
16986         * EmacsShell-sub.c:
16987         * EmacsManager.c:
16988         * EmacsFrame.c:
16989         Use consistent style for specifying X resources.
16990
16991         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16992         This makes (dontusethis-set-symbol-value-handler) actually usable.
16993
16994         * lrecord.h (lrecord_decription_type):
16995         * alloc.c (pdump_register_sub):
16996         (pdump_dump_data):
16997         (pdump_reloc_one):
16998         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16999         Comply with XEmacs coding style.
17000         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
17001         args, and XD_LISP_OBJECT_ARRAY with 3 args.
17002
17003         * keymap.c (Faccessible_keymaps):
17004         Make (accessible-keymaps map "\C-h") do the Right Thing.
17005         Make (accessible-keymaps map []) do the Right Thing.
17006         Make (accessible-keymaps map "") do the Right Thing.
17007         (check_keymap_definition_loop): New function.
17008         (keymap_store_internal): Keep luser from shooting self in foot,
17009           via (define-key ctl-x-4-map "p" global-map).
17010         Remove fullness slot from struct Lisp_Keymap, since hash tables
17011         are now reliable.
17012         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17013
17014 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17015
17016         * redisplay.c (init_redisplay): Fix small memory leak.
17017         * elhash.h:
17018         * elhash.c (pdump_reorganize_hash_table):
17019         Rename from reorganize_hash_table. Change prototype.
17020         Reuse the original memory for hentries.  Save 100k.
17021         * alloc.c (PDUMP_READ): new macro.
17022         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17023         * alloc.c: No need to #ifndef before #undef.
17024
17025         * print.c: Allow debug_print() to print readably by modifying
17026         debug_print_readably.  Use consistent variable names.
17027
17028         * .dbxrc: Try to get things to work even if stopped in a function
17029         without source available by explicitly specifying source files.
17030 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17031
17032         * unexnt.c (_start): Removed bogus code which caused loading heap
17033         from differrent executable file.
17034         Removed bogus assignment to _fmode, which caused inconsistencies.
17035
17036 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17037
17038         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17039         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17040         Do not preliminary `#define signal sigset'.
17041
17042         * systime.h: Do not prototype environ on windows nt and cygwin,
17043         this conflicts with system header.
17044
17045         * syssignal.h: Use correct define for WINDOWSNT
17046
17047         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17048         with system header.
17049
17050         * sysdep.c (near start of file): Fixed commentary and rearranged
17051         ifdefs in readable order.
17052         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17053         (start_of_text):
17054         (end_of_text):
17055         (end_of_data): Do not compile in if using PDUMP.
17056
17057         * symsinit.h: Prototyped vars_of_nt().
17058
17059         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17060         (find_child_console): Use it.
17061         (sys_kill): Use it.
17062
17063         * ntheap.h: Do not extern os_subtype.
17064
17065         * ntheap.c (cache_system_info): Do not cache unneeded:
17066         nt_major_version, nt_minor_version and os_subtype.
17067         (recreate_heap): Do not compile in when PDUMPing.
17068
17069         * nt.c (geteuid and friends): Use the new varibale
17070         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17071         (init_user_info): Removed the above mentioned hackery.
17072         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17073         stat has been fixed in the C runtime.
17074         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17075
17076         * file-coding.c (struct file_coding_dump): Do not define
17077         ucs_to_mule_table in the struct if not MULE.
17078         (struct struct lrecord_description fcd_description_1): Do not dump
17079         the above.
17080
17081         * emacs.c (main_1): Call vars_of_nt().
17082         (right before Fdump_emacs_data): Don't need lastfile if using both
17083         portabe dumper and system malloc.
17084
17085         * alloc.c (Fmemory_limit): Conditionalized out.
17086         (pdump): Use OPEN_BINARY for the portable dump file.
17087         (pdump_load): Ditto.
17088
17089 2000-02-02  Mike Alexander  <mta@arbortext.com>
17090
17091         * nt.c (convert_time): Set tm_isdst before calling mktime and
17092         avoid calling it at all if the compiler supports 64 bit integers.
17093         Also initialize utc_base_ft before using it.
17094
17095 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17096
17097         * frame.c (change_frame_size_1): Take f->internal_border_width
17098         into consideration when calculating the width of the frame.
17099
17100 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17101
17102         * window.c (frame_min_height):
17103         (frame_size_valid_p):
17104         (frame_pixsize_valid_p): Added.
17105         (check_frame_size): Generalized.
17106
17107         * window.h: Prototyped the above.
17108
17109         * lisp.h:
17110         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17111         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17112         Deleted Vwin32_* and Vbinary_process_* unused variables.
17113
17114         * device-msw.c (msprinter_init_device): Do not get printer font
17115         list; Added DEVMODE functions.
17116
17117         * frame-msw.c: Added lots of printer code.
17118
17119         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17120         general.c.
17121
17122         * console-msw.h: Added more msprinter device private slots.
17123
17124 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17125
17126         * event-msw.c (key_needs_default_processing_p): Added.
17127         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17128
17129 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17130
17131         * glyphs.c (image_instance_layout): Mark image instance as clean
17132         after layout.
17133         (glyph_dirty_p): Removed redundant function.
17134         (invalidate_glyph_geometry_maybe): Added.
17135         (update_glyph_cachel_data): Call it.
17136
17137         * glyphs.h: Prototyped it.
17138
17139         * redisplay.c (add_glyph_rune): Call it.
17140         (redisplay_window): Reset glyphs cachels when frame faces have
17141         changed, thus forcing recomputation of built-in border glyphs.
17142
17143 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17144
17145         * Makefile.in.in: Make portable dumper and purify play well together.
17146         Add imperfect, but better than nothing, support for pdump.
17147         Remove xemacs.dmp when temacs is re-generated.
17148         Don't ignore errors when dumping xemacs.
17149
17150         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17151
17152 2000-01-28  Andy Piper  <andy@xemacs.org>
17153
17154         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17155         (setup_normal_frame): ditto.
17156         (setup_frame_without_minibuffer): ditto.
17157         (setup_minibuffer_frame): ditto.
17158         (delete_frame_internal): ditto.
17159         (Fmake_frame_invisible): ditto.
17160         (Ficonify_frame): ditto.
17161
17162         * window.h: change Fset_window_buffer signature.
17163
17164         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17165         (Fset_window_buffer): allow recording of buffer if the window is
17166         the selected window.
17167         (window_loop): Use new Fset_window signature.
17168
17169 2000-01-23  Daniel Pittman  <daniel@danann.net>
17170
17171         * config.h.in: Added template for `HAVE_ATHENA_3D'
17172
17173 2000-01-29  Andy Piper  <andy@xemacs.org>
17174
17175         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17176
17177         * gutter.c (output_gutter): Don't output if the window isn't live.
17178
17179 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17180
17181         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17182         of 01/12/00: Moved SetFocus back here where it belongs.
17183
17184 2000-01-23  Andy Piper  <andy@xemacs.org>
17185
17186         * s/cygwin32.h: declare printer things.
17187
17188 2000-01-26  Andy Piper  <andy@xemacs.org>
17189
17190         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17191         Alexander.
17192
17193 2000-01-24  Andy Piper  <andy@xemacs.org>
17194
17195         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17196         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17197
17198         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17199
17200         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17201
17202         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17203
17204         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17205         (mswindows_output_display_block): Avoid local shadows.
17206
17207         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17208         (mswindows_enqueue_mouse_button_event): ditto.
17209         (mswindows_handle_gui_wm_command): remove declaration.
17210
17211         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17212         warnings.
17213
17214         * console-msw.h: Avoid shadows.
17215         (mswindows_get_toolbar_button_text):
17216         (emacs_mswindows_create_stream_pair):
17217         (emacs_mswindows_delete_stream_pair):
17218         (mswindows_handle_toolbar_wm_command): declare.
17219
17220         * device-msw.c (build_syscolor_string): Avoid shadows.
17221
17222 2000-01-23  Andy Piper  <andy@xemacs.org>
17223
17224         * glyphs-widget.c (widget_instantiate): reverse the items for
17225         layouts so that children are in the expected order.
17226
17227 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17228
17229         * ralloc.c: safe_bcopy ==> memmove
17230         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17231         * s/msdos.h: Remove BCOPY macros.
17232         * insdel.c (gap_right): Remove BCOPY conditional code.
17233         * insdel.c (gap_left): Remove BCOPY conditional code.
17234         XEmacs demands a working ANSI C compiler - hence memmove.
17235
17236         * regex.c (regex_compile): Remove accidental use of trigraphs.
17237
17238 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17239
17240         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17241         event timestamp.
17242
17243 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17244
17245         * event-msw.c (mswindows_drain_windows_queue): Added the
17246         parameter.
17247         (mswindows_need_event): Commented the call to
17248         mswindows_drain_windows_queue().
17249         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17250         only.
17251
17252         * console-msw.h: Moved a few function prototypes here from
17253         event-msw.c.
17254
17255         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17256         parameter from unsigned short to unsigned long.
17257         (Fmswindows_shell_execute): Added return value.
17258
17259 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17260
17261         * sysdep.c (init_system_name):
17262           process-unix.c (unix_canonicalized_host_name):
17263         Don't call freeaddrinfo() if getaddrinfo() fails.
17264
17265         * process-unix.c (unix_open_unix_network_stream):
17266         Moved the code to get a port # into address loop.
17267
17268 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17269
17270         * buffer.c (reinit_vars_of_buffer):
17271         The right place to initialize conversion_in_dynarr and
17272         conversion_out_dynarr.
17273
17274         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17275
17276         * process-unix.c (unix_canonicalize_host_name): Muleize.
17277         (unix_open_network_stream): Muleize.
17278
17279         * buffer.h: Fix up prototypes for ralloc.c functions.
17280
17281 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17282         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17283         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17284                 instead of gethostbyname()
17285         * process-unix.c: In unix_canonicalize_host_name() and
17286                 unix_open_network_stream(), add code to use getaddrinfo()
17287                 instead of gethostbyname().
17288
17289 2000-01-27  Daniel Pittman <daniel@danann.net>
17290
17291         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17292         libs when built with flat Athena.
17293
17294 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17295
17296         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17297         Use coding standards for function prototypes.
17298
17299 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17300
17301         * dialog-msw.c (push_lisp_string_as_unicode):
17302         * doc.c (unparesseuxify_doc_string):
17303         * dired.c (Fuser_name_completion_1):
17304         * dired.c (Fuser_name_all_completions):
17305         * dired.c (free_user_cache):
17306         * dired.c (user_name_completion):
17307         * console-x.c (get_display_arg_connection):
17308         * minibuf.c (clear_echo_area_internal):
17309         * minibuf.c (echo_area_append):
17310         * eldap.c (Fldap_open):
17311         * eldap.c (Fldap_search_internal):
17312         * frame-x.c (x_set_frame_text_value):
17313         * frame-x.c (x_set_frame_properties):
17314         * frame-x.c (x_create_widgets):
17315         * redisplay-tty.c (term_get_fkeys_1):
17316         * objects-x.c (x_parse_nearest_color):
17317         * objects-x.c (x_valid_color_name_p):
17318         * objects-x.c (x_initialize_font_instance):
17319         * objects-x.c (x_list_fonts):
17320         * objects-x.c (x_find_charset_font):
17321         * tooltalk.c (Fadd_tooltalk_message_arg):
17322         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17323         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17324         * process-unix.c (unix_create_process):
17325         * ntproc.c (sys_spawnve):
17326         * sound.c (Fplay_sound_file):
17327         * sound.c (Fplay_sound):
17328         * buffer.c (init_initial_directory):
17329         * buffer.c (init_buffer):
17330         * editfns.c (init_editfns):
17331         * editfns.c (Ftemp_directory):
17332         * editfns.c (Fuser_full_name):
17333         * editfns.c (uncache_home_directory):
17334         * editfns.c (get_home_directory):
17335         * editfns.c (Fuser_home_directory):
17336         * editfns.c (Fformat_time_string):
17337         * editfns.c (Fcurrent_time_string):
17338         * gui-x.c (button_item_to_widget_value):
17339         * database.c (Fopen_database):
17340         * event-Xt.c (x_to_emacs_keysym):
17341         * event-Xt.c (x_event_to_emacs_event):
17342         * event-Xt.c (describe_event_window):
17343         * event-msw.c (mswindows_wnd_proc):
17344         * glyphs-eimage.c (jpeg_instantiate):
17345         * glyphs-eimage.c (gif_instantiate):
17346         * glyphs-eimage.c (png_instantiate):
17347         * glyphs-eimage.c (tiff_instantiate):
17348         * glyphs-x.c (xbm_instantiate_1):
17349         * glyphs-x.c (x_xbm_instantiate):
17350         * glyphs-x.c (x_xface_instantiate):
17351         * glyphs-x.c (autodetect_instantiate):
17352         * glyphs-x.c (cursor_font_instantiate):
17353         * glyphs-x.c (x_widget_instantiate):
17354         * glyphs-x.c (x_widget_set_property):
17355         * glyphs-x.c (x_widget_property):
17356         * glyphs-x.c (BUILD_GLYPH_INST):
17357         * print.c (write_string_to_stdio_stream):
17358         * print.c (output_string):
17359         * print.c (Falternate_debugging_output):
17360         * print.c (Fexternal_debugging_output):
17361         * glyphs-msw.c (extract_xpm_color_names):
17362         * glyphs-msw.c (mswindows_xpm_instantiate):
17363         * glyphs-msw.c (bmp_instantiate):
17364         * glyphs-msw.c (resource_name_to_resource):
17365         * glyphs-msw.c (mswindows_resource_instantiate):
17366         * glyphs-msw.c (xbm_instantiate_1):
17367         * glyphs-msw.c (mswindows_xbm_instantiate):
17368         * glyphs-msw.c (mswindows_xface_instantiate):
17369         * glyphs-msw.c (mswindows_widget_instantiate):
17370         * glyphs-msw.c (add_tree_item):
17371         * glyphs-msw.c (add_tab_item):
17372         * glyphs-msw.c (mswindows_combo_box_instantiate):
17373         * glyphs-msw.c (mswindows_widget_property):
17374         * glyphs-msw.c (mswindows_combo_box_property):
17375         * glyphs-msw.c (mswindows_widget_set_property):
17376         * console.c (stuff_buffered_input):
17377         * objects-msw.c (mswindows_initialize_color_instance):
17378         * objects-msw.c (mswindows_valid_color_name_p):
17379         * objects-msw.c (mswindows_list_fonts):
17380         * objects-msw.c (mswindows_font_instance_truename):
17381         * bytecode.c (optimize_compiled_function):
17382         * select-x.c (symbol_to_x_atom):
17383         * select-x.c (x_atom_to_symbol):
17384         * select-x.c (hack_motif_clipboard_selection):
17385         * select-x.c (selection_data_to_lisp_data):
17386         * select-x.c (lisp_data_to_selection_data):
17387         * select-x.c (Fx_get_cutbuffer_internal):
17388         * select-x.c (Fx_store_cutbuffer_internal):
17389         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17390         * buffer.h (TO_INTERNAL_FORMAT): New function.
17391         * emacs.c (make_arg_list_1):
17392         * emacs.c (make_argc_argv):
17393         * emacs.c (main_1):
17394         * emacs.c (Fdump_emacs):
17395         * emacs.c (split_string_by_emchar_1):
17396         * file-coding.h:
17397         * lisp.h:
17398         * lstream.h:
17399         * symsinit.h:
17400         * device-x.c (x_init_device):
17401         * device-x.c (Fx_valid_keysym_name_p):
17402         * device-x.c (Fx_get_font_path):
17403         * device-x.c (Fx_set_font_path):
17404         * glyphs.c (bitmap_to_lisp_data):
17405         * glyphs.c (pixmap_to_lisp_data):
17406         * alloc.c (make_ext_string): Use coding system arguments.  Update
17407         all callers.
17408         * alloc.c (build_string):
17409         * callproc.c (child_setup):
17410         * callproc.c (init_callproc):
17411         * fileio.c (lisp_strerror):
17412         * fileio.c (directory_file_name):
17413         * fileio.c (Fexpand_file_name):
17414         * fileio.c (Ffile_truename):
17415         * fileio.c (Fsysnetunam):
17416         * fileio.c (Fdo_auto_save):
17417         * sysdep.c (sys_readdir):
17418         * tests.c: New file.  Allow adding C tests.
17419         Replace GET_* macros with a more comprehensible and flexible
17420         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17421         Modify all calls.
17422         Any coding system can be used to do format conversion.
17423         Eliminate enum external_data_format.
17424         Eliminate convert_to_external_format.
17425         Eliminate convert_to_internal_format.
17426         Make sure file-name, keyboard, terminal, and ctext are always
17427         defined as coding systems or aliases.  Make
17428         file-name-coding-system, terminal-coding-system, and
17429         keyboard-coding-system magical variables that are equivalent to
17430         defining the corresponding coding system aliases.
17431
17432         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17433         * file-coding.c (Fcoding_system_alias_p): New function.
17434         * file-coding.c (Fcoding_system_aliasee): New function.
17435         * file-coding.c (append_suffix_to_symbol): New function.
17436         * file-coding.c (dangling_coding_system_alias_p): New function.
17437         * file-coding.c (Ffind_coding_system):
17438         * file-coding.c (Fcopy_coding_system):
17439         * file-coding.c (encode_coding_no_conversion):
17440         * file-coding.c (syms_of_file_coding):
17441         * file-coding.c (vars_of_file_coding):
17442         Rewrite coding system alias code.
17443         Allow nested aliases, like symbolic links.
17444         Allow redefinition of coding system aliases.
17445         Prevent existence of dangling coding system aliases.
17446
17447         * dired.c (Fuser_name_completion_1):
17448         * dired.c (Fuser_name_all_completions):
17449         A crash would happen if user did QUIT in the middle of building
17450         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17451
17452         * lisp.h:
17453         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17454
17455         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17456         an unsigned char *.  Update all callers.
17457
17458 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17459
17460         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17461
17462 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17463
17464         * elhash.c (hentry_description): Use more portable definition.
17465         (resize_hash_table): Initialize new hentries using
17466         xnew_array_and_zero, thereby simplifying the code.
17467
17468         * mule-charset.c (make_charset): Make sure entire object is
17469         initialized, to avoid Purify warnings.
17470
17471         * alloc.c (resize_string): Fix unlikely crash with big strings.
17472
17473 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17474
17475         * realpath.c (xrealpath):
17476         Don't call getwd().
17477
17478 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17479
17480         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17481
17482 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17483
17484         * unexelfsgi.c (unexec): Change the way we decide which segment
17485         should be extended.
17486
17487         Assumption that .bss section should be outside the PT_LOADable
17488         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17489         it's present) is inside the 'data' segment. This would fail the
17490         test which was used to find a segment to grow and cover new
17491         heap. Instead of this assumption, I created another one - on IRIX
17492         the segment to grow should start below .bss and it's address
17493         should extent above the end of .bss. Once this segment is
17494         identified, it's grown to accommodate the new heap and new
17495         zero-length .bss section is added at the end of .data2.
17496
17497 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17498
17499         * eval.c (Feval): Wrong number of arguments should use original
17500         function, not the indirect_function version of it.
17501
17502 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17503
17504         * glyphs-x.c (x_button_instantiate): Don't add image if
17505         it is not a pixmap.
17506         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17507         is relative.
17508
17509 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17510
17511         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17512         declaration.
17513         (DEFVAR_INT_MAGIC): Ditto.
17514         (DEFVAR_BOOL_MAGIC): Ditto.
17515         * glyphs.h: Reindent backslash.
17516
17517 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17518
17519         * glyphs-widget.c (layout_query_geometry):
17520         (layout_layout): Use correct types for gheight, gwidth.
17521
17522 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17523
17524         * EmacsManager.c (QueryGeometry): Purified.
17525
17526 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17527
17528         * alloc.c (make_float): Make sure entire object is initialized, to
17529         avoid Purify warnings.
17530         (pdump_register_sub): Remove useless assignment.
17531         (pdump): Use xmalloc, not malloc.
17532         (pdump_load): Use xmalloc, not malloc.
17533
17534 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17535
17536         * callproc.c:
17537         * dired-msw.c:
17538         * fileio.c:
17539         * process-nt.c:
17540         * redisplay-msw.c:
17541         * sysdep.c: Removed redundant #include <windows.h>
17542
17543 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17544
17545         * frame.c (delete_frame_internal): Do not delete device when its
17546         implementation so declares.
17547         (delete_frame_internal): Set device selected frame to nil when
17548         last frame goes away.
17549
17550         * device-msw.c (msprinter_device_system_metrics): Implemented.
17551         (mswindows_device_system_metrics): Added 'device-dpi property.
17552
17553         * device.c: (Fdevice_printer_p): Added.
17554         Added 'offset-workspace device metric.
17555
17556         * console.h (device_metrics): Declared DM_offset_workspace.
17557
17558 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17559
17560         * fileio.c (Ffile_truename): Remove pointless and confusing
17561         initialization of elen.
17562
17563         * glyphs-widget.c: Compiler warning fixes.
17564
17565 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17566
17567         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17568         instead of a Lisp_Object as argument to make it consistent with
17569         the other LIVE_P macros.
17570         (CHECK_LIVE_PROCESS): New macro.
17571
17572         * process.c: Declare Qprocess_live_p.
17573         (Fprocess_live_p): New function.
17574         (create_process): Use PROCESS_LIVE_P.
17575         (read_process_output): Ditto.
17576         (set_process_filter): Ditto.
17577         (Fdelete_process): Ditto.
17578         (kill_buffer_processes): Ditto
17579         (process_send_signal): Use CHECK_LIVE_PROCESS.
17580         (Fprocess_input_coding_system): Check whether process is still
17581         alive (fix PR#1061).
17582         (Fprocess_output_coding_system): Ditto.
17583         (Fprocess_coding_system): Ditto.
17584         (Fset_process_input_coding_system): Ditto.
17585         (Fset_process_output_coding_system): Ditto.
17586
17587 2000-01-23  Andy Piper  <andy@xemacs.org>
17588
17589         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17590         layout and widget.
17591
17592         * glyphs.c (mark_image_instance): take into account changed
17593         image_instance format.
17594         (image_instance_equal): ditto.
17595         (image_instance_hash): ditto.
17596
17597         * glyphs-widget.c (widget_instantiate): Incorporate layout
17598         instantiation here. Delay layout of the layout until later.
17599         (layout_instantiate): deleted.
17600         (layout_query_geometry): new function. get the geometry of a
17601         layout.
17602         (layout_layout): layout a layout dynamically.
17603         (image_instantiator_widget): New function - splitting up
17604         image_instantiator_format_create_glyphs_widget for netwinder
17605         compilation.
17606         (image_instantiator_buttons):
17607         (image_instantiator_edit_fields):
17608         (image_instantiator_combo_box):
17609         (image_instantiator_scrollbar):
17610         (image_instantiator_progress_guage):
17611         (image_instantiator_tree_view):
17612         (image_instantiator_tab_control):
17613         (image_instantiator_labels):
17614         (image_instantiator_layout): ditto.
17615         (image_instantiator_format_create_glyphs_widget): Call preceding
17616         functions.
17617
17618 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17619
17620         * process.c (Fset_process_coding_system):
17621         * device-x.c (Fx_keysym_hash_table):
17622         Docstring fixes.
17623
17624         * lstream.c (Lstream_write): Return documented value, not 0.
17625
17626         * fileio.c (directory_file_name):
17627         (Fsubstitute_in_file_name):
17628         (Fsubstitute_insert_file_contents_internal):
17629         (Fwrite_region_internal):
17630         * emacs.c:
17631         * sysdep.c:
17632         * getloadavg.c:
17633         * systty.h:
17634         Remove vestigial APOLLO-conditional code.
17635
17636 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17637
17638         * getpagesize.h: Add guard macros.
17639         * libsst.h: Add guard macros.
17640         * libst.h: Add guard macros.
17641         * line-number.h: Add guard macros.
17642         * ndir.h: Add guard macros.
17643         * sysfloat.h: Add guard macros.
17644         * sysfile.h: Add guard macros.
17645         * sysproc.h: Add guard macros.
17646         * syswait.h: Add guard macros.
17647         * xintrinsic.h: Add guard macros.
17648         * xintrinsicp.h: Add guard macros.
17649         * xmmanager.h: Add guard macros.
17650         * xmmanagerp.h: Add guard macros.
17651         * xmprimitive.h: Add guard macros.
17652         * xmu.h: Add guard macros.
17653         * gpmevent.h: Add copyright statement. Add guard macros.
17654         * miscplay.h: Add guard macros.
17655         * *.h: Use consistent C-standards-approved guard macro names.
17656
17657         * opaque.c (make_opaque): Switch parameter order.
17658         * opaque.h (make_opaque): Switch parameter order.
17659         Update all callers.
17660         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17661
17662         * config.h.in (type_checking_assert): Added.
17663         (bufpos_checking_assert): Added.
17664
17665 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17666
17667         * alloc.c: Harmless pdump changes.
17668         - Use countof().
17669         - spell alignment correctly.
17670         * sysdep.c: Use countof()
17671
17672 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17673
17674         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17675         initially_selected_for_input() console method, default to 0.
17676         (semi_canonicalize_console_connection): Try to delegate to
17677         canonicalize_console_connection if no such console method.
17678         (canonicalize_console_connection): Vice versa.
17679         (print_console): Do not print nil connection.
17680
17681         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17682         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17683         (XDEVIMPF_FRAMELESS_OK): Added.
17684         (CONSOLE_INHERITS_METHOD): Added.
17685
17686         * console-msw.c (mswindows_canonicalize_console_connection):
17687         Added.
17688         (mswindows_canonicalize_device_connection): Added.
17689
17690         * console-msw.h (struct msprinter_device): Added this struct and
17691         accessor macros.
17692         (mswindows_device): Made fontlist a lisp object.
17693
17694         * device.c (semi_canonicalize_device_connection):  Try to delegate
17695         to canonicalize_device_connection if no such console method.
17696         (canonicalize_device_connection): Vice versa.
17697         (print_device): Do not print nil connection.
17698
17699         * device-msw.c (mswindows_init_device): Call InitCommonControls
17700         when have widgets.
17701         (mswindows_delete_device): Removed fontlist deallocation.
17702         (mswindows_mark_device): Added.
17703
17704         * events.c (event_equal): Added abort() at unreached code.
17705         (event_hash): Ditto.
17706
17707         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17708         fallback tags of Windows devices.
17709
17710         * general.c (syms_of_general): Initialized Qmsprinter.
17711
17712         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17713         of fallback tags of Windows devices.
17714
17715         * lisp.h: Declared Qmsprinter.
17716
17717         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17718         of strings.
17719         (mswindows_list_fonts): Ditto.
17720         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17721         that it can be used by both mswindows and msprinter devices.
17722         (initialize_font_instance): Added.
17723         (mswindows_initialize_font_instance): Use it.
17724         (msprinter_initialize_font_instance): Added.
17725
17726         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17727         and implementation flags check.
17728         (redisplay_without_hooks): Changed the call to the above.
17729         (Fredraw_device): Ditto.
17730         (Fredisplay_device): Ditto.
17731
17732         * redisplay-msw.c (get_frame_dc): Implemented.
17733         (get_frame_compdc): Implemented.
17734         (many functions): Use the two functions above to get device
17735         contexts, ether for a window or a printer.
17736
17737 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17738
17739         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17740         initialization here.
17741         (init_symbols_once_early): Call it.
17742         * emacs.c (main_1): Call it.
17743         * symsinit.h: Declare it.
17744
17745 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17746
17747         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17748         Lisp_Object.
17749         (pdump_backtrace): Ditto.
17750         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17751         (pdump_get_entry): Abort if trying to register a null pointer.
17752         (pdump_dump_data): Cleanup types when relocating.
17753         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17754         (pdump_dump_rtables): Remove bad casts.
17755         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17756         Lisp_Object instead of a EMACS_INT for the hashtable
17757         reorganization.
17758
17759 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17760
17761         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17762
17763         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17764
17765         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17766
17767         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17768
17769 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17770
17771         * faces.h (FACE_STRIKETHRU_P): Added.
17772
17773         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17774         of font variants.
17775
17776         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17777         (mswindows_set_dc_font): New function, aware of font variants,
17778         separated from mswindows_update_dc.
17779
17780         * objects-msw.h (struct mswindows_font_instance_data): Added
17781         definition.
17782
17783         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17784         cached fonts and the data structure.
17785         (mswindows_initialize_font_instance): Added creation of font data
17786         structure.
17787         (mswindows_print_font_instance): Print at least something.
17788         (mswindows_create_font_variant): Implemented.
17789         (mswindows_get_hfont): Implemented.
17790
17791 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17792
17793         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17794         prototyping problem with msvc.
17795
17796         * emacs.c (main_1): added syms_of_gui_mswindows() call
17797
17798         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17799         syms_of_gui_mswindows() function
17800
17801         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17802
17803 2000-01-18  Martin Buchholz <martin@xemacs.org>
17804
17805         * XEmacs 21.2.27 is released.
17806
17807 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17808
17809         * glyphs-eimage.c (struct tiff_error_struct):
17810         (tiff_error_func):
17811         (tiff_warning_func):
17812         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17813
17814         * unexmips.c:
17815         * unexhp9k3.c:
17816         * unexfreebsd.c:
17817         * unexec.c: Remove vestigial Lucid C code.
17818         * unexalpha.c:
17819         * unexaix.c:
17820         * termcap.c:
17821         * libsst.c: Ansify.
17822         Remove declarations of errno and strerror().
17823
17824         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17825
17826         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17827
17828 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17829
17830         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17831         Optimize.
17832
17833 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17834
17835         * md5.c:
17836         * file-coding.c:
17837         * file-coding.h:
17838         Change enum eol_type to eol_type_t.
17839
17840 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17841
17842         * gui.c (get_gui_callback): Check cons before accessing car.
17843
17844 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17845
17846         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17847         (XSETSPECIFIER_TYPE): Ditto.
17848
17849 2000-01-17  Didier Verna  <didier@xemacs.org>
17850
17851         * redisplay.c (generate_fstring_runes): compute string size in
17852         characters, not bytes.
17853
17854 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17855
17856         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17857
17858 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17859
17860         * print.c (print_error_message): Call print_prepare().
17861
17862 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17863
17864         * .dbxrc: Renamed from dbxrc.
17865
17866         * events.c (event_to_character):
17867         Use `assert (foo)' instead of `if (!foo) abort()'
17868
17869         * .gdbinit (xtype): Add documentation.
17870         * .gdbinit (check-temacs): New function.
17871         * .gdbinit (check-xemacs): New function.
17872         * dbxrc (check-xemacs): New function.
17873         * dbxrc (check-xemacs): New function.
17874
17875 2000-01-14  Andy Piper  <andy@xemacs.org>
17876
17877         * glyphs-widget.c (widget_query_geometry): Make sure that we
17878         calculate default dimensions correctly.
17879
17880 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17881
17882         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17883
17884         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17885         pdump_wire'd variable.
17886
17887         * emacs.c: (main_1): Conditionalized calls to
17888         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17889
17890 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17891
17892         * window.c (Fset_window_configuration):
17893         * sysdep.c (_start):
17894         * input-method-motif.c (res):
17895         * event-Xt.c (Xt_process_to_emacs_event):
17896         Simple compiler warning fixes.
17897
17898         * bytecode.c (funcall_compiled_function): Use the original
17899         function symbol on the backtrace list in preference to the
17900         compiled_function object in error messages.
17901
17902 2000-01-13  Andy Piper  <andy@xemacs.org>
17903
17904         * glyphs-x.c (update_widget_face): Make sure we update the widget
17905         background as well as foreground.
17906
17907 2000-01-13  Andy Piper  <andy@xemacs.org>
17908
17909         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17910         fields to subwindow.
17911         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17912         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17913         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17914         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17915
17916         * glyphs-widget.c (check_valid_tab_orientation): new function.
17917         (initialize_widget_image_instance): zero orientation and
17918         justification.
17919         (widget_instantiate): pick up orientation.
17920         (tab_control_query_geometry): return appropriate values for
17921         vertical tabs.
17922
17923         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17924         appropriate creation flags for left, right and bottom tabs.
17925
17926         * s/cygwin32.h: add tab definitions.
17927
17928 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17929
17930         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17931         frame upon hiding a subwindow.
17932         (mswindows_button_instantiate): Changed the push button style to
17933         BS_PUSHBUTTON.
17934         (mswindows_button_instantiate): Removed button BS_NOTIFY
17935         style.
17936         (mswindows_button_instantiate): Removed redundant check for
17937         a disabled gui item.
17938         (mswindows_button_instantiate): Made use of WS_TABSTOP
17939         consistent: "operable" controls (edit, button, tree, scroll) have
17940         this style, "display-only" ones (static, progress gauge) do
17941         not. This style is currently ignored by XEmacs though. Also,
17942         removed the WS_EX_CONTROLPARENT style - it is not for children,
17943         it is for their parents!
17944         (mswindows_edit_field_instantiate): Ditto.
17945         (mswindows_progress_gauge_instantiate): Ditto.
17946         (mswindows_tree_view_instantiate): Ditto.
17947         (mswindows_tab_control_instantiate): Ditto.
17948         (mswindows_scrollbar_instantiate): Ditto.
17949         (mswindows_combo_box_instantiate): Ditto.
17950         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17951         style to the "clip" window.
17952         (mswindows_button_instantiate): Removed compilation warning by
17953         equally typing terms of the ?: operator.
17954
17955 2000-01-12  Didier Verna  <didier@xemacs.org>
17956
17957         * redisplay.c (generate_fstring_runes): new parameter holding the
17958         last modeline-format extent.
17959         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17960         extent, fill the glyph block with it.
17961         (generate_fstring_runes): handle these parameters.
17962         (generate_formatted_string_db): ditto.
17963
17964         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17965         glyphs'extents in the modeline.
17966
17967 1999-01-11  Mike Woolley  <mike@bulsara.com>
17968
17969         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17970         256Mb, as a workaround for the non-starting problem many people
17971         have experienced.
17972
17973 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17974
17975         * console-tty.c (Fset_console_tty_output_coding_system):
17976         Force redrawing tty frame.
17977
17978 2000-01-10  Didier Verna  <didier@xemacs.org>
17979
17980         * redisplay.c (generate_fstring_runes): fix size computation bug.
17981
17982 2000-01-09  William M. Perry <wmperry@aventail.com>
17983
17984         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17985
17986 2000-01-09  Andy Piper  <andy@xemacs.org>
17987
17988         * glyphs-msw.c: index -> i to avoid shadows.
17989         (xbm_create_bitmap_from_data): make static.
17990         (check_valid_string_or_int): deleted.
17991         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17992
17993         * glyphs-x.c (x_update_subwindow): remove unused args.
17994
17995         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17996         back pointer - this is done in allocate_image_instance.
17997         (query_string_font): return Qnil to make the compiler happy.
17998         (unmap_subwindow): set to ~0 to make the compiler happy.
17999         (glyph_query_geometry): comment out until used.
18000         (glyph_layout): ditto.
18001
18002 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
18003
18004         * insdel.c (signal_after_change): Remove extraneous unbind_to().