update.
[chise/xemacs-chise.git.1] / src / ChangeLog
1 2008-09-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2
3         * text-coding.c (struct decoding_stream): Add new member
4         `bom_flag' in XEmacs CHISE.
5         (reset_decoding_stream): Ignore U+FEFF in the beginning of stream
6         in XEmacs CHISE.
7
8 2008-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
9
10         * mule-charset.c: Move definition of `=jis-x0208@1978' to
11         lisp/mule/mule-conf.el.
12
13 2008-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
14
15         * mule-charset.c (Qpartial): New variable in XEmacs CHISE.
16         (make_charset): Add new argument `partial'.
17         (Fmake_charset): Add new property 'partial in XEmacs CHISE.
18         (Fmake_reverse_direction_charset): Modify for `make_charset'.
19         (syms_of_mule_charset): Add new builtin symbol `partial' in XEmacs
20         CHISE.
21         (complex_vars_of_mule_charset): Modify for `make_charset'; specify
22         `=jis-x0208' as a partial coded-charset.
23
24 2008-08-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
25
26         * text-coding.c (decode_add_er_char): Fix problem when a character
27         represented by an entity-reference is not defined.
28
29 2008-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
30
31         * char-ucs.h, chartab.c, fns.c, mule-charset.c: Rename Qmap_* to
32         Qrep_*.
33
34 2007-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
35
36         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.24
37         (Kasagi).
38
39 2006-06-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
40
41         * concord.c (Fconcord_object_put): Add reversed links when FEATURE
42         is a relation feature.
43
44 2006-06-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
45
46         * chartab.c (syms_of_chartab): Define
47         `{<-|->}{subsumptive|denotational}' when HAVE_CONCORD is defined.
48
49         * chartab.h (Q_denotational): New extern when UTF2000 or
50         HAVE_CONCORD is defined.
51         (Q_denotational_from): Likewise.
52         (Q_subsumptive): Likewise.
53         (Q_subsumptive_from): Likewise.
54
55 2006-06-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
56
57         * concord.c (concord_object_put): New function.
58         (Fconcord_object_put): Use `concord_object_put'.
59
60 2006-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
61
62         * concord.c (Fconcord_define_object): New function.
63         (syms_of_concord): Add new builtin function
64         `concord-define-object'.
65
66 2006-05-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
67
68         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.23
69         (Kamo).
70
71 2006-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
72
73         * concord.c: Add EXFUN for Fconcord_object_get.
74         (Vconcord_genre_object_hash_table): New variable.
75         (concord_genre_cache_get_object): New function.
76         (concord_genre_cache_put_object): New function.
77         (Fconcord_make_object): Use object cache; put object-ID into `=id'
78         feature.
79         (Fconcord_object_put): Call `concord_index_sync' after
80         `concord_index_strid_put_obj'.
81         (vars_of_concord): Setup Vconcord_genre_object_hash_table.
82
83 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
84
85         * concord.c (Fconcord_decode_object): Do GCPRO for
86         Fconcord_make_object.
87         (func_for_each_object): Likewise; do GCPRO for
88         for_each_object_closure->function.
89         (Fconcord_foreach_object_in_feature): Use GCPRO4 for
90         for_each_object_closure->function, for_each_object_closure->genre,
91         for_each_object_closure->ds and for_each_object_closure->ret.
92         (concord_object_validate): Do GCPRO for Fconcord_make_object.
93
94 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
95
96         * concord.c: Add EXFUNs for Fconcord_decode_object and
97         Fconcord_object_put.
98         (Fconcord_make_object): Change order of arguments.
99         (Fconcord_decode_object): Modify for Fconcord_make_object.
100         (func_for_each_object): Likewise.
101         (concord_object_validate): Likewise.
102         (concord_object_instantiate): Use GCPRO2 for `data' and `retval'.
103
104 2006-04-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
105
106         * concord.c (Fconcord_object_put): Setup index for `=FOO' feature.
107
108 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
109
110         * concord.c (Fconcord_decode_object): Try to use readable print
111         form as a key of Concord-index.
112         (Fconcord_object_get): Try to use readable print form as an ID of
113         Concord-object.
114         (Fconcord_object_put): Try to use readable print form as an ID of
115         Concord-object and a feature value.
116         (Fconcord_object_spec): Try to use readable print form as an ID of
117         Concord-object.
118
119 2006-04-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
120
121         * concord.c (print_concord_object): Support readable form.
122
123 2006-04-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
124
125         * emacs.c (main_1): Call `structure_type_create_concord' when
126         HAVE_CONCORD is defined.
127
128         * symsinit.h (structure_type_create_concord): New prototype.
129
130         * concord.c (Qconcord_object): New variable.
131         (Qgenre): Likewise.
132         (Q_id): Likewise.
133         (Fconcord_ds_directory): Use <char*> instead of <unsigned char*>
134         for directory.
135         (add_feature_to_list_mapper): Use <char*> instead of <unsigned
136         char*> for genre-name.
137         (Fconcord_feature_list): Likewise.
138         (Fconcord_make_object): Likewise.
139         (Fconcord_decode_object): Likewise; use <char*> instead of
140         <unsigned char*> for feature_name and strid.
141         (Fconcord_object_get): Use <char*> instead of <unsigned char*> for
142         c_obj and feature_name.
143         (Fconcord_object_put): Likewise; use <char*> instead of <unsigned
144         char*> for c_value.
145         (struct closure_for_object_spec): Use <char*> instead of <unsigned
146         char*> for member `object_id'.
147         (add_feature_to_spec_mapper): Use <char*> instead of <unsigned
148         char*> for feature-name.
149         (Fconcord_object_spec): Use <char*> instead of <unsigned char*>
150         for c_obj.
151         (func_for_each_object): Cast to avoid warnings.
152         (Fconcord_foreach_object_in_feature): Use <char*> instead of
153         <unsigned char*> for genre_name and feature_name.
154         (concord_name_validate): New function.
155         (concord_object_validate): Likewise.
156         (concord_object_instantiate): Likewise.
157         (syms_of_concord): Add new builtin symbols `concord-object',
158         `genre' and `=id'.
159         (structure_type_create_concord): New function.
160
161 2006-04-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
162
163         * concord.c (Vconcord_ds_hash_table): New variable.
164         (Vconcord_genre_hash_table): New variable.
165         (Fconcord_open_ds): Use Vconcord_ds_hash_table.
166         (Fconcord_ds_directory): New function.
167         (Fconcord_assign_genre): New function.
168         (Fconcord_genre_directory): New function.
169         (Fconcord_genre_ds): New function.
170         (Fconcord_feature_list): Allow to omit `ds'.
171         (Fconcord_make_object): Likewise.
172         (Fconcord_decode_object): Likewise.
173         (Fconcord_foreach_object_in_feature): Likewise.
174         (syms_of_concord): Add new builtin function Fconcord_ds_directory,
175         Fconcord_assign_genre, Fconcord_genre_directory and
176         Fconcord_genre_ds.
177         (vars_of_concord): Setup Vconcord_ds_hash_table and
178         Vconcord_genre_hash_table.
179
180 2006-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
181
182         * concord.c (struct closure_for_each_object): Add new member
183         `ret'.
184         (func_for_each_object): Setup the return value to
185         `for_each_object_closure->ret'.
186         (Fconcord_foreach_object_in_feature): If FUNCTION returns non-nil,
187         returns the value instead of Qt.
188
189 2005-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
190
191         * concord.c: New file.
192
193 2005-12-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
194
195         * lrecord.h (enum lrecord_type): Add `lrecord_type_concord_ds' and
196         `lrecord_type_concord_object'.
197
198 2005-09-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
199
200         * symsinit.h (syms_of_concord): New prototype.
201         (vars_of_concord): New prototype.
202
203         * emacs.c (main_1): Setup symbols and variable about concord if
204         HAVE_CONCORD is defined.
205
206         * config.h.in (HAVE_CONCORD): New macro.
207
208 2005-09-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
209
210         * chartab.c (Fput_char_attribute): For each character relation
211         feature `{<-|->}FOO', set up the reversed link `{->|<-}FOO'.
212
213 2005-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
214
215         * chartab.c (Fput_char_attribute): Use
216         `Fchar_refs_simplify_char_specs' for `=>decomposition' before
217         calling `put_char_composition'.
218
219 2005-08-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
220
221         * chartab.c (Q_halfwidth_of): New variable.
222         (put_char_composition): Return `<-halfwidth' instead of
223         `=decomposition' for compatibility mapping to single character
224         tagged `narrow'.
225         (Fput_char_attribute): Convert char-specs in value of
226         `{<-|->}halfwidth[^*]*' to characters and put reverse links.
227         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
228         for `<-halfwidth'.
229         (syms_of_chartab): Add new symbol `<-halfwidth'.
230
231 2005-08-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
232
233         * chartab.c (put_char_composition): Return
234         `<-formed@{isolated|initial|medial|final}' for compatibility
235         mapping to single character tagged
236         `{isolated|initial|medial|final}'.
237
238 2005-08-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
239
240         * chartab.c (Q_compat_of): Deleted.
241         (put_char_composition): Return `<-FOO' for compatibility mapping
242         to single character tagged `FOO'; use `Fsymbol_name (...)' instead
243         of `symbol_name (XSYMBOL(...))'.
244         (Fput_char_attribute): Convert char-specs in value of
245         `{<-|->}font[^*]*' to characters and put reverse links.
246         (Fsave_char_attribute_table): Don't refer Q_compat_of.
247         (syms_of_chartab): Delete builtin symbol `<-compat'.
248
249 2005-08-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
250
251         * chartab.c (Q_circled_of): New variable.
252         (put_char_composition): Return `<-circled' instead of
253         `=decomposition' for compatibility mapping to single character
254         tagged `circle'.
255         (Fput_char_attribute): Convert char-specs in value of
256         `{<-|->}circled[^*]*' to characters and put reverse links.
257         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
258         for `<-circled'.
259         (syms_of_chartab): Add new symbol `<-circled'.
260
261 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
262
263         * chartab.c (Qto_decomposition_at_circled): New variable.
264         (put_char_composition): Return `=>decomposition@circled' instead
265         of `=decomposition' for compatibility decomposition mapping tagged
266         `circle'.
267         (syms_of_chartab): Add new symbol `=>decomposition@circled'.
268
269 2005-08-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
270
271         * chartab.c (Q_subscript_of): New variable.
272         (put_char_composition): Return `<-subscript' instead of
273         `=decomposition' for compatibility mapping to single character
274         tagged `sub'.
275         (Fput_char_attribute): Convert char-specs in value of
276         `{<-|->}subscript[^*]*' to characters and put reverse links.
277         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
278         for `<-subscript'.
279         (syms_of_chartab): Add new symbol `<-subscript'.
280
281 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
282
283         * chartab.c (Q_superscript_of): New variable.
284         (put_char_composition): Return `<-superscript' instead of
285         `=decomposition' for compatibility mapping to single character
286         tagged `super'.
287         (Fput_char_attribute): Convert char-specs in value of
288         `{<-|->}superscript[^*]*' to characters and put reverse links.
289         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
290         for `<-superscript'.
291         (syms_of_chartab): Add new symbol `<-superscript'.
292
293 2005-08-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
294
295         * chartab.c (Qto_decomposition_at_compat): Deleted.
296         (Qto_decomposition_at_superscript): New variable.
297         (put_char_composition): Use `=>decomposition@superscript' instead
298         of `=decomposition' for compatibility decomposition mapping tagged
299         `super'.
300         (Fput_char_attribute): Fix condition about `put_char_composition'.
301         (syms_of_chartab): Delete builtin symbol `=>decomposition@compat';
302         add news symbol `=>decomposition@superscript'.
303
304 2005-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
305
306         * chartab.c (put_char_composition): Return `=>decomposition@FOO'
307         for compatibility decomposition mapping tagged FOO.
308         (Fput_char_attribute): Modify for `put_char_composition'.
309
310 2005-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
311
312         * chartab.c (Qto_decomposition_at_compat): New variable.
313         (Q_compat_of): Renamed from `Q_compatibility_of'.
314         (put_char_composition): Rename `Q_compatibility_of' to
315         `Q_compat_of'; return `=>decomposition@compat' for compatibility
316         decomposition mapping.
317         (Fsave_char_attribute_table): Rename `Q_compatibility_of' to
318         `Q_compat_of'.
319         (syms_of_chartab): Add new symbol `=>decomposition@compat'; rename
320         `<-compatibility' to `<-compat'.
321
322 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
323
324         * chartab.c (Q_compatibility_of): New variable.
325         (put_char_composition): Use XCAR/XCDR instead of Fcar/Fcdr if an
326         object is proved to be a cons cell; return `<-compatibility' if
327         the first element of argument `value' is `compat'.
328         (Fput_char_attribute): Eliminate the first value if
329         `put_char_composition' returns `<-compatibility'.
330         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
331         for `<-compatibility'.
332         (syms_of_chartab): Add new symbol `<-compatibility'.
333
334 2005-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
335
336         * chartab.c (Q_canonical): New variable.
337         (put_char_composition): Return a feature name: return
338         `->canonical' if argument `value' specifies single character.
339         (Fput_char_attribute): Use `put_char_composition' to determine
340         feature name for `=decomposition' or `->denotational'.
341         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
342         for `->canonical'.
343         (syms_of_chartab): Add new symbol `->canonical'.
344
345 2005-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
346
347         * chartab.c (Qmap_decomposition): New variable.
348         (Fput_char_attribute): Convert `->decomposition' to
349         `=decomposition'.
350         (syms_of_chartab): Add new symbol `=decomposition'.
351
352 2005-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
353
354         * chartab.c (Fget_range_char_table): Fix serious problem when
355         `range' is nil.
356
357 2005-06-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
358
359         * chartab.c (char_table_get_db): Use `read_from_c_string'.
360
361 2005-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
362
363         * lread.c (read_from_c_string): New function.
364
365         * lisp.h (read_from_c_string): New prototype.
366
367 2005-05-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
368
369         * chartab.c (Fput_char_attribute): Convert char-specs in value of
370         `{<-|->}Oracle-Bones[^*]*' to characters and put reverse links.
371         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
372         for `{<-|->}Oracle-Bones[^*]*'.
373
374 2005-05-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
375
376         * mule.c (vars_of_mule): Update `xemacs-chise-version' to 0.22
377         (Kizu).
378
379 2005-02-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
380
381         * text-coding.c (Qccs_priority_list): New variable in XEmacs
382         CHISE.
383         (Fmake_coding_system): Support new property `ccs-priority-list' in
384         XEmacs CHISE.
385         (Fcoding_system_property): Likewise.
386         (char_encode_iso2022): Prefer CODING_SYSTEM_CCS_PRIORITY_LIST than
387         Vdefault_coded_charset_priority_list in XEmacs CHISE.
388         (syms_of_file_coding): Add builtin symbol `ccs-priority-list' in
389         XEmacs CHISE.
390         (complex_vars_of_file_coding): Define new coding-system-property
391         `ccs-priority-list' in XEmacs CHISE.
392
393         * file-coding.h (XCODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
394
395 2004-12-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
396
397         * char-ucs.h (decoding_table_put_char): Moved to mule-charset.c;
398         changed to normal function.
399         (encode_char_2): Likewise.
400
401         * mule-charset.c (decoding_table_put_char): Copied from
402         char-ucs.h; changed to normal function.
403         (encode_char_2): Likewise.
404
405 2004-12-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
406
407         * char-ucs.h (Vdisplay_coded_charset_priority_use_inheritance):
408         New extern.
409         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
410         (encode_char_2_search_children): New inline function.
411         (encode_char_2): Refer
412         `Vdisplay_coded_charset_priority_use_{inheritance|hierarchy_order}'
413         and use `encode_char_2_search_children'.
414
415 2004-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
416
417         * mule-charset.c
418         (Vdisplay_coded_charset_priority_use_inheritance): New variable.
419         (Vdisplay_coded_charset_priority_use_hierarchy_order): Likewise.
420         (vars_of_mule_charset): Add new variable
421         `display-coded-charset-priority-use-inheritance' and
422         `display-coded-charset-priority-use-hierarchy-order'.
423
424 2004-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
425
426         * char-ucs.h (Q_subsumptive): New extern.
427         (Q_denotational): Likewise.
428         (encode_char_2): Search children specified by `->subsumptive' and
429         `->denotational'.
430
431 2004-11-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
432
433         * mule-charset.c (complex_vars_of_mule_charset): Modify the
434         X-registry of `ucs-bmp'.
435
436 2004-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
437
438         * chartab.c (char-variants): Refer `->subsumptive',
439         `->denotational' and `->identical' as same as `->ucs-unified'.
440
441 2004-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
442
443         * chartab.c (Fput_char_attribute): Convert char-specs in value of
444         `{<-|->}{fullwidth|halfwidth}[^*]*' to characters and put reverse
445         links.
446
447 2004-09-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
448
449         * text-coding.c: Add EXFUN for `Fregexp_quote'.
450         (decode_add_er_char): Fix problem about infinite loop when a CCS
451         specified in `coded-charset-entity-reference-alist' is not
452         existed.
453
454 2004-09-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
455
456         * mule-charset.c (syms_of_mule_charset): Rename
457         `=jis-x0208-{1978|1983|1990}' to `=jis-x0208@{1978|1983|1990}'.
458
459 2004-08-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
460
461         * fns.c (simplify_char_spec): Don't allocate new character-object
462         if specified char_spec does not have any CCS-features.
463
464         * chartab.h: Add EXFUN for Fdefine_char.
465
466         * chartab.c: Delete EXFUN for Fdefine_char.
467
468 2004-08-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
469
470         * fns.c (simplify_char_spec): Use Fdefine_char instead of
471         Ffind_char for char-spec.
472
473 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
474
475         * lisp-disunion.h (XCHARVAL): Fix condition about
476         SIZEOF_EMACS_INT.
477
478 2004-07-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
479
480         * mule-charset.c (decode_builtin_char): Use <EMACS_INT> instead of
481         <int> for `code'.
482         (Fdecode_builtin_char): Use <EMACS_INT> instead of <int> for code
483         point; use <Emchar> instead of <int> for character-id.
484
485 2004-07-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
486
487         * lisp-disunion.h (make_int): Cast the argument into <EMACS_INT>.
488         (make_char): Likewise.
489         (XCHARVAL): Don't use the inline function for UTF-2000 in 64 bit
490         environment.
491         (XCHARVAL[for UTF-2000 in 32 bit environment]): Use <Emchar>
492         instead of <int> as the type of return value; use <Lisp_Object>
493         instead of <Emchar> as the type of argument.
494         (XCHARVAL[macro version]): Cast the result into <Emchar>.
495
496         * syntax.h (SYNTAX_CODE_UNSAFE): Use <Lisp_Object> and <enum
497         syntaxcode> instead of <int>.
498
499 2004-07-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
500
501         * chartab.c (put_char_composition): Use DECODE_CHAR to get
502         character corresponding with UCS code point.
503         (Fput_char_attribute): Likewise.
504
505         * mule-charset.c (put_char_ccs_code_point): Don't omit a UCS
506         character in the UCS decoding-table if the char-id is not equal to
507         the UCS code point.
508
509 2004-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
510
511         * mule-charset.c (Fsave_charset_properties): Use `true-name' only
512         for aliases; write `description'; write
513         `mother-code-{min|max|offset|conversion}' if CHARSET_MAX_CODE is
514         not 0.
515
516 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
517
518         * chartab.c (Fsave_char_attribute_table): Don't use
519         `save_charset_properties'.
520
521         * mule-charset.c (Fsave_charset_properties): Renamed from
522         `save_charset_properties' and changed to Lisp function again;
523         write property `type' as `CCS'; write properties `final-byte' and
524         `mother' if they exists.
525         (syms_of_mule_charset): Revive builtin function
526         `save-charset-properties' when HAVE_LIBCHISE is defined.
527
528 2004-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
529
530         * chartab.c (open_chise_data_source_maybe): Use Vdata_directory
531         instead of Vexec_directory.
532         (char_attribute_system_db_file): Likewise.
533
534 2004-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
535
536         * chartab.c (Fsave_char_attribute_table): Use
537         `save_charset_properties' for CCS features when HAVE_LIBCHISE is
538         defined.
539
540         * mule-charset.c (save_charset_properties): Renamed from
541         `Fsave_charset_properties'; changed to non-Lisp function.
542         (syms_of_mule_charset): Abolish builtin function
543         `save-charset-properties'.
544
545 2004-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
546
547         * mule-charset.c (Fsave_charset_properties): New function when
548         HAVE_LIBCHISE is defined.
549         (syms_of_mule_charset): Add new builtin function
550         `save-charset-properties' when HAVE_LIBCHISE is defined.
551
552 2004-06-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
553
554         * chartab.c (Fput_char_attribute): Convert char-specs in value of
555         `{<-|->}ancient[^*]*' to characters and put reverse links.
556         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
557         for `{<-|->}ancient[^*]*'.
558
559 2004-06-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
560
561         * chartab.c (Fput_char_attribute): Convert char-specs in value of
562         `{<-|->}original[^*]*' to characters and put reverse links.
563         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
564         for `{<-|->}original[^*]*'.
565
566 2004-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
567
568         * mule-canna.c (m2c): Fix problem with XEmacs CHISE.
569
570 2004-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
571
572         * mule-charset.c (Qsystem_char_id): New variable.
573
574         * chartab.c (Qsystem_char_id): Deleted even if HAVE_CHISE is
575         defined and HAVE_LIBCHISE_LIBCHISE is not defined.
576
577 2004-05-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
578
579         * chartab.c (Fput_char_attribute): When processing a reference of
580         a character, put into the end of the reversed reference of each
581         target character.
582
583 2004-05-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
584
585         * chartab.c (Q_same): Deleted.
586         (Q_same_of): Deleted.
587         (Fput_char_attribute): Use Fstring_match to find `{<-|->}same'.
588         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
589         for `{<-|->}same'.
590         (syms_of_chartab): Delete builtin symbol `{<-|->}same'.
591
592 2004-05-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
593
594         * chartab.c (Q_vulgar): Deleted.
595         (Q_vulgar_of): Deleted.
596         (Fput_char_attribute): Use Fstring_match to find `{<-|->}vulgar'.
597         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
598         for `{<-|->}vulgar'.
599         (syms_of_chartab): Don't define `{<-|->}vulgar'.
600
601 2004-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
602
603         * chartab.c (Fput_char_attribute): Convert char-specs in value of
604         `{<-|->}wrong[^*]*' to characters and put reverse links.
605         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
606         for `{<-|->}wrong[^*]*'.
607
608 2004-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
609
610         * chartab.c (Q_vulgar): New variable.
611         (Q_vulgar_of): New variable.
612         (Fput_char_attribute): Convert char-specs in value of
613         `{->|<-}vulgar' to characters and put reverse links.
614         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
615         for `{->|<-}vulgar'.
616         (syms_of_chartab): Add new symbols `{->|<-}vulgar'.
617
618 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
619
620         * text-coding.c (decode_add_er_char): Must to quote prefix string
621         as regexp.
622
623 2004-04-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
624
625         * mule-charset.c (put_char_ccs_code_point): Store characters of
626         =ucs whose code_points >= 0xF0000.
627
628 2004-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
629
630         * mule-charset.c (Vcharset_system_char_id): New variable in XEmacs
631         CHISE.
632         (syms_of_mule_charset): Add new symbol `system-char-id' in XEmacs
633         CHISE.
634         (complex_vars_of_mule_charset): Add new coded-charset
635         `system-char-id' in XEmacs CHISE; modify `=ucs' to eliminate
636         builtin characters over 0xEFFFF.
637
638         * chartab.c (syms_of_chartab): Don't define symbol
639         `system-char-id' in every case.
640
641         * char-ucs.h (Qsystem_char_id): New extern variable.
642         (LEADING_BYTE_SYSTEM_CHAR_ID): New macro.
643
644 2004-04-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
645
646         * text-coding.c (char_encode_utf8): Try to use entity-references
647         for U-000F0000 ...  U-0010FFFF.
648
649 2004-04-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
650
651         * text-coding.c (ER_BUF_SIZE): New macro.
652         (struct decoding_stream): Use `ER_BUF_SIZE' to specify size of
653         `er_buf'.
654         (decode_add_er_char): Use `ER_BUF_SIZE' instead of 16.
655         (char_encode_as_entity_reference): Use `ER_BUF_SIZE'.
656
657 2004-03-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
658
659         * chartab.c (find_char_feature_in_family): New function.
660         (Fchar_feature): Use `find_char_feature_in_family' with
661         `->identical', `<-subsumptive' and `<-denotational'.
662
663 2004-03-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
664
665         * text-coding.c (char_encode_as_entity_reference): Allow prefix
666         within 8 characters; fix infinite loop.
667
668 2004-03-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
669
670         * chartab.c (Q_same): New variable.
671         (Q_same_of): New variable.
672         (Fput_char_attribute): Convert char-specs in value of
673         `{->|<-}same' to characters and put reverse links.
674         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
675         for `{->|<-}same'.
676         (syms_of_chartab): Add new symbols `{->|<-}same'.
677
678 2004-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
679
680         * chartab.c (Q_component): New variable.
681         (Q_component_of): Likewise.
682         (Fput_char_attribute): Convert char-specs in value of
683         `{->|<-}ideographic-component-forms' to characters and put reverse
684         links.
685         (syms_of_chartab): Add new symbols
686         `{->|<-}ideographic-component-forms'.
687
688 2004-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
689
690         * chartab.c (Q_identical): New variable.
691         (Q_identical_from): New variable.
692         (Fchar_feature): Regard `->identical' as a feature to find
693         ancestors.
694         (Fput_char_attribute): Add reversed link for `{->|<-}identical'.
695         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
696         for `{->|<-}identical'.
697         (syms_of_chartab): Add new symbols `{->|<-}identical'.
698
699 2004-02-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
700
701         * char-ucs.h (encode_char_2): New inline function.
702         (CHAR_TO_CHARC): Use `encode_char_2' instead of `encode_char_1'.
703
704 2004-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
705
706         * chartab.c (Fput_char_attribute): Convert char-specs to
707         characters in value of `ideographic-structure'.
708         (Fsave_char_attribute_table): Use `Fchar_refs_simplify_char_specs'
709         for `{<-|->}simplified(@...)'.
710         (Fdefine_char): Try to use predefined character's id.
711
712 2004-02-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
713
714         * fns.c (simplify_char_spec): Try to convert builtin chars to
715         defined chars.
716
717 2004-02-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
718
719         * chartab.c (Fput_char_attribute): Convert char-specs in value of
720         `<-simplified[^*]*' to characters and put reverse links.
721
722 2004-02-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
723
724         * chartab.c (Q_subsumptive): Renamed from Q_unified.
725         (Q_subsumptive_from): Renamed from Q_unified_from.
726         (Fchar_feature): Use `Q_subsumptive_from' instead of
727         `Q_unified_from'.
728         (Fput_char_attribute): Likewise; Use `Q_subsumptive' instead of
729         `Q_unified'.
730         (syms_of_chartab): Rename `->unified' to `->subsumptive' and
731         `<-unified' to `<-subsumptive'.
732
733 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
734
735         * chartab.c (Fchar_feature): Check `<-denotational' to avoid
736         inheritance itself; fix typo; stop recursive search if cyclic
737         inheritance is found.
738
739 2004-02-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
740
741         * chartab.c (Q_denotational): New variable.
742         (Q_denotational_from): New variable.
743         (Fchar_feature): Refer `<-denotational' as same as `<-unified'.
744         (put_char_attribute): New function.
745         (Fput_char_attribute): Use `put_char_attribute'; regard
746         `->denotational' and `<-denotational' as same as `->unified' and
747         `<-unified'.
748         (syms_of_chartab): Add new symbols `->denotational' and
749         `<-denotational'.
750
751 2004-02-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
752
753         * chartab.c (Fget_composite_char): Use `Fchar_feature' instead of
754         `Fget_char_attribute'.
755         (Fchar_variants): Likewise.
756         (get_char_table): Likewise.
757         (Fchar_feature): New function.
758         (put_char_composition): Use `Fchar_feature' instead of
759         `Fget_char_attribute'.
760         (Fput_char_attribute): Likewise; don't put the target character
761         into its `->unified' value.
762         (syms_of_chartab): Add new builtin function `char-feature'.
763
764 2004-01-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
765
766         * text-coding.c (COMPOSE_ADD_CHAR): Use `Fchar_feature' instead of
767         `Fget_char_attribute'.
768         (char_encode_utf8): Likewise.
769
770         * chartab.h: Add an EXFUN for `Fchar_feature'.
771
772 2004-01-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
773
774         * chartab.c (Vnext_defined_char_id): New variable.
775         (Fput_char_attribute): Accept characters in `->unified'.
776         (Fdefine_char): Refer and update Vnext_defined_char_id to allocate
777         new characters which are not related with builtin char-id ranges.
778         (vars_of_chartab): Add new variable `next-defined-char-id'.
779
780 2004-01-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
781
782         * chartab.c (Q_unified): New variable.
783         (Q_unified_from): New variable.
784         (Fput_char_attribute): Add code for `->unified'.
785         (syms_of_chartab): Add new symbols `->unified' and `<-unified' in
786         XEmacs CHISE.
787
788 2003-11-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
789
790         * mule-charset.c (decode_ccs_conversion): New function.
791         (decode_defined_char): Use `decode_ccs_conversion'.
792         (decode_builtin_char): Likewise.
793
794 2003-11-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
795
796         * char-ucs.h: Change some charset-ids of private coded-charsets.
797
798 2003-11-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
799
800         * text-coding.c (decode_add_er_char): Modify for `DECODE_CHAR'.
801         (char_encode_as_entity_reference): Likewise.
802         (decode_coding_big5): Modify for `decode_defined_char' and
803         `DECODE_CHAR'.
804         (decode_coding_utf8): Modify for `decode_defined_char'; modify to
805         avoid compiler warning.
806         (decode_coding_iso2022): Modify for `DECODE_CHAR'.
807
808         * mule-charset.c (decode_defined_char): Add new argument
809         `without_inheritance'.
810         (Fdecode_char): Add new optional argument `without_inheritance'.
811         (Fdecode_builtin_char): Modify for `Fdecode_char'.
812
813         * fns.c (ids_format_unit): Modify for `Fdecode_char'.
814         (simplify_char_spec): Likewise.
815
816         * chartab.h (Fdecode_char): Modify number of arguments of EXFUN
817         setting.
818
819         * chartab.c (put_char_table): Modify for `DECODE_CHAR'.
820         (map_char_table): Likewise.
821         (Fdefine_char): Use `Fdecode_char' without inheritance.
822         (Ffind_char): Modify for `Fdecode_char'.
823
824         * character.h (CHARC_TO_CHAR): Modify for `DECODE_CHAR'.
825
826         * char-ucs.h (decode_defined_char): Add new argument
827         `without_inheritance'.
828         (DECODE_CHAR): Likewise.
829         (MAKE_CHAR): Modify for `DECODE_CHAR'.
830
831 2003-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
832
833         * chartab.c (Vchise_system_db_directory): New variable.
834         (vars_of_chartab): Add new variable `chise-system-db-directory'.
835
836 2003-10-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
837
838         * chartab.c: EXFUN `Fmount_char_attribute_table'.
839         (print_chartab_range): Don't define when `UTF2000' is defined.
840         (open_chise_data_source_maybe): Specify 0 instead of DB_HASH for
841         `CHISE_DS_open'.
842
843 2003-10-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
844
845         * chartab.c (Fchar_attribute_list): When HAVE_LIBCHISE is defined
846         and optional argument `rehash' is specified, call
847         `open_chise_data_source_maybe' before
848         `chise_ds_foreach_char_feature_name' is called.
849
850 2003-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
851
852         * chartab.c (char_attribute_list_reset_map_func): New function
853         when HAVE_LIBCHISE is defined.
854         (Fchar_attribute_list): Add new optional argument `rehash' when
855         HAVE_LIBCHISE is defined.
856         (open_chise_data_source_maybe): Use "chise-db" instead of
857         "char-db".
858         (char_attribute_system_db_file): Likewise.
859         (Fload_char_attribute_table): Use
860         `chise_feature_foreach_char_with_value' instead of
861         `chise_char_feature_value_iterate'.
862
863 2003-10-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
864
865         * chartab.c (Vchise_db_directory): New variable.
866         (vars_of_chartab): Add new built-in variable `chise-db-directory'.
867
868 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
869
870         * mule-charset.c (Freset_charset_mapping_table): Use HAVE_LIBCHISE
871         instead of HAVE_CHISE to specify using with libchise.
872
873         * config.h.in (HAVE_CHISE_CLIENT): Deleted.
874
875         * chartab.h: Don't use HAVE_CHISE_CLIENT.
876
877         * chartab.c (Qsystem_char_id): Don't define when HAVE_CHISE is not
878         defined or HAVE_LIBCHISE_LIBCHISE is defined.
879         (char_attribute_system_db_file): Don't define when HAVE_LIBCHISE
880         is defined.
881         (Freset_char_attribute_table): Use HAVE_LIBCHISE instead of
882         HAVE_CHISE to specify using with libchise.
883         (syms_of_chartab): Don't define symbol `system-char-id' when
884         HAVE_CHISE is not defined or HAVE_LIBCHISE_LIBCHISE is defined.
885
886 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
887
888         * mule-charset.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
889         specify CHISE DB support.
890         (Freset_charset_mapping_table): Use `chise_ccs_setup_db' instead
891         of `char_attribute_system_db_file' to check feature DB file.
892
893         * chartab.h, casetab.c, char-ucs.h: Use HAVE_CHISE instead of
894         HAVE_CHISE_CLIENT to specify CHISE DB support.
895
896         * chartab.c: Use HAVE_CHISE instead of HAVE_CHISE_CLIENT to
897         specify CHISE DB support.
898         (open_chise_data_source_maybe): Don't define when HAVE_LIBCHISE is
899         not defined.
900         (Freset_char_attribute_table): Use `chise_feature_setup_db'
901         instead of `char_attribute_system_db_file' to check feature DB
902         file.
903
904 2003-10-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
905
906         * mule.c (vars_of_mule): Use `HAVE_CHISE' instead of `CHISE' and
907         `HAVE_CHISE_CLIENT'.
908
909 2003-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
910
911         * mule-charset.c: Use HAVE_LIBCHISE instead of CHISE.
912         (Fsave_charset_mapping_table): Don't use
913         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
914
915         * config.h.in (HAVE_CHISE): Renamed from `CHISE'.
916         (HAVE_LIBCHISE): New macro.
917
918         * chartab.h: Use HAVE_LIBCHISE instead of CHISE.
919
920         * chartab.c: Use HAVE_LIBCHISE instead of CHISE.
921         (Fsave_char_attribute_table): Don't use
922         `char_attribute_system_db_file' when HAVE_LIBCHISE is defined.
923
924 2003-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
925
926         * chartab.c (save_uint8_byte_table): Use libchise when CHISE is
927         defined.
928         (save_uint16_byte_table): Likewise.
929         (save_byte_table): Likewise.
930         (char_table_get_db): Use `chise_ds_load_char_feature_value'
931         instead of `chise_char_load_feature_value'.
932         (Fsave_char_attribute_table): Use libchise when CHISE is defined.
933
934 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
935
936         * chartab.h (struct Lisp_Char_Table): Delete member
937         `feature_table' if CHISE is defined.
938
939         * chartab.c (Fmake_char_table): Don't refer `ct->feature_table'.
940         (Fcopy_char_table): Likewise.
941         (char_table_open_db_maybe): Likewise.
942         (char_table_close_db_maybe): Likewise.
943         (char_table_get_db): Likewise.
944         (Fmount_char_attribute_table): Likewise.
945         (Fload_char_attribute_table): Likewise.
946
947 2003-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
948
949         * mule-charset.c (load_char_decoding_entry_maybe): Use
950         `chise_ds_decode_char' instead of `chise_ds_get_ccs' and
951         `chise_ccs_decode'.
952
953 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
954
955         * chartab.c (open_chise_data_source_maybe): Use `CHISE_DS_open'
956         instead of `chise_open_data_source'.
957         (Fclose_char_data_source): Use `CHISE_DS_close' instead of
958         `chise_ds_close'.
959
960 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
961
962         * chartab.c (char_table_open_db_maybe): Use `chise_ds_get_feature'
963         instead of `chise_ds_open_feature_table'.
964         (char_table_close_db_maybe): Don't use `chise_ft_close'.
965
966 2003-10-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
967
968         * mule-charset.c (Fsave_charset_mapping_table): Use
969         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; use
970         `chise_ccs_set_decoded_char' instead of `chise_ccst_put_char'; use
971         `chise_ccs_sync' instead of `chise_ccst_close'.
972         (load_char_decoding_entry_maybe): Modify for `chise_ds_get_ccs'.
973
974         * chartab.c (open_chise_data_source_maybe): Modify for
975         `chise_open_data_source'.
976         (char_table_open_db_maybe): Modify for
977         `chise_ds_open_feature_table'.
978
979 2003-08-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
980
981         * mule-charset.c (load_char_decoding_entry_maybe): Use
982         `chise_ds_get_ccs' instead of `chise_ds_open_ccs_table'; don't use
983         `chise_ccst_close'.
984
985 2003-08-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
986
987         * mule-charset.c (Fsave_charset_mapping_table): Use
988         `chise_ds_open_ccs_table', `chise_ccst_put_char' and
989         `chise_ccst_close' instead of `chise_ds_open_decoding_table',
990         `chise_dt_put_char' and `chise_dt_close'.
991         (load_char_decoding_entry_maybe): Use `chise_ds_open_ccs_table',
992         `chise_ccs_decode' and `chise_ccst_close' instead of
993         `chise_ds_open_decoding_table', `chise_dt_get_char' and
994         `chise_dt_close'.
995
996         * chartab.c (char_table_get_db): Use
997         `chise_char_load_feature_value' instead of `chise_ft_get_value'.
998         (load_char_attribute_table_map_func): Modify for
999         `chise_char_feature_value_iterate'.
1000         (Fload_char_attribute_table): Use
1001         `chise_char_feature_value_iterate' instead of `chise_ft_iterate'.
1002
1003 2003-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1004
1005         * text-coding.c (COMPOSE_ADD_CHAR): Fixed.
1006
1007 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1008
1009         * chartab.c (put_char_table): Modify for inherited coded-charsets
1010         in XEmacs CHISE.
1011
1012 2003-08-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1013
1014         * chartab.c (Fput_char_table_map_function): Fixed.
1015         (word_boundary_p): Don't check charset in XEmacs CHISE.
1016
1017 2003-08-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1018
1019         * mule-charset.c (Fsave_charset_mapping_table): Use
1020         `open_chise_data_source_maybe'; use `chise_ds_open_decoding_table'
1021         instead of `chise_open_decoding_table'; refer
1022         `default_chise_data_source'; use `chise_dt_close' instead of
1023         `chise_close_decoding_table'.
1024         (load_char_decoding_entry_maybe): Likewise.
1025
1026         * chartab.c (default_chise_data_source): New variable when `CHISE'
1027         is defined.
1028         (Fcopy_char_table): `ct->ds' is deleted.
1029         (open_chise_data_source_maybe): New function.
1030         (Fclose_char_data_source): New function.
1031         (char_table_open_db_maybe): Use `open_chise_data_source_maybe';
1032         use `chise_ds_open_feature_table' instead of
1033         `chise_open_feature_table'.
1034         (char_table_close_db_maybe): Use `chise_ft_close' instead of
1035         `chise_close_feature_table'; `cit->ds' is deleted.
1036         (syms_of_chartab): Add new builtin function
1037         `close-char-data-source' when `HAVE_CHISE_CLIENT' is defined.
1038
1039         * chartab.h (default_chise_data_source): New extern variable.
1040         (open_chise_data_source_maybe): New prototype.
1041         (struct Lisp_Char_Table): Delete `ds'.
1042
1043 2003-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1044
1045         * mule-charset.c (Fsave_charset_mapping_table): Use libchise when
1046         `CHISE' is defined.
1047
1048 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1049
1050         * chartab.c (char_table_open_db_maybe): Defined even if `CHISE' is
1051         not defined; add code for non-libchise setting.
1052         (char_table_close_db_maybe): Likewise.
1053         (char_table_get_db): New function when `HAVE_CHISE_CLIENT' is
1054         defined.
1055         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'
1056         even if `CHISE' is not defined.
1057         (Freset_char_attribute_table): Likewise.
1058         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1059         `char_table_close_db_maybe' even if `CHISE' is not defined; use
1060         `char_table_get_db'.
1061         (Fload_char_attribute_table): Use `char_table_open_db_maybe' and
1062         `char_table_close_db_maybe' even if `CHISE' is not defined.
1063
1064 2003-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1065
1066         * chartab.c (char_table_open_db_maybe): New function.
1067         (char_table_close_db_maybe): New function.
1068         (Fclose_char_attribute_table): Use `char_table_close_db_maybe'.
1069         (Freset_char_attribute_table): Likewise.
1070         (load_char_attribute_maybe): Use `char_table_open_db_maybe' and
1071         `char_table_close_db_maybe'.
1072         (Fload_char_attribute_table): Likewise.
1073
1074 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1075
1076         * chartab.c: Don't include <chise.h> because it is included in
1077         chartab.h.
1078         (Fmake_char_table): Initialize `ct->feature_table' when `CHISE' is
1079         defined.
1080         (Fcopy_char_table): Copy `ct->ds' and `ct->feature_table' when
1081         `CHISE' is defined.
1082         (Fmount_char_attribute_table): Initialize `ct->feature_table' when
1083         `CHISE' is defined.
1084         (Fclose_char_attribute_table): Close `ct->feature_table' and
1085         `ct->ds' when `CHISE' is defined.
1086         (Freset_char_attribute_table): Likewise.
1087         (load_char_attribute_maybe): Use `cit->ds' and
1088         `cit->feature_table' when `CHISE' is defined.
1089         (Fload_char_attribute_table): Likewise.
1090
1091         * chartab.h: Include <chise.h> when `CHISE' is defined.
1092         (struct Lisp_Char_Table): Add new member `ds' and `feature_table'
1093         when `CHISE' is defined.
1094
1095 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1096
1097         * chartab.c (mark_char_table): Member `db' is deleted when `CHISE'
1098         is defined.
1099         (char_table_description): Likewise.
1100         (Fmake_char_table): Likewise.
1101         (Fcopy_char_table): Likewise.
1102         (Fmount_char_attribute_table): Likewise.
1103         (Fclose_char_attribute_table): Likewise.
1104         (Freset_char_attribute_table): Likewise.
1105         (load_char_attribute_maybe): Likewise.
1106         (Fload_char_attribute_table): Likewise.
1107
1108         * chartab.h (struct Lisp_Char_Table): Delete `db' when `CHISE' is
1109         defined.
1110
1111 2003-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1112
1113         * chartab.c (load_char_attribute_table_map_func): New function
1114         when CHISE is defined.
1115         (Qload_char_attribute_table_map_function): Don't define when CHISE
1116         is defined.
1117         (Fload_char_attribute_table_map_function): Likewise.
1118         (Fload_char_attribute_table): Use libchise when `CHISE' is
1119         defined.
1120         (syms_of_chartab): Don't define
1121         `load-char-attribute-table-map-function' when CHISE is defined.
1122
1123 2003-08-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1124
1125         * chartab.c: Include <chise.h> when `CHISE' is defined.
1126         (load_char_attribute_maybe): Use libchise when `CHISE' is defined.
1127
1128 2003-07-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1129
1130         * mule-charset.c (charset_code_point): Fix problem when searching
1131         in mother CCS fails with `defined_only' mode.
1132
1133 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1134
1135         * chartab.c (Q_ucs_unified): Renamed from `Q_ucs_variants'.
1136         (Fchar_variants): Rename `Q_ucs_variants' to `Q_ucs_unified'.
1137         (put_char_composition): Likewise.
1138         (Fput_char_attribute): Likewise.
1139         (syms_of_chartab): Rename `->ucs-variants' to `->ucs-unified'.
1140
1141 2003-06-29  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1142
1143         * chartab.c (Q_ucs): Deleted.
1144         (Fput_char_attribute): Don't refer `->ucs'.
1145         (Fdefine_char): Likewise.
1146         (Ffind_char): Likewise.
1147         (syms_of_chartab): Delete `->ucs'.
1148
1149 2003-04-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1150
1151         * mule-charset.c (Qmap_cns11643_2): Renamed from
1152         `Qchinese_cns11643_2'.
1153         (syms_of_mule_charset): Add new symbol `=cns11643-2' instead of
1154         `chinese-cns11643-2'.
1155         (complex_vars_of_mule_charset): Rename `chinese-cns11643-2' to
1156         `=cns11643-2'.
1157
1158 2003-04-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1159
1160         * mule-charset.c (Qmap_cns11643_1): Renamed from
1161         `Qchinese_cns11643_1'.
1162         (syms_of_mule_charset): Add new symbol `=cns11643-1' instead of
1163         `chinese-cns11643-1'.
1164         (complex_vars_of_mule_charset): Rename `chinese-cns11643-1' to
1165         `=cns11643-1'.
1166
1167 2003-04-24  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1168
1169         * mule-charset.c (Qmap_gb12345): Renamed from `Qchinese_gb12345'.
1170         (syms_of_mule_charset): Add new symbol `=gb12345' instead of
1171         `chinese-gb12345'.
1172         (complex_vars_of_mule_charset): Rename `chinese-gb12345' to
1173         `=gb12345'.
1174
1175 2003-04-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1176
1177         * mule-charset.c (Qmap_gb2312): Renamed from `Qchinese_gb2312'.
1178         (syms_of_mule_charset): Add new symbol `=gb2312' instead of
1179         `chinese-gb2312'.
1180         (complex_vars_of_mule_charset): Rename `chinese-gb2312' to
1181         `=gb2312'.
1182
1183 2003-04-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1184
1185         * mule-charset.c (Qmap_big5): Renamed from `Qchinese_big5'.
1186         (syms_of_mule_charset): Add new symbol `=big5' instead of
1187         `chinese-big5'.
1188         (complex_vars_of_mule_charset): Rename `chinese-big5' to `=big5'.
1189
1190 2003-04-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1191
1192         * mule-charset.c (Qmap_ks_x1001): Renamed from `Qkorean_ksc5601'.
1193         (syms_of_mule_charset): Add new symbol `=ks-x1001' instead of
1194         `korean-ksc5601'.
1195         (complex_vars_of_mule_charset): Rename `korean-ksc5601' to
1196         `=ks-x1001'.
1197
1198 2003-04-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1199
1200         * mule-charset.c (Qmap_jis_x0212): Renamed from
1201         `Qjapanese_jisx0212'.
1202         (syms_of_mule_charset): Add new symbol `=jis-x0212' instead of
1203         `japanese-jisx0212'.
1204         (complex_vars_of_mule_charset): Rename `japanese-jisx0212' to
1205         `=jis-x0212'.
1206
1207 2003-04-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1208
1209         * mule-charset.c (Qmap_jis_x0208_1983): Renamed from
1210         `Qjapanese_jisx0208'.
1211         (syms_of_mule_charset): Add new symbol `=jis-x0208-1983' instead
1212         of `japanese-jisx0208'.
1213         (complex_vars_of_mule_charset): Rename `japanese-jisx0208' to
1214         `=jis-x0208-1983'.
1215
1216 2003-04-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1217
1218         * mule-charset.c (Qmap_jis_x0208_1978): Renamed from
1219         `Qjapanese_jisx0208_1978'.
1220         (syms_of_mule_charset): Add new symbol `=jis-x0208-1978' instead
1221         of `japanese-jisx0208-1978'.
1222         (complex_vars_of_mule_charset): Rename `japanese-jisx0208-1978' to
1223         `=jis-x0208-1978'.
1224
1225 2003-04-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1226
1227         * chartab.c (decode_char_table_range): CHARTAB_RANGE_DEFAULT is
1228         only for XEmacs CHISE.
1229
1230 2003-04-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1231
1232         * char-ucs.h: Compact non-ISO-IR charset-ids.
1233         (LEADING_BYTE_UCS): Changed to -177.
1234         (LEADING_BYTE_CONTROL_1): Changed to -77.
1235         (LEADING_BYTE_UCS_BMP): Changed to -176.
1236         (LEADING_BYTE_JAPANESE_JISX0208_1990): Changed to -168.
1237
1238 2003-04-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1239
1240         * mule-charset.c (Qiso_ir): New variable.
1241         (Fmake_charset): Recognise new property `iso-ir'.
1242         (syms_of_mule_charset): Add new symbol `iso-ir'.
1243
1244 2003-04-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1245
1246         * char-ucs.h: Change charset-id of ISO-IR sets from ISO-IR-number
1247         n to -n; charset-id of non ISO-IR sets are changed to positive
1248         numbers.
1249
1250 2003-03-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1251
1252         * text-coding.c (decode_add_er_char): Use XUINT instead of XINT
1253         for &MCS-XXXXXXXX; values.
1254
1255 2003-03-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1256
1257         * mule.c (Vxemacs_chise_version): Renamed from
1258         `Vutf_2000_version'.
1259         (vars_of_mule): Add new variable `xemacs-chise-version'; define
1260         `utf-2000-version' as an alias for `xemacs-chise-version'.
1261
1262 2003-03-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1263
1264         * mule-charset.c: Include <chise.h> when `CHISE' is defined.
1265         (load_char_decoding_entry_maybe): Use libchise when `CHISE' is
1266         defined.
1267
1268         * config.h.in (CHISE): New macro.
1269
1270 2003-03-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1271
1272         * mule-charset.c (put_char_ccs_code_point): Refer `=ucs' instead
1273         of `ucs'.
1274         (Qmap_ucs): New variable.
1275         (syms_of_mule_charset): Add new symbol `=ucs'.
1276         (complex_vars_of_mule_charset): Rename `ucs' to `=ucs'.
1277
1278         * fns.c (ids_format_unit): Refer `=ucs' instead of `ucs'.
1279         (simplify_char_spec): Likewise.
1280
1281         * chartab.c (Fdefine_char): Refer `=ucs' as same as `ucs'.
1282
1283         * char-ucs.h (Qmap_ucs): New extern variable.
1284
1285 2003-03-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1286
1287         * mule-charset.c (Qmap_jis_x0208): Renamed from `Qjis_x0208'.
1288         (Qmap_jis_x0208_1990): Renamed from `Qjapanese_jisx0208_1990';
1289         don't define it when UTF2000 is not defined.
1290         (syms_of_mule_charset): Modify for `Qmap_jis_x0208'; rename
1291         `japanese-jisx0208-1990' to `=jis-x0208-1990'; don't define it
1292         when UTF2000 is not defined.
1293         (complex_vars_of_mule_charset): Modify for `Qmap_jis_x0208';
1294         rename `japanese-jisx0208-1990' to `=jis-x0208-1990'.
1295
1296 2003-03-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1297
1298         * char-ucs.h (LEADING_BYTE_UCS_GB): Deleted.
1299
1300         * mule-charset.c (Vcharset_ucs_gb): Deleted.
1301         (Qucs_gb): Deleted.
1302         (syms_of_mule_charset): Delete `ucs-gb'.
1303         (complex_vars_of_mule_charset): Likewise.
1304
1305 2003-03-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1306
1307         * char-ucs.h (LEADING_BYTE_UCS_CNS): Deleted.
1308
1309         * mule-charset.c (Vcharset_ucs_cns): Deleted.
1310         (Qucs_cns): Deleted.
1311         (syms_of_mule_charset): Delete `ucs-cns'.
1312         (complex_vars_of_mule_charset): Likewise.
1313
1314 2003-03-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1315
1316         * char-ucs.h (LEADING_BYTE_UCS_JIS): Deleted.
1317
1318         * mule-charset.c (Vcharset_ucs_jis): Deleted.
1319         (Qucs_jis): Deleted.
1320         (syms_of_mule_charset): Delete `ucs-jis'.
1321         (complex_vars_of_mule_charset): Likewise.
1322
1323 2003-03-02  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1324
1325         * char-ucs.h (LEADING_BYTE_UCS_KS): Deleted.
1326
1327         * mule-charset.c (Vcharset_ucs_ks): Deleted.
1328         (Qucs_ks): Deleted.
1329         (syms_of_mule_charset): Delete `ucs-ks'.
1330         (complex_vars_of_mule_charset): Likewise.
1331
1332 2003-03-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1333
1334         * mule-charset.c (Vcharset_ideograph_daikanwa_2): Deleted.
1335         (Qideograph_daikanwa_2): Deleted.
1336         (syms_of_mule_charset): Delete `ideograph-daikanwa-2'.
1337         (complex_vars_of_mule_charset): Likewise.
1338
1339         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): Deleted.
1340         (LEADING_BYTE_DAIKANWA_1): Deleted.
1341         (LEADING_BYTE_DAIKANWA_2): Deleted.
1342         (MIN_CHAR_DAIKANWA): Deleted.
1343         (MAX_CHAR_DAIKANWA): Deleted.
1344
1345 2003-02-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1346
1347         * char-ucs.h (LEADING_BYTE_DAIKANWA_3): Deleted.
1348         (LEADING_BYTE_HANZIKU_{1..12}): Deleted.
1349         ({MIN|MAX}_CHAR_HANZIKU_{1..12}): Deleted.
1350
1351         * mule-charset.c (Vcharset_ideograph_hanziku_{1..12}): Deleted.
1352         (Vcharset_ideograph_daikanwa): Deleted.
1353         (Qideograph_hanziku_{1..12}): Deleted.
1354         (Qideograph_daikanwa): Deleted.
1355         (encode_builtin_char_1): Don't use {MIN|MAX}_CHAR_DAIKANWA and
1356         Vcharset_ideograph_daikanwa.
1357         (syms_of_mule_charset): Delete `ideograph-daikanwa' and
1358         `ideograph-hanziku-{1..12}'.
1359         (complex_vars_of_mule_charset): Likewise.
1360
1361 2003-02-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1362
1363         * char-ucs.h (LEADING_BYTE_GT_PJ_{1..11}): Deleted.
1364
1365         * mule-charset.c (Vcharset_ideograph_gt_pj_{1..11}): Deleted.
1366         (Qideograph_gt_pj_{1..11}): Deleted.
1367         (syms_of_mule_charset): Delete `ideograph-gt-pj-{1..11}'.
1368         (complex_vars_of_mule_charset): Likewise.
1369
1370 2003-02-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1371
1372         * mule-charset.c (Vcharset_ucs_big5): Deleted.
1373         (Vcharset_ideograph_gt): Deleted.
1374         (Qucs_big5): Deleted.
1375         (Qideograph_gt): Deleted.
1376         (syms_of_mule_charset): Delete symbol `ucs-big5' and
1377         `ideograph-gt'.
1378         (complex_vars_of_mule_charset): Delete coded-charset `ucs-big5'
1379         and `ideograph-gt'.
1380
1381         * char-ucs.h (LEADING_BYTE_UCS_BIG5): Deleted.
1382         (LEADING_BYTE_GT): Deleted.
1383         (MIN_CHAR_GT): Deleted.
1384         (MAX_CHAR_GT): Deleted.
1385
1386 2003-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1387
1388         * chartab.c (Fput_char_attribute): Canonicalise charset-aliases.
1389
1390 2003-01-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1391
1392         * chartab.c (save_uint8_byte_table): Add new argument `filter'.
1393         (save_uint16_byte_table): Likewise.
1394         (save_byte_table): Likewise; convert values by it.
1395         (Fput_char_attribute): Don't use `char-refs-simplify-char-specs'
1396         for `ideographic-structure'.
1397         (Fsave_char_attribute_table): Use `char-refs-simplify-char-specs'
1398         as the filter for `ideographic-structure'.
1399
1400 2003-01-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1401
1402         * chartab.c (put_char_composition): New function.
1403         (Fput_char_attribute): Use `put_char_composition'; use
1404         `Fchar_refs_simplify_char_specs' for `ideographic-structure'.
1405
1406         * fns.c (simplify_char_spec): New function.
1407         (char_ref_simplify_spec): New function.
1408         (Fchar_refs_simplify_char_specs): New function.
1409         (syms_of_fns): Add new builtin function
1410         `char-refs-simplify-char-specs'.
1411
1412 2003-01-05  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1413
1414         * mule-charset.c (Vcharset_ideograph_cbeta): Deleted.
1415         (Qideograph_cbeta): Deleted.
1416         (syms_of_mule_charset): Don't define `ideograph-cbeta'.
1417         (complex_vars_of_mule_charset): Likewise.
1418
1419         * char-ucs.h (LEADING_BYTE_CBETA): Deleted.
1420         (MIN_CHAR_CBETA): Comment out.
1421         (MAX_CHAR_CBETA): Likewise.
1422
1423 2002-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1424
1425         * mule-charset.c, chartab.h, casetab.c, char-ucs.h, chartab.c: Use
1426         `HAVE_CHISE_CLIENT' instead of `HAVE_DATABASE' to indicate the
1427         CHISE client feature.
1428
1429 2002-12-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1430
1431         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.20.
1432
1433 2002-12-19  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1434
1435         * mule-charset.c (charset_lookup_description_1): Use
1436         `NUM_LEADING_BYTES' in UTF-2000.
1437
1438 2002-12-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1439
1440         * char-ucs.h (GC_CHARSETP): Deleted.
1441
1442 2002-12-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1443
1444         * char-ucs.h (MAX_CHAR_GT): Updated.
1445
1446 2002-12-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1447
1448         * text-coding.c: Sync with XEmacs 21.4.10.
1449
1450 2002-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1451
1452         * mule-charset.c (Vcharset_china3_jef): Deleted.
1453         (Qchina3_jef): Deleted.
1454         (syms_of_mule_charset): Don't define `china3-jef'.
1455         (complex_vars_of_mule_charset): Likewise.
1456
1457         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Deleted.
1458         (MIN_CHAR_CHINA3_JEF): Comment out.
1459         (MAX_CHAR_CHINA3_JEF): Comment out.
1460
1461 2002-11-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1462
1463         * mule-charset.c (Vcharset_ucs_gb): New variable.
1464         (Qucs_gb): New variable.
1465         (syms_of_mule_charset): Add new symbol `ucs-gb'.
1466         (complex_vars_of_mule_charset): Add new coded-charset `ucs-gb'.
1467
1468         * char-ucs.h (LEADING_BYTE_UCS_GB): New macro.
1469
1470 2002-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1471
1472         * mule-charset.c (charset_code_point): if a coded-charset has a
1473         final-byte, don't inherit the builtin range of the mother CCS.
1474
1475 2002-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1476
1477         * mule-charset.c (charset_code_point): Fix problem about
1478         inheritance.
1479
1480 2002-11-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1481
1482         * mule-charset.c (decode_builtin_char): Reorganized.
1483
1484 2002-10-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1485
1486         * text-coding.c (char_encode_as_entity_reference): Modify for
1487         `charset_code_point'.
1488         (char_encode_shift_jis): Likewise.
1489         (char_encode_big5): Likewise.
1490         (char_encode_utf8): Likewise.
1491         (char_encode_iso2022): Likewise.
1492
1493         * mule-charset.c (charset_code_point): Add new argument
1494         `defined_only'.
1495         (Fencode_char): Add new optional argument `defined_only'.
1496
1497         * chartab.c (put_char_table): Modify for `charset_code_point'.
1498
1499         * char-ucs.h (charset_code_point): Add new argument
1500         `defined_only'.
1501         (encode_char_1): Modify for `charset_code_point'.
1502
1503 2002-10-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1504
1505         * mule-charset.c (complex_vars_of_mule_charset): Don't specify
1506         `MIN_CHAR_THAI' and `MAX_CHAR_THAI' for `thai-tis620'.
1507
1508 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1509
1510         * mule-charset.c (Vcharset_jis_x0208): New variable in UTF-2000.
1511         (Qjis_x0208): Likewise.
1512         (decode_builtin_char): Prefer XCHARSET_MAX_CODE(charset) than
1513         XCHARSET_FINAL(charset).
1514         (charset_code_point): Modify condition for final-byte based
1515         builtin-chars.
1516         (syms_of_mule_charset): Add new symbol `=jis-x0208' in UTF-2000.
1517         (complex_vars_of_mule_charset): Add new coded-charset `=jis-x0208'
1518         in UTF-2000; specify `=jis-x0208' as the mother of
1519         `japanese-jisx0208-1978', `japanese-jisx0208' and
1520         `japanese-jisx0208-1990' in UTF-2000.
1521
1522 2002-10-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1523
1524         * char-ucs.h (LEADING_BYTE_JIS_X0208): New macro.
1525
1526 2002-10-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1527
1528         * text-coding.c (decode_coding_utf16): Support UTF-16.
1529         (char_encode_utf16): Fixed.
1530
1531 2002-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1532
1533         * text-coding.c (Qutf16): New variable in MULE.
1534         (Fmake_coding_system): Accept `utf-16' as `type' in MULE.
1535         (Fcoding_system_type): Add `utf-16' in MULE.
1536         (struct detection_state): Add a structure for utf16 in MULE.
1537         (detect_coding_type): Setup st->utf16.mask in MULE.
1538         (mule_decode): Use `decode_coding_utf16' for `CODESYS_UTF16' in
1539         MULE.
1540         (reset_encoding_stream): Use `char_encode_utf16' and
1541         `char_finish_utf16' for `CODESYS_UTF16' in MULE.
1542         (detect_coding_utf16): New function [incomplete].
1543         (decode_coding_utf16): New function [support only UCS-2].
1544         (char_encode_utf16): New function.
1545         (char_finish_utf16): New function.
1546         (syms_of_file_coding): Add new symbol `utf-16'; setup
1547         `coding_category_symbol[CODING_CATEGORY_UTF16]'.
1548
1549         * file-coding.h (enum coding_system_type): Add `CODESYS_UTF16' in
1550         UTF-2000.
1551         (enum coding_category_type): Add `CODING_CATEGORY_UTF16' in MULE.
1552         (CODING_CATEGORY_UTF16_MASK): New macro in MULE.
1553
1554 2002-10-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1555
1556         * chartab.c (put_char_table): When a charset is specified as a
1557         range in UTF-2000, don't support builtin characters.
1558
1559 2002-09-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1560
1561         * mule-charset.c (decode_defined_char): Don't refer external
1562         database if Qunbound or Qnil are found.
1563         (Fsave_charset_mapping_table): Don't define it if
1564         HAVE_CHISE_CLIENT is not defined.
1565         (Freset_charset_mapping_table): New function.
1566         (load_char_decoding_entry_maybe): Store Qnil if a character is not
1567         found in external database.
1568         (syms_of_mule_charset): Don't define `save-charset-mapping-table'
1569         if HAVE_CHISE_CLIENT is not defined; add new builtin function
1570         `reset-charset-mapping-table' if HAVE_CHISE_CLIENT is defined.
1571
1572 2002-09-18  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1573
1574         * text-coding.c (decode_coding_utf8): Check CCS is specified or
1575         not.
1576
1577 2002-08-26  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1578
1579         * chartab.h: Add extern declarations for Qdowncase, Qflippedcase,
1580         Q_lowercase, Q_uppercase in UTF-2000.
1581
1582         * chartab.c (get_char_table): Add special code for the standard
1583         case table to use character attribute `->downcase' and
1584         `->uppercase' for case operations in UTF-2000.
1585
1586         * casetab.c (Qflippedcase): New variable in UTF-2000.
1587         (Q_lowercase): Likewise.
1588         (Q_uppercase): Likewise.
1589         (syms_of_casetab): Add new symbols `flippedcase', `->lowercase'
1590         and `->uppercase' in UTF-2000.
1591         (complex_vars_of_casetab): Assign attribute name `downcase' to
1592         downcase and CANON table of Vstandard_case_table in UTF-2000;
1593         assign attribute name `flippedcase' to upcase and EQV table of
1594         Vstandard_case_table in UTF-2000.
1595
1596 2002-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1597
1598         * text-coding.c (decode_add_er_char): Support isolated-chars.
1599         (char_encode_as_entity_reference): Likewise.
1600
1601 2002-08-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1602
1603         * emacs.c (Vutf_2000_lisp_directory): New variable.
1604         (Vconfigure_utf_2000_lisp_directory): Likewise.
1605         (complex_vars_of_emacs): Add new variable
1606         `utf-2000-lisp-directory' and `configure-utf-2000-lisp-directory'.
1607
1608 2002-08-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1609
1610         * char-ucs.h (DECODE_CHAR): Delete special code for
1611         `chinese-big5-1' and `chinese-big5-2'.
1612
1613         * mule-charset.c (Qbig5_1): New variable in UTF-2000.
1614         (Qbig5_2): Likewise.
1615         (decode_defined_char): Support CONVERSION_BIG5_1 and
1616         CONVERSION_BIG5_2.
1617         (decode_builtin_char): Likewise.
1618         (charset_code_point): Likewise.
1619         (Fmake_charset): Accept `big5-1' and `big5-2' as a value of
1620         'conversion in UTF-2000.
1621         (syms_of_mule_charset): Add new symbol `big5-1' and `big5-2'.
1622         (complex_vars_of_mule_charset): Define `chinese-big5-1' and
1623         `chinese-big5-2' as children of `chinese-big5'.
1624
1625         * char-ucs.h (CONVERSION_BIG5_1): New macro.
1626         (CONVERSION_BIG5_2): New macro.
1627
1628 2002-08-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1629
1630         * text-coding.c (char_encode_big5): Support entity-reference.
1631
1632 2002-08-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1633
1634         * text-coding.c (char_encode_as_entity_reference): New function.
1635         (char_encode_utf8): Use `char_encode_as_entity_reference'.
1636
1637 2002-08-09  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1638
1639         * text-coding.c (decode_coding_big5): Support entity-reference
1640         decoding feature.
1641
1642 2002-08-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1643
1644         * text-coding.c (allocate_coding_system): Initialize initial
1645         charsets for CODESYS_UTF8.
1646         (Fmake_coding_system): Accept charset-g0, charset-g1 and
1647         charset-g2 for CODESYS_UTF8.
1648         (decode_coding_utf8): Use charset-g0.
1649         (char_encode_utf8): Use charset-g0; use charset-g1 and charset-g2
1650         to force variants to map to UCS.
1651
1652 2002-07-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1653
1654         * text-coding.c (Qutf_8_mcs): New variable.
1655         (syms_of_file_coding): Add new symbol `utf-8-mcs' in UTF-2000.
1656         (complex_vars_of_file_coding): Define coding-system `utf-8-mcs'
1657         instead of `utf-8' in UTF-2000.
1658
1659 2002-07-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1660
1661         * mule-charset.c (charset_code_point): If CHARSET_CONVERSION is
1662         CONVERSION_IDENTICAL, identical conversion is used even if a CCS
1663         is ISO-2022 style; instead of it, CONVERSION_94, CONVERSION_96,
1664         CONVERSION_94x94, CONVERSION_96x96, CONVERSION_94x94x94,
1665         CONVERSION_96x96x96, CONVERSION_94x94x94x94 and
1666         CONVERSION_96x96x96x96 are introduced.
1667         (complex_vars_of_mule_charset): Specify CONVERSION_96 instead of
1668         CONVERSION_IDENTICAL for thai-tis620; Specify CONVERSION_94x94
1669         instead of CONVERSION_IDENTICAL for japanese-jisx0208-1990.
1670
1671         * char-ucs.h (CONVERSION_94): New macro.
1672         (CONVERSION_96): New macro.
1673         (CONVERSION_94x94): New macro.
1674         (CONVERSION_96x96): New macro.
1675         (CONVERSION_94x94x94): New macro.
1676         (CONVERSION_96x96x96): New macro.
1677         (CONVERSION_94x94x94x60): New macro.
1678         (CONVERSION_94x94x94x94): New macro.
1679         (CONVERSION_96x96x96x96): New macro.
1680
1681 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1682
1683         * chartab.c (Vcharacter_variant_table): Deleted.
1684         (Fchar_variants): Use character-attribute `->ucs-variants' instead
1685         of `Vcharacter_variant_table'.
1686         (Fput_char_attribute): Likewise.
1687         (vars_of_chartab): Don't setup `Vcharacter_variant_table'.
1688         (complex_vars_of_chartab): Likewise.
1689
1690 2002-07-17  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1691
1692         * lisp.h: Add an EXFUN for `Fchar_ref_p'.
1693
1694         * fns.c (Qideographic_structure): New variable.
1695         (Qkeyword_char): New variable.
1696         (ids_format_unit): New function.
1697         (Fideographic_structure_to_ids): New function.
1698         (syms_of_fns): Add new symbols `ideographic-structure' and
1699         `:char'; add new builtin function `ideographic-structure-to-ids'.
1700
1701         * data.c (Fchar_ref_p): New function.
1702         (syms_of_data): Add new builtin function `char-ref-p'.
1703
1704         * chartab.h: Add an EXFUN for `Ffind_char'.
1705
1706 2002-07-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1707
1708         * text-coding.c (Vcharacter_composition_table): Deleted.
1709         (COMPOSE_ADD_CHAR): Use the implementation for external-DB support
1710         in every UTF-2000.
1711
1712         * chartab.c: Add EXFUN for `Fmap_char_attribute' in every
1713         UTF-2000.
1714         (Vcharacter_composition_table): Deleted.
1715         (Fget_composite_char): Use the implementation for external-DB
1716         support in every UTF-2000.
1717         (Fput_char_attribute): Likewise.
1718         (char_attribute_system_db_file): Don't define if external-DB
1719         feature is not available.
1720         (Fsave_char_attribute_table): Likewise.
1721         (Fmount_char_attribute_table): Likewise.
1722         (Fclose_char_attribute_table): Likewise.
1723         (Freset_char_attribute_table): Likewise.
1724         (Fload_char_attribute_table): Likewise.
1725         (syms_of_chartab): Don't define `save-char-attribute-table',
1726         `mount-char-attribute-table', `reset-char-attribute-table',
1727         `close-char-attribute-table' and `load-char-attribute-table' if
1728         external-DB feature is not available.
1729         (vars_of_chartab): Don't setup `Vcharacter_composition_table'.
1730
1731 2002-07-15  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1732
1733         * text-coding.c (Qcomposition): Add extern if external-DB feature
1734         is supported.
1735         (Vcharacter_composition_table): Don't add extern if external-DB
1736         feature is supported.
1737         (COMPOSE_ADD_CHAR): Modify for new data-representation of
1738         character composition rule if external-DB feature is supported.
1739
1740         * chartab.c (Vcharacter_composition_table): Don't define if
1741         external-DB feature is supported.
1742         (Qcomposition): New variable.
1743         (Fget_composite_char): New implementation for external-DB support.
1744         (Fput_char_attribute): Use `composition' property of each
1745         character instead of `Vcharacter_composition_table' to store
1746         character-composition rules if external-DB feature is supported.
1747         (syms_of_chartab): Add new symbol `composition'.
1748         (vars_of_chartab): Don't setup `Vcharacter_composition_table' if
1749         external-DB feature is supported.
1750
1751 2002-07-14  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1752
1753         * chartab.c (Vchar_db_stingy_mode): New variable.
1754         (load_char_attribute_maybe): Close database if
1755         Vchar_db_stingy_mode is not NIL.
1756         (Fload_char_attribute_table_map_function): Use
1757         `get_char_id_table_0' instead of `get_char_id_table'.
1758         (vars_of_chartab): Add new variable `char-db-stingy-mode'.
1759
1760         * chartab.h (get_char_id_table_0): New inline function.
1761         (get_char_id_table): Use `get_char_id_table_0'.
1762
1763 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1764
1765         * text-coding.c (decode_coding_utf8): Use `COMPOSE_FLUSH_CHARS'
1766         and `COMPOSE_ADD_CHAR'.
1767         (decode_coding_iso2022): Use `decode_flush_er_chars'.
1768
1769 2002-07-07  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1770
1771         * text-coding.c (COMPOSE_FLUSH_CHARS): Use `decode_add_er_char'
1772         instead of `DECODE_ADD_UCS_CHAR'.
1773         (COMPOSE_ADD_CHAR): Likewise.
1774
1775 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1776
1777         * text-coding.c (decode_flush_er_chars): New inline function.
1778         (decode_add_er_char): New function.
1779         (decode_coding_utf8): Use `decode_flush_er_chars' and
1780         `decode_add_er_char'.
1781
1782 2002-07-06  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1783
1784         * text-coding.c (decode_coding_utf8): Flush for er_buf must be
1785         done before `decode_output_utf8_partial_char'.
1786
1787         * mule-charset.c (complex_vars_of_mule_charset): Specify
1788         `Vcharset_ucs' as the mother of `Vcharset_ucs_cns',
1789         `Vcharset_ucs_ks' and `Vcharset_ucs_big5'.
1790
1791 2002-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1792
1793         * mule-charset.c (decode_defined_char): New function; search
1794         mother.
1795         (decode_builtin_char): Don't search mother if
1796         XCHARSET_MAX_CODE(charset) == 0.
1797         (charset_code_point): Search mother if XCHARSET_MAX_CODE(charset)
1798         == 0 even if code >= XCHARSET_MAX_CODE(charset).
1799         (Fdecode_char): Use `decode_defined_char' instead of
1800         `DECODE_DEFINED_CHAR'.
1801         (complex_vars_of_mule_charset): Specify `Vcharset_ucs' as the
1802         mother of `Vcharset_ucs_jis'.
1803
1804         * text-coding.c (decode_coding_big5): Use `decode_defined_char'
1805         instead of `DECODE_DEFINED_CHAR'.
1806
1807         * char-ucs.h (decode_defined_char): Renamed from
1808         `DECODE_DEFINED_CHAR'; changed to normal function.
1809         (DECODE_CHAR): Use `decode_defined_char' instead of
1810         `DECODE_DEFINED_CHAR'.
1811
1812         * lisp.h: Add `EXFUN' for `Fstring_to_number'.
1813
1814 2002-07-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1815
1816         * char-ucs.h: Add `extern' for `Vcharset_ucs'.
1817
1818         * text-coding.c (Vcoded_charset_entity_reference_alist): New
1819         variable.
1820         (Quse_entity_reference): New variable.
1821         (Qd): New variable.
1822         (Qx): New variable.
1823         (QX): New variable.
1824         (coding_system_description): Add description for
1825         `ccs_priority_list'.
1826         (mark_coding_system): Mark `ccs_priority_list' in UTF-2000.
1827         (allocate_coding_system): Initialize `ccs_priority_list' in
1828         UTF-2000.
1829         (Fmake_coding_system): Add description about
1830         'use-entity-reference; setup CODING_SYSTEM_USE_ENTITY_REFERENCE
1831         (codesys).
1832         (Fcoding_system_property): Accept `disable-composition' and
1833         `use-entity-reference' in UTF-2000.
1834         (struct decoding_stream): Add new member `er_counter' and `er_buf'
1835         in UTF-2000.
1836         (reset_decoding_stream): Initialize `str->er_counter' in UTF-2000.
1837         (decode_coding_utf8): Decode entity-reference if
1838         CODING_SYSTEM_USE_ENTITY_REFERENCE (str->codesys).
1839         (char_encode_utf8): Encode non-Unicode characters as
1840         entity-references if CODING_SYSTEM_USE_ENTITY_REFERENCE
1841         (str->codesys).
1842         (syms_of_file_coding): Add new symbols `use-entity-reference',
1843         `d', `x', `X'.
1844         (vars_of_file_coding): Add new variable
1845         `coded-charset-entity-reference-alist'.
1846         (complex_vars_of_file_coding): Declare `disable-composition' and
1847         `use-entity-reference' to be coding-system-properties in UTF-2000.
1848
1849         * file-coding.h (struct Lisp_Coding_System): Add new member
1850         `use_entity_reference' and `ccs_priority_list'.
1851         (CODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1852         (CODING_SYSTEM_CCS_PRIORITY_LIST): New macro.
1853         (XCODING_SYSTEM_USE_ENTITY_REFERENCE): New macro.
1854
1855 2002-07-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1856
1857         * chartab.c (save_uint8_byte_table): Don't clear the table.
1858         (save_uint16_byte_table): Likewise.
1859         (save_byte_table): Likewise.
1860         (Fmount_char_attribute_table): New function.
1861         (syms_of_chartab): Add new builtin function
1862         `mount-char-attribute-table'.
1863
1864 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1865
1866         * mule-charset.c (Fsave_charset_mapping_table): Open database as
1867         "w+" mode.
1868         (load_char_decoding_entry_maybe): Open database as read-only mode.
1869
1870         * chartab.c (Fsave_char_attribute_table): Don't share `ct->db';
1871         open database as "w+" mode.
1872         (load_char_attribute_maybe): Open database as read-only mode.
1873         (Fload_char_attribute_table): Likewise.
1874
1875 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1876
1877         * chartab.c (mark_char_table): Don't refer `ct->db_file'.
1878         (char_table_description): Delete member `db_file'.
1879         (Fmake_char_table): Don't refer `ct->db_file'.
1880         (Fcopy_char_table): Likewise.
1881         (Fsave_char_attribute_table): Likewise.
1882         (Fclose_char_attribute_table): Likewise.
1883         (Freset_char_attribute_table): Likewise.
1884         (load_char_attribute_maybe): Likewise.
1885         (Fload_char_attribute_table): Likewise.
1886
1887         * chartab.h (struct Lisp_Char_Table): Delete member `db_file'.
1888
1889 2002-07-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1890
1891         * chartab.c: Add an EXFUN for `Fmap_char_attribute'.
1892         (Fsave_char_attribute_table): Don't check `ct->db_file' if
1893         `ct->db' is living.
1894         (load_char_attribute_maybe): Likewise.
1895         (Fload_char_attribute_table): Likewise.
1896
1897 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1898
1899         * chartab.c (Fclose_char_attribute_table): Set Qnil on
1900         `ct->db_file' unconditionally.
1901
1902 2002-07-01  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1903
1904         * chartab.c (mark_char_table): Mark `ct->db_file' and `ct->db' in
1905         UTF-2000.
1906         (char_table_description): Add description for `db_file' and `db'
1907         in UTF-2000.
1908         (Fmake_char_table): Initialize `ct->db_file' and `ct->db' in
1909         UTF-2000.
1910         (Fcopy_char_table): Copy `ct->db_file' and `ct->db' in UTF-2000.
1911         (Fsave_char_attribute_table): Use `ct->db_file' and `ct->db'.
1912         (Fclose_char_attribute_table): New function.
1913         (Freset_char_attribute_table): Reset `ct->db_file' and `ct->db'.
1914         (load_char_attribute_maybe): Change interface; use `cit->db_file'
1915         and `cit->db'.
1916         (Fload_char_attribute_table): Use `ct->db_file' and `ct->db'.
1917         (syms_of_chartab): Add new builtin function
1918         `Fclose_char_attribute_table'.
1919
1920 2002-06-28  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1921
1922         * chartab.h (struct Lisp_Char_Table): Add new member `db_file' and
1923         `db' in UTF-2000.
1924         (load_char_attribute_maybe): Change interface.
1925         (get_char_id_table): Modify for `load_char_attribute_maybe'.
1926
1927 2002-06-27  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1928
1929         * database.h: Add an EXFUN for `Fdatabase_live_p'.
1930
1931 2002-04-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1932
1933         * mule-charset.c (decode_builtin_char): Use `decode_builtin_char'
1934         instead of `DECODE_CHAR' for mother; don't use special code for
1935         chinese-big5 to use code space of chinese-big5-1 and
1936         chinese-big5-2.
1937         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' and
1938         `MAX_CHAR_BIG5_CDP' for chinese-big5.
1939
1940         * char-ucs.h (MIN_CHAR_BIG5_CDP): Revival.
1941         (MAX_CHAR_BIG5_CDP): Revival.
1942
1943 2002-04-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1944
1945         * mule-charset.c (complex_vars_of_mule_charset): Use "big5-0" as
1946         the XLFD registry-encoding name of `chinese-big5'.
1947
1948 2002-04-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1949
1950         * mule-charset.c (Vcharset_chinese_big5_cdp): Deleted.
1951         (Qchinese_big5_cdp): Deleted.
1952         (syms_of_mule_charset): Delete symbol `chinese-big5-cdp'.
1953         (complex_vars_of_mule_charset): Delete coded-charset
1954         `chinese-big5-cdp'.
1955
1956         * char-ucs.h (CHARSET_ID_OFFSET): Deleted.
1957         (LEADING_BYTE_*): Use `MIN_LEADING_BYTE + n' instead of
1958         `CHARSET_ID_OFFSET - n' for private CCS.
1959         (LEADING_BYTE_CHINESE_BIG5_CDP): Deleted.
1960         (MIN_LEADING_BYTE_PRIVATE): Use `(MIN_LEADING_BYTE + 97)' instead
1961         of `MIN_LEADING_BYTE'.
1962         (MAX_LEADING_BYTE_PRIVATE): Use `-1' instead of
1963         `(CHARSET_ID_OFFSET - 97)'.
1964         (MIN_CHAR_BIG5_CDP): Deleted.
1965         (MAX_CHAR_BIG5_CDP): Deleted.
1966
1967 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1968
1969         * mule.c (vars_of_mule): Update `utf-2000-version' to 0.19.
1970
1971 2002-03-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
1972
1973         * mule.c (Vutf_2000_version): New variable [moved from chartab.c].
1974         (vars_of_mule): Add new variable `utf-2000-version' [moved from
1975         chartab.c].
1976
1977         * chartab.c (Vutf_2000_version): Moved to mule.c.
1978         (vars_of_chartab): Move code about `utf-2000-version' into mule.c.
1979
1980 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1981
1982         * mule-charset.c (load_char_decoding_entry_maybe): Don't define it
1983         when HAVE_CHISE_CLIENT is not defined.
1984
1985         * mule.c (vars_of_mule): Provide feature `chise' when
1986         HAVE_CHISE_CLIENT is defined.
1987
1988 2002-03-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1989
1990         * config.h.in (UTF2000): Add comment.
1991         (HAVE_CHISE_CLIENT): New macro.
1992
1993 2002-02-25  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
1994
1995         * chartab.c (Fchar_variants): Check Vcharacter_variant_table is
1996         CONSP.
1997         (Fput_char_attribute): Likewise.
1998         (char_attribute_system_db_file): Encode file-name of attribute.
1999         (vars_of_chartab): Set Qunbound into Vcharacter_variant_table as
2000         the initial value.
2001
2002 2002-02-13  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2003
2004         * mule-charset.c (put_char_ccs_code_point): Delete unused codes.
2005         (Fsave_charset_mapping_table): Use
2006         `char_attribute_system_db_file'.
2007         (load_char_decoding_entry_maybe): Likewise.
2008
2009         * chartab.h (Qsystem_char_id): New external variable.
2010         (char_attribute_system_db_file): New prototype.
2011
2012         * chartab.c (Qsystem_char_id): New variable in UTF-2000.
2013         (char_attribute_system_db_file): New function.
2014         (Fsave_char_attribute_table): Use `char_attribute_system_db_file'.
2015         (Freset_char_attribute_table): Likewise.
2016         (load_char_attribute_maybe): Likewise.
2017         (Fload_char_attribute_table): Likewise.
2018         (syms_of_chartab): Add new symbol `system-char-id'.
2019
2020 2002-02-12  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2021
2022         * char-ucs.h (DECODE_DEFINED_CHAR): Don't check
2023         `XCHARSET_GRAPHIC(ccs)'.
2024
2025 2002-02-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2026
2027         * mule-charset.c (Fsave_charset_mapping_table): Fixed.
2028
2029 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2030
2031         * chartab.c (Q_ucs_variants): New variable.
2032         (syms_of_chartab): Add new symbol `->ucs-variants'.
2033         (complex_vars_of_chartab): Set `Vcharacter_variant_table' on
2034         `Vchar_attribute_hash_table' as the value of `->ucs-variants'; set
2035         `->ucs-variants' on `XCHAR_TABLE_NAME (Vcharacter_variant_table)'.
2036
2037         * mule-charset.c (load_char_decoding_entry_maybe): New function.
2038
2039         * char-ucs.h (load_char_decoding_entry_maybe): New prototype when
2040         `HAVE_DATABASE' is defined.
2041         (DECODE_DEFINED_CHAR): Use `load_char_decoding_entry_maybe' when
2042         `HAVE_DATABASE' is defined.
2043
2044 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2045
2046         * chartab.c (Fsave_char_attribute_table): Don't clear internal
2047         attribute-table.
2048         (Freset_char_attribute_table): New function.
2049         (syms_of_chartab): Add new builtin function
2050         `reset-char-attribute-table'.
2051
2052 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2053
2054         * chartab.c (load_char_attribute_maybe): Don't make directories.
2055
2056 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2057
2058         * char-ucs.h: Add EXFUN for `Fmake_directory_internal'.
2059
2060         * mule-charset.c (put_char_ccs_code_point): Don't prepare a vector
2061         for decoding-table.
2062
2063 2002-02-11  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2064
2065         * mule-charset.c (Fsave_charset_mapping_table): Use
2066         `XCHARSET_BYTE_SIZE' instead of `XCHARSET_CHARS'.
2067
2068         * char-ucs.h (put_ccs_octet_table): Use `XCHARSET_BYTE_SIZE'
2069         instead of `XCHARSET_CHARS'.
2070
2071 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2072
2073         * mule-charset.c (CHARSET_BYTE_SIZE): Moved to char-ucs.h.
2074         (XCHARSET_BYTE_SIZE): Likewise.
2075
2076         * char-ucs.h (CHARSET_BYTE_SIZE): New inline function [moved from
2077         mule-charset.c].
2078         (XCHARSET_BYTE_SIZE): Likewise.
2079
2080 2002-02-10  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2081
2082         * chartab.c (Fput_char_attribute): Use exec-directory instead of
2083         data-directory to store database.
2084         (Fsave_char_attribute_table): Likewise.
2085         (load_char_attribute_maybe): Likewise.
2086         (Fload_char_attribute_table): Likewise.
2087
2088 2002-02-08  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2089
2090         * mule-charset.c (Fsave_charset_mapping_table): New function.
2091         (syms_of_mule_charset): Add new builtin function
2092         `save-charset-mapping-table'.
2093
2094 2002-02-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2095
2096         * char-ucs.h (decoding_table_check_elements): Delete prototype.
2097         (get_ccs_octet_table): New inline function.
2098         (put_ccs_octet_table): Likewise.
2099         (decoding_table_put_char): Use `get_ccs_octet_table' and
2100         `put_ccs_octet_table'.
2101         (decoding_table_remove_char): Use `decoding_table_put_char'.
2102         (DECODE_DEFINED_CHAR): Use `get_ccs_octet_table'.
2103
2104         * mule-charset.c (remove_char_ccs): Store Qunbound instead of Qnil
2105         into encoding_table.
2106         (make_charset): Use Qunbound instead Qnil as initial value of
2107         decoding_table.
2108
2109 2002-02-04  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2110
2111         * chartab.c (map_over_uint8_byte_table): Set Qunbound if an
2112         element is Qunloaded.
2113         (map_over_uint16_byte_table): Likewise.
2114         (map_over_byte_table): Likewise.
2115         (map_char_table): Likewise for CHARTAB_RANGE_ALL in UTF-2000; when
2116         CHARTAB_RANGE_CHARSET is specified in UTF-2000 with external
2117         database support, load encoding-table of the specified
2118         coded-charset if it is not loaded yet.
2119         (save_uint8_byte_table): New function of UTF-2000 with external
2120         database support.
2121         (save_uint16_byte_table): Likewise.
2122         (save_byte_table): Likewise.
2123         (Fput_char_attribute): Don't store value into external database
2124         even if the external database feature is supported in UTF-2000;
2125         set `attribute' as name of char-table if the external database
2126         feature is supported.
2127         (Fsave_char_attribute_table): New function in UTF-2000.
2128         (syms_of_chartab): Add new builtin function
2129         `save-char-attribute-table' in UTF-2000.
2130
2131 2002-02-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2132
2133         * chartab.c (char_attribute_table_to_put): New variable in
2134         UTF-2000.
2135         (Qput_char_table_map_function): Likewise.
2136         (value_to_put): Likewise.
2137         (Fput_char_table_map_function): New function in UTF-2000.
2138         (put_char_table): Use `Fmap_char_attribute' for
2139         CHARTAB_RANGE_CHARSET in UTF-2000.
2140         (Fput_char_attribute): Store symbol instead of string in
2141         `XCHAR_TABLE_NAME (table)'.
2142         (load_char_attribute_maybe): Likewise.
2143         (syms_of_chartab): Add new symbol/function
2144         `put-char-table-map-function'.
2145
2146 2002-01-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2147
2148         * database.h: Add new EXFUN for `Fmap_database'.
2149
2150         * database.c (Fmap_database): Renamed from `Fmapdatabase'.
2151         (syms_of_database): Likewise.
2152
2153         * chartab.h (struct Lisp_Char_Table): Add new member `unloaded' in
2154         UTF-2000.
2155         (CHAR_TABLE_UNLOADED): New macro of UTF-2000.
2156         (XCHAR_TABLE_UNLOADED): Likewise.
2157
2158         * chartab.c (fill_char_table): Initialize `ct->unloaded'.
2159         (Fput_char_attribute): Set XCHAR_TABLE_UNLOADED(table) if
2160         HAVE_DATABASE is defined.
2161         (char_attribute_table_to_load): New variable of UTF-2000 with
2162         external database support.
2163         (Qload_char_attribute_table_map_function): Likewise.
2164         (Fload_char_attribute_table_map_function): New function of
2165         UTF-2000 with external database support.
2166         (Fload_char_attribute_table): New function of UTF-2000.
2167         (Fmap_char_attribute): Call Fload_char_attribute_table if
2168         CHAR_TABLE_UNLOADED(ct) is set when HAVE_DATABASE is defined.
2169         (syms_of_chartab): Add new symbol and function
2170         `load-char-attribute-table-map-function' in UTF-2000 with external
2171         database support; add new function `load-char-attribute-table' in
2172         UTF-2000.
2173
2174 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2175
2176         * chartab.h (load_char_attribute_maybe): New prototype for
2177         UTF-2000 with DATABASE support.
2178         (get_char_id_table): Use `load_char_attribute_maybe' if
2179         HAVE_DATABASE is defined.
2180
2181         * chartab.c (load_char_attribute_maybe): New function in UTF-2000
2182         with DATABASE support.
2183
2184 2002-01-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2185
2186         * chartab.c (Fput_char_attribute): Use S-expression as key of
2187         external database.
2188
2189         * chartab.h (get_char_id_table): Use S-expression as key of
2190         external database.
2191
2192 2002-01-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2193
2194         * chartab.c (map_over_uint8_byte_table): Add new argument `root';
2195         if an element is not loaded, load the corresponding attributes
2196         from an external database.
2197         (map_over_uint16_byte_table): Likewise.
2198         (map_over_byte_table): Likewise.
2199         (map_char_table): Modify for `map_over_uint8_byte_table',
2200         `map_over_uint16_byte_table' and `map_over_byte_table'; if an
2201         element is not loaded, load the corresponding attributes from an
2202         external database.
2203         (Fput_char_attribute): Change initial values to Qunloaded.
2204
2205         * chartab.h (get_char_id_table): If a character attribute is not
2206         loaded and the attribute value is not found in an external
2207         database, store Qunbound as the attribute value.
2208
2209 2002-01-22  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2210
2211         * chartab.c (BT_UINT8_unloaded): New macro.
2212         (UINT8_VALUE_P): Accept Qunloaded.
2213         (UINT8_ENCODE): Likewise.
2214         (UINT8_DECODE): Likewise.
2215         (BT_UINT16_unloaded): New macro.
2216         (UINT16_VALUE_P): Accept Qunloaded.
2217         (UINT16_ENCODE): Likewise.
2218         (UINT16_DECODE): Likewise.
2219         (UINT8_TO_UINT16): Convert BT_UINT8_unloaded into
2220         BT_UINT16_unloaded.
2221         (mark_char_table): Mark `ct->name' in UTF-2000.
2222         (char_table_description): Add `name' in UTF-2000.
2223         (Fmake_char_table): Initialize `ct->name'.
2224         (Fcopy_char_table): Copy `ct->name'.
2225         (Fput_char_attribute): Store value into an external database if
2226         HAVE_DATABASE is defined.
2227
2228         * chartab.h (struct Lisp_Char_Table): Add new member `name' in
2229         UTF-2000.
2230         (CHAR_TABLE_NAME): New macro in UTF-2000.
2231         (XCHAR_TABLE_NAME): New macro in UTF-2000.
2232         (get_char_id_table): Try to read an external database if Qunloaded
2233         is stored in a table.
2234
2235         * symbols.c (init_symbols_once_early): Assign '#<unloaded> into
2236         Qunloaded.
2237
2238 2002-01-21  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2239
2240         * database.h: Add EXFUN definitions for Fopen_database,
2241         Fput_database, Fget_database and Fclose_database.
2242
2243         * data.c (Qunloaded): New variable in UTF-2000.
2244
2245         * lisp.h (Qunloaded): New variable in UTF-2000.
2246
2247 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2248
2249         * mule-charset.c (put_char_ccs_code_point): Modify for
2250         `decoding_table_remove_char' and `decoding_table_put_char'.
2251         (remove_char_ccs): Modify for `decoding_table_remove_char'.
2252
2253         * char-ucs.h (decoding_table_remove_char): Change arguments to
2254         hide decoding_table vector.
2255         (decoding_table_put_char): Likewise.
2256
2257 2002-01-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2258
2259         * mule-charset.c (decoding_table_remove_char): Moved to
2260         char-ucs.h.
2261         (decoding_table_put_char): Likewise.
2262
2263         * char-ucs.h (decoding_table_check_elements): New prototype [moved
2264         from mule-charset.c].
2265         (decoding_table_remove_char): New inline function [moved from
2266         mule-charset.c].
2267         (decoding_table_put_char): Likewise.
2268
2269 2002-01-03  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2270
2271         * mule-charset.c (Fmake_charset): Modify DOC-string for UTF-2000
2272         extension.
2273
2274 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2275
2276         * mule-charset.c (decode_builtin_char): Support mother charsets.
2277
2278 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2279
2280         * mule-charset.c (Q94x94x60): New variable.
2281         (charset_code_point): Support conversion `94x94x60'.
2282         (Fmake_charset): Likewise.
2283         (syms_of_mule_charset): Add new symbol `94x94x60'.
2284
2285         * char-ucs.h (CONVERSION_94x94x60): New macro.
2286
2287 2001-12-31  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2288
2289         * mule-charset.c (charset_code_point): Unify code about
2290         `code-offset'.
2291
2292 2001-12-30  MORIOKA Tomohiko  <tomo@mousai.as.wakwak.ne.jp>
2293
2294         * mule-charset.c (charset_code_point): Merge code about builtin
2295         characters into code about mother charsets; don't use
2296         `range_charset_code_point'.
2297         (range_charset_code_point): Deleted.
2298
2299 2001-12-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2300
2301         * mule-charset.c (Qcode_offset): New variable.
2302         (Fmake_charset): Use `XUINT' to get value of `min-code' and
2303         `max-code'; accept new property `code-offset'.
2304         (syms_of_mule_charset): Add new symbol `code-offset'.
2305
2306 2001-12-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2307
2308         * mule-charset.c (range_charset_code_point): Fixed.
2309
2310 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2311
2312         * mule-charset.c (decode_builtin_char): Change semantics of
2313         code-offset of coded-charset.
2314         (charset_code_point): Likewise.
2315         (range_charset_code_point): Likewise.
2316         (complex_vars_of_mule_charset): Modify for the change.
2317
2318 2001-12-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2319
2320         * mule-charset.c (Fencode_char): Reverse arguments.
2321
2322         * mule-charset.c (charset_code_point): Fixed.
2323
2324 2001-12-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2325
2326         * mule-charset.c (Vcharset_mojikyo): Deleted.
2327         (Vcharset_mojikyo_2022_1): Deleted.
2328         (Vcharset_mojikyo_pj_{1..21}): Deleted.
2329         (Qmin_code): New variable in UTF-2000.
2330         (Qmax_code): Likewise.
2331         (Qmother): Likewise.
2332         (Qconversion): Likewise.
2333         (Q94x60): Likewise.
2334         (Qmojikyo): Deleted.
2335         (Qmojikyo_2022_1): Deleted.
2336         (Qmojikyo_pj_{1..22}): Deleted.
2337         (mark_charset): Mark `cs->mother'.
2338         (charset_description): Add description for `mother'.
2339         (make_charset): Rename `ucs_{min|max}' to `{min|max}_code'; add
2340         new arguments `mother' and `conversion'; use
2341         `CHARSET_{MIN|MAX}_CODE' instead of `CHARSET_UCS_{MIN|MAX}'.
2342         (charset_code_point): Moved from char-ucs.h; support `mother'
2343         charset feature.
2344         (range_charset_code_point): use `CHARSET_{MIN|MAX}_CODE' instead
2345         of `CHARSET_UCS_{MIN|MAX}'; delete hard code for `mojikyo-2022-1'.
2346         (Fmake_charset): Allow 3 and 4 as the value of `dimension' in
2347         UTF-2000; allow 128 and 256 as the value of `chars' in UTF-2000;
2348         allow 2 as the value of `graphic' in UTF-2000; add new properties
2349         `min-code', `max-code', `mother', `conversion' in UTF-2000; don't
2350         require `final' in UTF-2000; modify for `make_charset'.
2351         (Fmake_reverse_direction_charset): use `CHARSET_{MIN|MAX}_CODE'
2352         instead of `CHARSET_UCS_{MIN|MAX}'; modify for `make_charset'.
2353         (Fcharset_property): Support `mother', `min-code' and `max-code'.
2354         (Fencode_char): New function.
2355         (syms_of_mule_charset): Add new builtin function `encode-char' in
2356         UTF-2000; add new symbols `min-code', `max-code', `mother',
2357         `conversion' and `94x60'; delete symbols `mojikyo',
2358         `mojikyo-2022-1' and `mojikyo-pj-{1..21}'.
2359         (complex_vars_of_mule_charset): Modify for `make_charset' change;
2360         delete coded-charsets `mojikyo', `mojikyo-2022-1' and
2361         `mojikyo-pj-{1..21}'; delete `DEF_MOJIKYO_PJ'.
2362
2363         * chartab.c (Fdefine_char): Use `XCHARSET_MAX_CODE' instead of
2364         `XCHARSET_UCS_MAX'; regard `chinese-big5' as a base CCS.
2365
2366         * char-ucs.h (Vcharset_mojikyo): Deleted.
2367         (Vcharset_mojikyo_2022_1): Deleted.
2368         (LEADING_BYTE_MOJIKYO): Deleted.
2369         (LEADING_BYTE_MOJIKYO_2022_1): Deleted.
2370         (LEADING_BYTE_MOJIKYO_2022_2): Deleted.
2371         (LEADING_BYTE_MOJIKYO_PJ_{1 .. 21}): Deleted.
2372         (struct Lisp_Charset): Rename `ucs_{min|max}' to `{min|max}_code';
2373         add new member `mother'; add new member `conversion'.
2374         (CHARSET_MIN_CODE): Renamed from `CHARSET_UCS_MIN'.
2375         (CHARSET_MAX_CODE): Renamed from `CHARSET_UCS_MAX'.
2376         (CHARSET_MOTHER): New macro.
2377         (CHARSET_CONVERSION): New macro.
2378         (CONVERSION_IDENTICAL): New macro.
2379         (CONVERSION_94x60): New macro.
2380         (XCHARSET_MIN_CODE): Renamed from `CHARSET_MIN_CODE'.
2381         (XCHARSET_MAX_CODE): Renamed from `CHARSET_MAX_CODE'.
2382         (XCHARSET_MOTHER): New macro.
2383         (XCHARSET_CONVERSION): New macro.
2384         (MIN_CHAR_MOJIKYO): Deleted.
2385         (MAX_CHAR_MOJIKYO): Deleted.
2386         (DECODE_MOJIKYO_2022): Deleted.
2387         (DECODE_CHAR): Delete hard code for builtin Mojikyo characters.
2388         (charset_code_point): Changed to non-inline function.
2389         (encode_char_1): Use `charset_code_point'.
2390         (CHAR_TO_CHARC): Delete hard code for Mojikyo characters.
2391
2392 2001-12-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2393
2394         * lread.c (read_compiled_function): Fix prototype.
2395         (read_vector): Likewise.
2396
2397 2001-12-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2398
2399         * lrecord.h (struct lrecord_header): Delete `older'.
2400         (set_lheader_implementation): Delete code for `older'.
2401         (set_lheader_older_implementation): Deleted.
2402         (enum lrecord_type): Delete `lrecord_type_char_id_table'.
2403         (OLDER_RECORD_P): Deleted.
2404         (OLDER_RECORD_HEADER_P): Deleted.
2405         (alloc_older_lcrecord): Deleted.
2406         (alloc_older_lcrecord_type): Deleted.
2407
2408         * alloc.c (all_older_lcrecords): Deleted.
2409         (alloc_older_lcrecord): Deleted.
2410         (disksave_object_finalization_1): Delete code for older objects.
2411         (mark_object): Don't use `OLDER_RECORD_HEADER_P'.
2412         (reinit_alloc_once_early): Don't initialize `all_older_lcrecords'.
2413
2414 2001-12-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2415
2416         * mule-charset.c (decoding_table_put_char): Use `make_vector'
2417         instead of `make_older_vector'.
2418         (put_char_ccs_code_point): Likewise.
2419         (mark_charset): Mark `cs->decoding_table'.
2420         (Fset_charset_mapping_table): Don't use `make_vector_newer'.
2421
2422         * lisp.h (make_older_vector): Deleted.
2423         (make_vector_newer): Deleted.
2424
2425         * config.h.in (HAVE_GGC): Deleted.
2426
2427         * alloc.c (make_older_vector): Deleted.
2428         (make_vector_newer_1): Deleted.
2429         (make_vector_newer): Deleted.
2430
2431 2001-12-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2432
2433         * mule-charset.c (Vcharset_ideograph_daikanwa_2): New variable.
2434         (Qideograph_daikanwa_2): New variable.
2435         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa-2'.
2436         (complex_vars_of_mule_charset): Add new coded-charset
2437         `ideograph-daikanwa-2'; use `LEADING_BYTE_DAIKANWA_3' instead of
2438         `LEADING_BYTE_DAIKANWA'.
2439
2440         * char-ucs.h (LEADING_BYTE_DAIKANWA_0): New macro.
2441         (LEADING_BYTE_DAIKANWA_1): New macro.
2442         (LEADING_BYTE_DAIKANWA_2): New macro.
2443         (LEADING_BYTE_DAIKANWA_3): Renamed from `LEADING_BYTE_DAIKANWA'.
2444
2445 2001-12-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2446
2447         * mule-charset.c (complex_vars_of_mule_charset): Change
2448         DOC-strings and registry of `ideograph-daikanwa'; now it indicates
2449         the second revised version.
2450
2451 2001-12-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2452
2453         * mule-charset.c (Vcharset_ucs_smp): New variable.
2454         (Vcharset_ucs_sip): New variable.
2455         (Qucs_smp): New variable.
2456         (Qucs_sip): New variable.
2457         (encode_builtin_char_1): Treat MIN_CHAR_{SMP|SIP} to
2458         MAX_CHAR_{SMP|SIP} as `ucs-{smp|sip}'.
2459         (syms_of_mule_charset): Add new symbols `ucs-smp' and `ucs-sip'.
2460         (complex_vars_of_mule_charset): Modify middle-DOC and registry of
2461         `ucs-bmp'; add new coded-charset `ucs-smp' and `ucs-sip'; change
2462         charset width of `ucs-cns', `ucs-jis', `ucs-ks' and `ucs-big5'.
2463
2464         * char-ucs.h (LEADING_BYTE_UCS_SMP): New macro.
2465         (LEADING_BYTE_UCS_SIP): New macro.
2466         (MIN_CHAR_SMP): New macro.
2467         (MAX_CHAR_SMP): New macro.
2468         (MIN_CHAR_SIP): New macro.
2469         (MAX_CHAR_SIP): New macro.
2470
2471 2001-11-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
2472
2473         * dumper.c (PDUMP_HASH_SIZE): Increase the size of hash table when
2474         utf-2000.
2475
2476 2001-11-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2477
2478         * mule-charset.c (put_char_ccs_code_point): Return canonicalized
2479         value; don't store value into `encoding_table' of `Lisp_Charset'.
2480         (mark_charset): `encoding_table' was deleted.
2481         (charset_description): Likewise.
2482         (make_charset): Likewise.
2483         (Fset_charset_mapping_table): Use `Fput_char_attribute' instead of
2484         `put_char_ccs_code_point'.
2485
2486         * chartab.h (Fput_char_attribute): New EXFUN.
2487
2488         * chartab.c (Fchar_attribute_alist): Name space of CCS-attributes
2489         is unified with normal symbol space.
2490         (Fget_char_attribute): Likewise.
2491         (Fput_char_attribute): Likewise; behavior of
2492         `put_char_ccs_code_point' is changed.
2493
2494         * char-ucs.h: Include "elhash.h".
2495         (Vchar_attribute_hash_table): New external variable.
2496         (struct Lisp_Charset): Delete `encoding_table'.
2497         (CHARSET_ENCODING_TABLE): New implementation; refer
2498         `Vchar_attribute_hash_table' instead of `encoding_table' of struct
2499         `Lisp_Charset'.
2500
2501 2001-11-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2502
2503         * mule-charset.c (Fcharset_property): Return Qnil if CHARSET_FINAL
2504         (cs) == 0.
2505
2506 2001-11-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2507
2508         * text-coding.c (char_encode_big5): Prefer charset-g1 than
2509         `chinese-big5'.
2510
2511 2001-11-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2512
2513         * chartab.c (uint8_byte_table_description): New constant.
2514         (uint8-byte-table): Use `uint8_byte_table_description'.
2515         (uint16_byte_table_description): New constant.
2516         (uint16-byte-table): Use `uint16_byte_table_description'.
2517
2518 2001-10-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2519
2520         * mule-charset.c (complex_vars_of_mule_charset): Don't use builtin
2521         range MIN_CHAR_BIG5_CDP .. MAX_CHAR_BIG5_CDP.
2522
2523 2001-10-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2524
2525         * mule-charset.c (Vcharset_ucs_ks): New variable.
2526         (Qucs_ks): New variable.
2527         (syms_of_mule_charset): Add new symbol `ucs-ks'.
2528         (complex_vars_of_mule_charset): Add new coded-charset `ucs-ks'.
2529
2530         * char-ucs.h (LEADING_BYTE_UCS_KS): New macro.
2531
2532 2001-10-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2533
2534         * chartab.h (Fmake_char): New EXFUN; moved from chartab.c.
2535         (Fdecode_char): Likewise.
2536
2537         * chartab.c: Move EXFUN for Fmake_char and Fdecode_char into
2538         chartab.h.
2539         (Fdefine_char): Modify for Fdecode_char.
2540         (Ffind_char): Likewise.
2541
2542         * mule-charset.c (Fdecode_char): Add new optional argument
2543         `defined-only'.
2544         (Fdecode_builtin_char): Modify for `Fdecode_char'.
2545
2546 2001-10-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2547
2548         * text-coding.c (mark_coding_system): Mark initial-charset-g0 and
2549         -g1 of CODESYS_BIG5 in XEmacs UTF-2000.
2550         (allocate_coding_system): Initialize initial-charsets of
2551         CODESYS_BIG5 in XEmacs UTF-2000.
2552         (Fmake_coding_system): Accept `charset-g0' and `charset-g1' for
2553         CODESYS_BIG5 in XEmacs UTF-2000.
2554         (decode_coding_big5): Use initial-charset-g0 and -g1 of
2555         CODESYS_BIG5 in XEmacs UTF-2000; use `DECODE_DEFINED_CHAR'.
2556
2557         * mule-charset.c (Vcharset_ideograph_hanziku_{1 .. 12}): New
2558         variables.
2559         (Qideograph_hanziku_{1 .. 12}): Likewise.
2560         (syms_of_mule_charset): Add new symbols `ideograph-hanziku-{1
2561         .. 12}'.
2562         (complex_vars_of_mule_charset): Use `MIN_CHAR_BIG5_CDP' to
2563         `MAX_CHAR_BIG5_CDP' for `chinese-big5'; add news coded-charsets
2564         `ideograph-hanziku-{1 .. 12}'.
2565
2566         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x200.
2567         (LEADING_BYTE_HANZIKU_{1 .. 12}): New macros.
2568         ({MIN|MAX}_CHAR_BIG5_CDP): New macros.
2569         ({MIN|MAX}_CHAR_HANZIKU_{1 .. 12}): New macros.
2570         (DECODE_DEFINED_CHAR): New inline function.
2571         (DECODE_CHAR): Use `DECODE_DEFINED_CHAR'.
2572
2573 2001-10-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2574
2575         * mule-charset.c (Vcharset_china3_jef): Renamed from
2576         `Vcharset_japanese_jef_china3'.
2577         (Qchina3_jef): Renamed from `Qjapanese_jef_china3'.
2578         (encode_builtin_char_1): Rename `{MIN|MAX}_CHAR_CHINA3_JEF' from
2579         `{MIN|MAX}_CHAR_JEF_CHINA3'..
2580         (syms_of_mule_charset): Rename `china3-jef' from
2581         `japanese-jef-china3'.
2582         (complex_vars_of_mule_charset): Likewise; rename
2583         `LEADING_BYTE_CHINA3_JEF' from `LEADING_BYTE_JEF_CHINA3'.
2584
2585         * char-ucs.h (LEADING_BYTE_CHINA3_JEF): Renamed from
2586         `LEADING_BYTE_JEF_CHINA3'.
2587         (MIN_CHAR_CHINA3_JEF): Renamed from `MIN_CHAR_JEF_CHINA3'.
2588         (MAX_CHAR_CHINA3_JEF): Renamed from `MAX_CHAR_JEF_CHINA3'.
2589
2590 2001-10-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2591
2592         * mule-charset.c (encode_builtin_char_1): Comment out special code
2593         for MIN_CHAR_MOJIKYO_0 ... MAX_CHAR_MOJIKYO_0.
2594
2595         * char-ucs.h (MIN_CHAR_MOJIKYO_0): Comment out.
2596         (MAX_CHAR_MOJIKYO_0): Comment out.
2597         (MIN_CHAR_CBETA): Changed to 0x00E20000.
2598         (MAX_CHAR_CBETA): Changed to 0x00E2FFFF.
2599         (MIN_CHAR_JEF_CHINA3): Changed to 0x00E80000.
2600         (MAX_CHAR_JEF_CHINA3): Changed to 0x00E8FFFF.
2601
2602 2001-10-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2603
2604         * mule-charset.c (Vcharset_ideograph_cbeta): New variable.
2605         (Qideograph_cbeta): New variable.
2606         (encode_builtin_char_1): Comment out special code for
2607         coded-charset `mojikyo' and `japanese-jef-china3'.
2608         (syms_of_mule_charset): Add new symbol `ideograph-cbeta'.
2609         (complex_vars_of_mule_charset): Add new coded-charset
2610         `ideograph-cbeta'.
2611
2612         * char-ucs.h (LEADING_BYTE_CBETA): New macro.
2613         (MIN_CHAR_CBETA): New macro.
2614         (MAX_CHAR_CBETA): New macro.
2615
2616 2001-10-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2617
2618         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x100.
2619         (LEADING_BYTE_JEF_CHINA3): New macro.
2620         (MIN_CHAR_JEF_CHINA3): New macro.
2621         (MAX_CHAR_JEF_CHINA3): Likewise.
2622         (DECODE_CHAR): Fixed.
2623
2624 2001-10-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2625
2626         * mule-charset.c (Vcharset_japanese_jef_china3): New variable.
2627         (Qjapanese_jef_china3): New variable.
2628         (encode_builtin_char_1): Support `japanese-jef-china3'.
2629         (syms_of_mule_charset): Add new symbol `japanese-jef-china3'.
2630         (complex_vars_of_mule_charset): Add new coded-charset
2631         `japanese-jef-china3'.
2632
2633 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2634
2635         * chartab.c (XCHARSET_CELL_RANGE): New inline function.
2636         (decode_char_table_range): Use `XCHARSET_CELL_RANGE'; accept 94^3,
2637         94^4, 96^3, 96^4, 128^n and 256^n set.
2638         (put_char_table): Use `XCHARSET_CELL_RANGE'.
2639         (map_char_table): Likewise.
2640
2641 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2642
2643         * chartab.c (get_char_table): Use `get_char_id_table' in XEmacs
2644         UTF-2000.
2645
2646 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2647
2648         * chartab.h (get_char_id_table): New inline function.
2649
2650         * chartab.c (get_char_id_table): Moved to chartab.h as an inline
2651         function.
2652
2653 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2654
2655         * chartab.h (decode_char_table_range): New prototype in XEmacs
2656         UTF-2000.
2657         (put_char_id_table): New inline function in XEmacs UTF-2000.
2658
2659         * chartab.c (put_char_id_table): Moved to chartab.h as an inline
2660         function.
2661         (decode_char_table_range): Delete static declaration in XEmacs
2662         UTF-2000.
2663
2664 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2665
2666         * chartab.c (put_char_id_table): Use `put_char_table'.
2667
2668 2001-09-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2669
2670         * chartab.c (map_over_uint8_byte_table): Delete argument `ccs'.
2671         (map_over_uint16_byte_table): Likewise.
2672         (map_over_byte_table): Likewise.
2673         (map_char_table): Modify for `map_over_uint8_byte_table',
2674         `map_over_uint16_byte_table' and `map_over_byte_table' in XEmacs
2675         UTF-2000.
2676
2677 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2678
2679         * chartab.c (struct map_char_table_for_charset_arg): New
2680         structure.
2681         (map_char_table_for_charset_fun): New function.
2682         (map_char_table): Use `map_char_table' for encoding_table of
2683         `range->charset'.
2684
2685 2001-09-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2686
2687         * chartab.c (map_char_table): Check a character is found in
2688         range->charset instead of non default value is defined in
2689         char-table when range is CHARTAB_RANGE_ROW.
2690
2691 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2692
2693         * chartab.c (map_char_id_table): Deleted.
2694         (Fmap_char_attribute): Use `map_char_table' instead of
2695         `map_char_id_table'.
2696
2697 2001-09-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2698
2699         * syntax.h (SYNTAX_CODE_UNSAFE): New implementation in XEmacs
2700         UTF-2000.
2701         (update_syntax_table): Deleted in XEmacs UTF-2000.
2702
2703         * syntax.c (find_defun_start): Use `syntax_table' instead of
2704         `mirror_syntax_table' in XEmacs UTF-2000.
2705         (Fset_syntax_table): Don't use `mirror_syntax_table' in XEmacs
2706         UTF-2000.
2707         (Fchar_syntax): Use `syntax_table' instead of `mirror_table' in
2708         XEmacs UTF-2000.
2709         (Fmatching_paren): Likewise.
2710         (scan_words): Use `syntax_table' instead of `mirror_syntax_table'
2711         in XEmacs UTF-2000.
2712         (find_start_of_comment): Likewise.
2713         (find_end_of_comment): Likewise.
2714         (Fforward_comment): Likewise.
2715         (scan_lists): Likewise.
2716         (char_quoted): Likewise.
2717         (Fbackward_prefix_chars): Likewise.
2718         (scan_sexps_forward): Likewise.
2719         (update_just_this_syntax_table): Deleted in XEmacs UTF-2000.
2720         (update_syntax_table): Likewise.
2721
2722         * search.c (skip_chars): Use `syntax_table' instead of
2723         `mirror_syntax_table' in XEmacs UTF-2000.
2724         (wordify): Likewise.
2725         (Freplace_match): Likewise.
2726
2727         * regex.c (re_compile_fastmap): Use `syntax_table' instead of
2728         `mirror_syntax_table' in XEmacs UTF-2000.
2729         (WORDCHAR_P_UNSAFE): Likewise.
2730         (re_match_2_internal): Likewise.
2731
2732         * font-lock.c (find_context): Use `buf->syntax_table' instead of
2733         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2734
2735         * cmds.c (internal_self_insert): Use `buf->syntax_table' instead
2736         of `buf->mirror_syntax_table' in XEmacs UTF-2000.
2737
2738         * chartab.h (struct Lisp_Char_Table): Delete `mirror_table' in
2739         XEmacs UTF-2000.
2740
2741         * chartab.c (mark_char_table): Don't mark `mirror_table' in XEmacs
2742         UTF-2000.
2743         (print_char_table): Print `default_value' in XEmacs UTF-2000.
2744         (char_table_description): Delete `mirror_table' in XEmacs
2745         UTF-2000.
2746         (fill_char_table): Don't call `update_syntax_table' in XEmacs
2747         UTF-2000.
2748         (Fmake_char_table): Don't use `mirror_table' in XEmacs UTF-2000.
2749         (Fcopy_char_table): Likewise.
2750         (put_char_table): Don't call `update_syntax_table' in XEmacs
2751         UTF-2000.
2752
2753         * casefiddle.c (casify_object): Use `buf->syntax_table' instead of
2754         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2755         (casify_region_internal): Likewise.
2756
2757         * bufslots.h: Delete `mirror_syntax_table' in XEmacs UTF-2000.
2758
2759         * buffer.c (common_init_complex_vars_of_buffer): Don't use
2760         `mirror_syntax_table' in XEmacs UTF-2000.
2761
2762         * abbrev.c (abbrev_match): Use `buf->syntax_table' instead of
2763         `buf->mirror_syntax_table' in XEmacs UTF-2000.
2764         (Fexpand_abbrev): Likewise.
2765
2766 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2767
2768         * chartab.c (vars_of_chartab): Update `utf-2000-version' to 0.18.
2769
2770 2001-09-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2771
2772         * chartab.c (map_over_uint8_byte_table): Cancel temporary hack.
2773         (map_over_uint16_byte_table): Likewise.
2774         (map_over_byte_table): Likewise.
2775         (get_char_id_table): Refer `cit->default_value'.
2776         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2777         (map_char_id_table): Use `1 << 30' instead of `1 << 24' as number
2778         of character-id ranges.
2779         (mark_char_table): Mark `ct->default_value'.
2780         (char_table_description): Add `default_value'.
2781         (fill_char_table): Use `default_value'.
2782         (decode_char_table_range): Decode `nil' as
2783         `CHARTAB_RANGE_DEFAULT'.
2784         (get_char_id_table): Refer `cit->default_value'.
2785         (put_char_id_table): Support `CHARTAB_RANGE_DEFAULT'.
2786         (map_char_table): Support `CHARTAB_RANGE_DEFAULT'; cancel
2787         temporary hack; check value of char-table is bound or not.
2788         (slow_map_char_table_fun): Support `CHARTAB_RANGE_DEFAULT'.
2789
2790         * chartab.h (struct Lisp_Char_Table): Add new member
2791         `default_value' in XEmacs UTF-2000.
2792         (CHAR_TABLE_VALUE_UNSAFE): Use `default_value'.
2793         (enum chartab_range_type): Add `CHARTAB_RANGE_DEFAULT' in XEmacs
2794         UTF-2000.
2795
2796 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2797
2798         * chartab.h (Lisp_Char_ID_Table): Deleted.
2799
2800         * chartab.c (char_table_description): Fix typo.
2801         (Fmap_char_attribute): Use `Lisp_Char_Table' instead of
2802         `Lisp_Char_ID_Table'.
2803
2804 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2805
2806         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_TABLEP' instead of
2807         `CHAR_ID_TABLE_P'.
2808
2809         * mule-charset.c (remove_char_ccs): Use `CHAR_TABLEP' instead of
2810         `CHAR_ID_TABLE_P'.
2811
2812         * chartab.h (XCHAR_ID_TABLE): Deleted.
2813         (XSETCHAR_ID_TABLE): Deleted.
2814         (CHAR_ID_TABLE_P): Deleted.
2815
2816         * chartab.c (put_char_id_table): Use `CHAR_TABLEP' instead of
2817         `CHAR_ID_TABLE_P'.
2818         (Fget_composite_char): Likewise.
2819         (put_char_table): Likewise.
2820         (add_char_attribute_alist_mapper): Fixed.
2821         (Fchar_attribute_alist): Use `CHAR_TABLEP' instead of
2822         `CHAR_ID_TABLE_P'.
2823         (Fget_char_attribute): Likewise.
2824         (Fget_char_attribute): Likewise.
2825         (Fmap_char_attribute): Likewise.
2826
2827         * char-ucs.h (charset_code_point): Use `CHAR_TABLEP' instead of
2828         `CHAR_ID_TABLE_P'.
2829         (encode_char_1): Likewise.
2830
2831 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2832
2833         * text-coding.c (COMPOSE_ADD_CHAR): Use `XCHAR_TABLE' instead of
2834         `XCHAR_ID_TABLE'.
2835
2836         * mule-charset.c (put_char_ccs_code_point): Use `XCHAR_TABLE'
2837         instead of `XCHAR_ID_TABLE'.
2838         (remove_char_ccs): Likewise.
2839
2840         * chartab.c (put_char_id_table): Use `XCHAR_TABLE' instead of
2841         `XCHAR_ID_TABLE'.
2842         (Fget_composite_char): Likewise.
2843         (Fchar_variants): Likewise.
2844         (put_char_table): Likewise.
2845         (add_char_attribute_alist_mapper): Likewise.
2846         (Fchar_attribute_alist): Likewise.
2847         (Fget_char_attribute): Likewise.
2848         (Fput_char_attribute): Likewise.
2849         (Fmap_char_attribute): Likewise.
2850         (Fmap_char_attribute): Likewise.
2851
2852         * char-ucs.h (charset_code_point): Use `XCHAR_TABLE' instead of
2853         `XCHAR_ID_TABLE'.
2854         (encode_char_1): Likewise.
2855
2856 2001-09-03  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2857
2858         * chartab.c (map_char_id_table): Use `Lisp_Char_Table' instead of
2859         `Lisp_Char_ID_Table'.
2860         (mark_char_id_table): Deleted.
2861         (print_char_id_table): Likewise.
2862         (char_id_table_equal): Likewise.
2863         (char_id_table_hash): Likewise.
2864         (char_id_table_description): Likewise.
2865         (char_id_table): Likewise.
2866         (make_char_id_table): Use `Fmake_char_table' and
2867         `fill_char_table'.
2868         (get_char_id_table): Use `Lisp_Char_Table' instead of
2869         `Lisp_Char_ID_Table'.
2870         (put_char_id_table): Likewise.
2871         (Fput_char_attribute): Use `XCHAR_TABLE' instead of
2872         `XCHAR_ID_TABLE'.
2873         (Fremove_char_attribute): Likewise.
2874         (syms_of_chartab): Don't define type `char-id-table'.
2875
2876         * chartab.h (struct Lisp_Char_ID_Table): Deleted.
2877         (char_id_table): Likewise.
2878         (GC_CHAR_ID_TABLE_P): Likewise.
2879         (Lisp_Char_ID_Table): Use structure `Lisp_Char_Table'.
2880         (XCHAR_ID_TABLE): Use `XCHAR_TABLE'.
2881         (XSETCHAR_ID_TABLE): Use `XSETCHAR_TABLE'.
2882         (CHAR_ID_TABLE_P): Use `CHAR_TABLEP'.
2883         (get_char_id_table): Use `Lisp_Char_Table' instead of
2884         `Lisp_Char_ID_Table'.
2885         (put_char_id_table_0): Likewise.
2886         (put_char_id_table): Likewise.
2887
2888 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2889
2890         * chartab.h: Lisp_Byte_Table related codes are moved from
2891         chartab.h.
2892
2893         * char-ucs.h: Move Lisp_Byte_Table related codes to chartab.h.
2894
2895 2001-09-02  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2896
2897         * chartab.h: Don't include "chartab.h".
2898         (struct Lisp_Char_ID_Table): Moved from char-ucs.h.
2899         (Lisp_Char_ID_Table): Likewise.
2900         (char_id_table): Likewise.
2901         (XCHAR_ID_TABLE): Likewise.
2902         (XSETCHAR_ID_TABLE): Likewise.
2903         (CHAR_ID_TABLE_P): Likewise.
2904         (GC_CHAR_ID_TABLE_P): Likewise.
2905         (get_char_id_table): Likewise.
2906
2907         * char-ucs.h: Include "chartab.h".
2908         (struct Lisp_Char_ID_Table): Moved to chartab.h.
2909         (Lisp_Char_ID_Table): Likewise.
2910         (char_id_table): Likewise.
2911         (XCHAR_ID_TABLE): Likewise.
2912         (XSETCHAR_ID_TABLE): Likewise.
2913         (CHAR_ID_TABLE_P): Likewise.
2914         (GC_CHAR_ID_TABLE_P): Likewise.
2915         (get_char_id_table): Likewise.
2916
2917 2001-09-01  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
2918
2919         * chartab.c (copy_uint8_byte_table): New function.
2920         (copy_uint16_byte_table): New function.
2921         (copy_byte_table): New function.
2922         (map_over_uint8_byte_table): Modify to avoid huge numbers of
2923         characters to call.
2924         (map_over_uint16_byte_table): Likewise.
2925         (map_over_byte_table): Likewise.
2926         (get_byte_table): Move prototype to chartab.h.
2927         (put_byte_table): Likewise.
2928         (put_char_id_table_0): Moved to chartab.h.
2929         (mark_char_table_entry): Don't define in XEmacs UTF-2000.
2930         (char_table_entry_equal): Likewise.
2931         (char_table_entry_hash): Likewise.
2932         (char_table_entry_description): Likewise.
2933         (char_table_entry): Likewise.
2934         (make_char_table_entry): Likewise.
2935         (copy_char_table_entry): Likewise.
2936         (get_non_ascii_char_table_value): Likewise.
2937         (map_over_charset_ascii): Likewise.
2938         (map_over_charset_control_1): Likewise.
2939         (map_over_charset_row): Likewise.
2940         (map_over_other_charset): Likewise.
2941         (mark_char_table): Modify for new structure in XEmacs UTF-2000.
2942         (print_char_table): Likewise.
2943         (char_table_equal): Likewise.
2944         (char_table_hash): Likewise.
2945         (char_table_description): Likewise.
2946         (fill_char_table): Likewise.
2947         (Fcopy_char_table): Likewise.
2948         (get_char_table): Likewise.
2949         (Fget_range_char_table): Likewise.
2950         (put_char_table): Likewise.
2951         (map_char_table): Likewise.
2952         (syms_of_chartab): Don't define `char_table_entry' in XEmacs
2953         UTF-2000.
2954
2955 2001-08-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2956
2957         * cmds.c (vars_of_cmds): Use `put_char_id_table_0' for
2958         `Vauto_fill_chars' in XEmacs UTF-2000.
2959
2960         * chartab.h (get_byte_table): New prototype [moved from
2961         chartab.c].
2962         (put_byte_table): Likewise [moved from chartab.c].
2963         (put_char_id_table_0): New inline function [moved from chartab.c].
2964         (struct Lisp_Char_Table_Entry): Don't define in XEmacs UTF-2000.
2965         (Lisp_Char_Table_Entry): Likewise.
2966         (char_table_entry): Likewise.
2967         (XCHAR_TABLE_ENTRY): Likewise.
2968         (XSETCHAR_TABLE_ENTRY): Likewise.
2969         (CHAR_TABLE_ENTRYP): Likewise.
2970         (CHECK_CHAR_TABLE_ENTRY): Likewise.
2971         (NUM_ASCII_CHARS): Likewise.
2972         (struct Lisp_Char_Table): New implementation in XEmacs UTF-2000.
2973         (CHAR_TABLE_VALUE_UNSAFE): Likewise.
2974
2975 2001-08-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2976
2977         * chartab.c (get_char_id_table): Change interface.
2978         (put_char_id_table_0): New function.
2979         (put_char_id_table): Change interface; new implementation.
2980         (Fget_composite_char): Modify for interface change of
2981         `get_char_id_table'.
2982         (Fchar_variants): Likewise.
2983         (add_char_attribute_alist_mapper): Likewise.
2984         (Fchar_attribute_alist): Likewise.
2985         (Fget_char_attribute): Likewise.
2986         (Fput_char_attribute): Allow coded-charset or [CODED-CHARSET ROW]
2987         as same as character as the first argument like `put-char-table';
2988         modify for interface change of `put_char_id_table'.
2989         (Fremove_char_attribute): Modify for interface change of
2990         `put_char_id_table'.
2991
2992 2001-08-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
2993
2994         * text-coding.c: Sync up with XEmacs 21.2.41.
2995         (COMPOSE_ADD_CHAR): Modify for interface change of
2996         `get_char_id_table'.
2997
2998         * mule-charset.c (put_char_ccs_code_point): Modify for interface
2999         change of `put_char_id_table'.
3000         (remove_char_ccs): Likewise.
3001
3002         * chartab.h (put_char_id_table): Change interface.
3003
3004         * char-ucs.h (get_char_id_table): Change interface.
3005         (charset_code_point): Modify for interface change of
3006         `get_char_id_table'.
3007         (encode_char_1): Likewise.
3008
3009 2001-08-19  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3010
3011         * chartab.c (map_over_uint8_byte_table): Change arguments; add new
3012         argument `ccs'.
3013         (map_over_uint16_byte_table): Likewise.
3014         (map_over_byte_table): Likewise.
3015         (map_char_id_table): Add new argument `range' like
3016         `map_char_table'.
3017         (Fmap_char_attribute): Add new argument `range' like
3018         `Fmap_char_table'.
3019
3020 2001-08-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3021
3022         * chartab.c (map_over_uint8_byte_table): Change interface of
3023         mapping function to use struct chartab_range instead of Emchar.
3024         (map_over_uint16_byte_table): Likewise.
3025         (map_over_byte_table): Likewise.
3026         (map_char_id_table): Likewise.
3027         (struct slow_map_char_id_table_arg): Deleted.
3028         (slow_map_char_id_table_fun): Deleted.
3029         (Fmap_char_attribute): Use struct `slow_map_char_table_arg' and
3030         function `slow_map_char_table_fun' instead of struct
3031         `slow_map_char_id_table_arg' and function
3032         `slow_map_char_id_table_fun'.
3033
3034 2001-08-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3035
3036         * mule-charset.c: Move char-it-table related codes to chartab.c.
3037         (Vutf_2000_version): Moved to chartab.c.
3038         (Fdefine_char): Likewise.
3039         (Ffind_char): Likewise.
3040         (syms_of_mule_charset): Move types `uint8-byte-table',
3041         `uint16-byte-table', `byte-table' and `char-id-table' to
3042         chartab.c; move functions `char_attribute_list,
3043         `find_char_attribute_table, `char_attribute_alist,
3044         `get_char_attribute, `put_char_attribute, `remove_char_attribute,
3045         `map_char_attribute, `define_char, `find_char, `char_variants and
3046         `get_composite_char to chartab.c; move symbols `=>ucs',
3047         `->decomposition', `compat', `isolated', `initial', `medial',
3048         `final', `vertical', `noBreak', `fraction', `super', `sub',
3049         `circle', `square', `wide', `narrow', `small' and `font' to
3050         chartab.c.
3051         (vars_of_mule_charset): Move `utf-2000-version' to chartab.c; move
3052         setting codes for `Vcharacter_composition_table' and
3053         `Vcharacter_variant_table' to chartab.c.
3054         (complex_vars_of_mule_charset): Move setting code for
3055         `Vchar_attribute_hash_table' to chartab.c.
3056
3057         * chartab.h: Include "char-ucs.h" if --with-utf-2000 is specified.
3058         (make_char_id_table): New prototype.
3059         (put_char_id_table): Likewise.
3060         (Fget_char_attribute): Likewise.
3061
3062         * chartab.c: Move char-id-table related code from mule-charset.c.
3063         (Vutf_2000_version): Moved from mule-charset.c.
3064
3065         * char-ucs.h (Qucs): New external variable.
3066         (put_char_ccs_code_point): New prototype.
3067         (remove_char_ccs): Likewise.
3068
3069 2001-08-14  MORIOKA Tomohiko  <tomo@mousai.mahoroba.ne.jp>
3070
3071         * mule-charset.c (Vcharset_ucs_jis): New variable.
3072         (Qucs_jis): Likewise.
3073         (syms_of_mule_charset): Add new symbol `ucs-jis'.
3074         (complex_vars_of_mule_charset): Add new coded-charset `ucs-jis'.
3075
3076         * char-ucs.h (LEADING_BYTE_UCS_JIS): New macro.
3077
3078 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3079
3080         * mule-charset.c (map_over_uint8_byte_table): New function.
3081         (map_over_uint16_byte_table): Likewise.
3082         (map_over_byte_table): Likewise.
3083         (map_char_id_table): Likewise.
3084         (slow_map_char_id_table_fun): Likewise.
3085         (Fmap_char_attribute): Likewise.
3086         (syms_of_mule_charset): Add new function `map-char-attribute'.
3087
3088 2001-08-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3089
3090         * mule-charset.c (Ffind_char): New function in XEmacs UTF-2000.
3091         (syms_of_mule_charset): Add new function `find-char'.
3092
3093 2001-08-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3094
3095         * mule-charset.c (Vcharset_chinese_big5_cdp): New variable in
3096         XEmacs UTF-2000.
3097         (Qchinese_big5_cdp): New variable in XEmacs UTF-2000.
3098         (syms_of_mule_charset): Add new symbol `chinese-big5-cdp' in
3099         XEmacs UTF-2000.
3100         (complex_vars_of_mule_charset): Add new coded-charset
3101         `chinese-big5-cdp' in XEmacs UTF-2000; change registry of
3102         `ideograph-gt-pj-*'.
3103
3104         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5_CDP): New macro.
3105
3106 2001-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3107
3108         * mule-charset.c (encode_builtin_char_1): Purge codes about
3109         {MIN|MAX}_CHAR_{GREEK|CYRILLIC}; comment out code about
3110         {MIN|MAX}_CHAR_HEBREW.
3111         (complex_vars_of_mule_charset): Comment out {MIN|MAX}_CHAR_HEBREW;
3112         don't use {MIN|MAX}_CHAR_HEBREW to define `hebrew-iso8859-8'.
3113
3114         * char-ucs.h (MIN_CHAR_GREEK): Purged.
3115         (MAX_CHAR_GREEK): Purged.
3116         (MIN_CHAR_CYRILLIC): Purged.
3117         (MAX_CHAR_CYRILLIC): Purged.
3118         (MIN_CHAR_HEBREW): Commented out.
3119         (MAX_CHAR_HEBREW): Likewise.
3120
3121 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3122
3123         * mule-charset.c (Qto_ucs): New variable.
3124         (Fput_char_attribute): Treat `=>ucs' as same as `->ucs'.
3125         (Fdefine_char): Likewise.
3126         (syms_of_mule_charset): Add new symbol `=>ucs'.
3127
3128 2001-07-23  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3129
3130         * mule-charset.c (Fdecode_char): Fixed.
3131
3132 2001-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3133
3134         * mule-charset.c (complex_vars_of_mule_charset): Modify registry
3135         of latin-tcvn5712 to accept "tcvn5712.1993-1" as same as
3136         "tcvn5712-1".
3137
3138 2001-07-21  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3139
3140         * mule-charset.c (Vcharset_ucs_big5): New variable.
3141         (Qucs_big5): Likewise.
3142         (syms_of_mule_charset): Add new symbol `ucs-big5'.
3143         (complex_vars_of_mule_charset): Add new coded-charset `ucs-big5'.
3144
3145         * char-ucs.h (LEADING_BYTE_UCS_BIG5): New macro.
3146
3147 2001-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3148
3149         * mule-charset.c (decode_builtin_char): Check Big5 code range
3150         which can be mapped to `chinese-big5-1' and `chinese-big5-2'.
3151
3152 2001-07-15  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3153
3154         * mule-charset.c (Vcharset_chinese_gb12345): New variable.
3155         (Qchinese_gb12345): Likewise.
3156         (Fdecode_builtin_char): Fixed.
3157         (syms_of_mule_charset): Add `chinese-gb12345'.
3158         (complex_vars_of_mule_charset): Add coded-charset
3159         `chinese-gb12345'.
3160
3161         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x70.
3162         (LEADING_BYTE_CHINESE_GB12345): New macro.
3163
3164 2001-07-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3165
3166         * mule-charset.c (Fdecode_builtin_char): Use `latin-viscii-lower'
3167         and `latin-viscii-upper' for `latin-viscii'.
3168
3169 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3170
3171         * mule-charset.c (Fdecode_builtin_char): Comment out
3172         regularization code for ISO-IR GR representation.
3173
3174 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3175
3176         * mule-charset.c (decode_builtin_char): New function; renamed from
3177         `make_builtin_char'; return -1 instead of signal.
3178         (Fdecode_builtin_char): Use `decode_builtin_char'.
3179
3180         * char-ucs.h (decode_builtin_char): New prototype; renamed from
3181         `make_builtin_char'.
3182         (DECODE_CHAR): Use `decode_builtin_char' instead of
3183         `make_builtin_char'; use mapping table of `chinese-big5' for
3184         `chinese-big5-{1,2}'.
3185
3186 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3187
3188         * text-coding.c (char_encode_big5): New function.
3189         (char_finish_big5): Likewise.
3190         (reset_encoding_stream): Use `char_encode_big5' and
3191         `char_finish_big5' for CODESYS_BIG5.
3192         (mule_encode): Don't use `encode_coding_big5'.
3193         (encode_coding_big5): Deleted.
3194
3195 2001-07-11  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3196
3197         * text-coding.c (BYTE_BIG5_TWO_BYTE_1_P): Support private area
3198         0x81- in XEmacs UTF-2000.
3199         (detect_coding_big5): Likewise.
3200
3201 2001-07-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3202
3203         * mule-charset.c (Fdefine_char): Don't use a CCS property to
3204         generate character-id if the CCS property does not have
3205         corresponding predefined character.
3206         (make_builtin_char): Return -1 if corresponding predefined
3207         character is not found.
3208         (Fdecode_char): Return nil if corresponding character is not
3209         found.
3210         (complex_vars_of_mule_charset): Change `ucs-cns' to 256^3-set and
3211         don't map to builtin ucs space.
3212
3213 2001-07-06  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3214
3215         * char-ucs.h (MAX_LEADING_BYTE_PRIVATE): Fixed.
3216         (MAX_CHAR_GT): Changed to `(MIN_CHAR_GT + 66773)'.
3217
3218 2001-07-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3219
3220         * mule-charset.c (Vcharset_ideograph_gt): New variable.
3221         (Vcharset_ideograph_gt_pj_{1..11}): Likewise.
3222         (Qideograph_gt): Likewise.
3223         (Qideograph_gt_pj_{1..11}): Likewise.
3224         (syms_of_mule_charset): Add `ideograph-gt', `ideograph-gt-pj-1',
3225         `ideograph-gt-pj-2', ..., `ideograph-gt-pj-10' and
3226         `ideograph-gt-pj-11'.
3227         (complex_vars_of_mule_charset): Add coded-charset `ideograph-gt',
3228         `ideograph-gt-pj-1', `ideograph-gt-pj-2', ...,
3229         `ideograph-gt-pj-10' and `ideograph-gt-pj-11'.
3230
3231         * char-ucs.h (LEADING_BYTE_GT): New macro.
3232         (LEADING_BYTE_GT_PJ_{1..11}): Likewise.
3233         (MIN_CHAR_GT): Likewise.
3234         (MAX_CHAR_GT): Likewise.
3235
3236 2001-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3237
3238         * lisp-disunion.h (XCHARVAL): New implementation for UTF-2000 to
3239         support U-60000000 .. U-7FFFFFFF with 32 bits architecture.
3240
3241         * doprnt.c (unsigned_int_converters): Add `c'.
3242         (emacs_doprnt_1): Use `XUINT' for unsigned integers.
3243
3244         * char-ucs.h (MIN_CHAR_DAIKANWA): Don't refer `MIN_CHAR_MOJIKYO'.
3245         (MAX_CHAR_DAIKANWA): Refer `MIN_CHAR_DAIKANWA' instead of
3246         `MIN_CHAR_MOJIKYO'.
3247         (MIN_CHAR_MOJIKYO_0): New macro; refer `MIN_CHAR_DAIKANWA'.
3248         (MAX_CHAR_MOJIKYO_0): New macro.
3249         (MIN_CHAR_MOJIKYO): Changed to 0x60000000.
3250
3251 2001-06-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3252
3253         * mule-charset.c (Fdefine_char): Delete cemented out code.
3254         (encode_builtin_char_1): Modify for new allocation of builtin
3255         Mojikyo characters.
3256
3257         * lisp-disunion.h (XCHARVAL): Cast the argument into EMACS_UINT.
3258
3259 2001-06-04  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3260
3261         * mule-charset.c (Vcharset_ucs_cns): New variable.
3262         (Qucs_cns): New variable.
3263         (syms_of_mule_charset): Add new symbol `ucs-cns'.
3264         (complex_vars_of_mule_charset): Add new coded-charset `ucs-cns'.
3265
3266 2001-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3267
3268         * char-ucs.h (LEADING_BYTE_UCS_CNS): New macro.
3269
3270 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3271
3272         * search.c (search_buffer): Make `charset_base_code' as
3273         character-id >> 6 to eliminate the corresponding last byte in
3274         UTF-8 representation [I'm not sure it is right thing].
3275         (boyer_moore): Likewise.
3276
3277 2000-12-09  MORIOKA Tomohiko  <tomo@m17n.org>
3278
3279         * emacs.c (vars_of_emacs): Convert XEMACS_CODENAME to internal
3280         representation in MULE.
3281
3282 2000-11-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3283
3284         * text-coding.c (Fmake_coding_system): Use
3285         `EXTERNAL_PROPERTY_LIST_LOOP_3' instead of
3286         `EXTERNAL_PROPERTY_LIST_LOOP'.
3287
3288 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3289
3290         * text-coding.c (decode_output_utf8_partial_char): New function.
3291         (decode_coding_utf8): Use `decode_output_utf8_partial_char'.
3292
3293 2000-11-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3294
3295         * text-coding.c (decode_coding_utf8): Output original byte
3296         sequence if it is broken; change order of conditions.
3297
3298         * mb-utf-8.h (REP_BYTES_BY_FIRST_BYTE): Use Bufbyte; reverse order
3299         of conditions.
3300
3301         * mb-multibyte.h (BYTE_ASCII_P):
3302         Use bit ops for char-signedness safety.
3303         (BYTE_C0_P): Use bit ops for char-signedness safety.
3304         (BYTE_C1_P): Use bit ops for char-signedness safety.
3305
3306         * character.h: (XCHAR_OR_CHAR_INT):
3307         Always use inline function.
3308         Remove redundant type checking assert() - XINT will abort quite
3309         nicely.
3310
3311 2000-11-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3312
3313         * text-coding.c: (Fencode_shift_jis_char):
3314         (Fencode_big5_char):
3315         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
3316         Replace 0 with '\0' when working with bytes.
3317         Replace initial "(" with "\(" in docstrings.
3318
3319         (Fmake_coding_system):
3320         When type is ccl and value is vector, register it with a proper
3321         symbol.  And checks whether the given ccl program is valid.
3322         (mule_decode): When calling ccl_driver, if src indicates
3323         NULL pointer, set an empty string instead.
3324         (mule_encode): Likewise.
3325
3326         (detect_eol_type):
3327         (detect_coding_sjis):
3328         (decode_coding_sjis):
3329         (detect_coding_big5):
3330         (decode_coding_big5):
3331         (detect_coding_ucs4):
3332         (decode_coding_ucs4):
3333         (detect_coding_utf8):
3334         (decode_coding_utf8):
3335         (detect_coding_iso2022):
3336         (decode_coding_iso2022):
3337         (decode_coding_no_conversion):
3338         (mule_decode):
3339         Make all detecting and decoding functions take an Extbyte * arg.
3340         (text_encode_generic):
3341         (encode_coding_big5):
3342         (encode_coding_no_conversion):
3343         (mule_encode):
3344         Make all encoding functions take a Bufbyte * arg.
3345         Use size_t instead of unsigned int for memory sizes.
3346         Only cast to unsigned char whenever dereferencing Extbyte *.
3347
3348         (struct lrecord_description fcd_description_1): Use countof.
3349         (complex_vars_of_file_coding):
3350         Use countof instead of sizeof.
3351         Use CHECK_NATNUM instead of CHECK_INT.
3352
3353 2000-11-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3354
3355         * mule-charset.c (Fget_char_attribute): Add new optional argument
3356         `default-value'.
3357         (put_char_ccs_code_point): Modify for `Fget_char_attribute'.
3358         (remove_char_ccs): Likewise.
3359
3360 2000-10-05  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3361
3362         * text-coding.c (char_encode_shift_jis): New implementation in
3363         UTF-2000.
3364         (decode_coding_big5): Use `DECODE_CHAR (Vcharset_chinese_big5,
3365         ...)'.
3366
3367         * mule-charset.c (Vcharset_chinese_big5): New variable in
3368         UTF-2000.
3369         (Qchinese_big5): New variable in UTF-2000.
3370         (BIG5_SAME_ROW): New macro in UTF-2000.
3371         (make_builtin_char): Use builtin characters of
3372         `Vcharset_chinese_big5_1' and `Vcharset_chinese_big5_2' as builtin
3373         characters of `Vcharset_chinese_big5'.
3374         (syms_of_mule_charset): Add new symbol `chinese-big5' in UTF-2000.
3375         (complex_vars_of_mule_charset): Add new coded-charset
3376         `chinese-big5' in UTF-2000.
3377
3378         * char-ucs.h (LEADING_BYTE_CHINESE_BIG5): New macro.
3379         (Vcharset_chinese_big5): New external variable declaration.
3380         (Vcharset_japanese_jisx0208_1990): Likewise.
3381
3382 2000-07-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3383
3384         * mule-charset.c (expand_uint8_byte_table_to_uint16): New
3385         function.
3386         (put_byte_table): Use `expand_uint8_byte_table_to_uint16'.
3387
3388 2000-07-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3389
3390         * mule-charset.c (complex_vars_of_mule_charset): Define new macro
3391         `DEF_MOJIKYO_PJ' in UTF-2000; use `DEF_MOJIKYO_PJ' to define
3392         `mojikyo-pj-*'; add "MojikyoPJ-*" to charset-registry of
3393         `mojikyo-pj-*'.
3394
3395 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3396
3397         * text-coding.c (decode_coding_big5): Modify for UTF-2000.
3398
3399 2000-07-24  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3400
3401         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3402         to 0.17.
3403
3404 2000-07-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3405
3406         * file-coding.c (ucs_to_char): Don't use `CHARSET_TYPE_*'; modify
3407         for `CHARSET_BY_ATTRIBUTES'.
3408         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3409         `CHARSET_BY_ATTRIBUTES'.
3410
3411         * text-coding.c (struct decoding_stream): Rename member `CH' to
3412         `CPOS'.
3413         (reset_decoding_stream): Use `str->cpos' instead of `str->ch'.
3414         (decode_coding_sjis): Likewise.
3415         (decode_coding_big5): Likewise.
3416         (decode_coding_ucs4): Likewise.
3417         (decode_coding_utf8): Likewise.
3418         (parse_iso2022_esc): Don't use `CHARSET_TYPE_*'; modify for
3419         `CHARSET_BY_ATTRIBUTES'.
3420         (decode_coding_iso2022): Use `str->cpos' instead of `str->ch'; use
3421         `str->counter'; decode 3, 4 bytes sets.
3422         (char_encode_iso2022): Don't use `BREAKUP_CHAR'; encode 3, 4 bytes
3423         sets.
3424         (decode_coding_no_conversion): Use `str->cpos' instead of
3425         `str->ch'.
3426
3427         * mule-charset.c (Vcharset_mojikyo_2022_1): New variable.
3428         (Qmojikyo_2022_1): New variable.
3429         (make_charset): Don't use `CHARSET_TYPE_*'.
3430         (range_charset_code_point): Support coded-charset
3431         `mojikyo-2022-1'.
3432         (encode_builtin_char_1): Modify for `CHARSET_BY_ATTRIBUTES'.
3433         (Fmake_charset): Don't use `CHARSET_TYPE_*'; modify for
3434         `CHARSET_BY_ATTRIBUTES'.
3435         (Fcharset_from_attributes): Don't use `CHARSET_TYPE_*'; modify for
3436         `CHARSET_BY_ATTRIBUTES'.
3437         (syms_of_mule_charset): Add new symbol `mojikyo-2022-1'.
3438         (complex_vars_of_mule_charset): Add new coded-charset
3439         `mojikyo-2022-1'.
3440
3441         * mule-charset.h (CHARSET_BY_ATTRIBUTES): New implementation and
3442         interface; changed to inline function.
3443
3444         * char-ucs.h (Vcharset_mojikyo_2022_1): New variable.
3445         (LEADING_BYTE_MOJIKYO_2022_1): New macro.
3446         (LEADING_BYTE_MOJIKYO_2022_2): New macro.
3447         (CHARSET_TYPE_94): Deleted.
3448         (CHARSET_TYPE_94X94): Deleted.
3449         (CHARSET_TYPE_96): Deleted.
3450         (CHARSET_TYPE_96X96): Deleted.
3451         (CHARSET_TYPE_128): Deleted.
3452         (CHARSET_TYPE_128X128): Deleted.
3453         (CHARSET_TYPE_256): Deleted.
3454         (CHARSET_TYPE_256X256): Deleted.
3455         (CHARSET_BY_ATTRIBUTES): New implementation and interface; changed
3456         to inline function.
3457         (DECODE_MOJIKYO_2022): New inline function.
3458         (DECODE_CHAR): Use `DECODE_MOJIKYO_2022'; decode
3459         `Vcharset_mojikyo_2022_1'.
3460
3461 2000-07-18  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3462
3463         * mule-charset.c (byte_table_same_value_p): Use `internal_equal'
3464         instead of `EQ'.
3465         (put_byte_table): Likewise.
3466         (char_id_table_equal): Use `get_byte_table' [new implementation].
3467
3468 2000-07-17  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3469
3470         * mule-charset.c: Include <limits.h> in UTF-2000.
3471         (BT_UINT8_MIN): New macro in UTF-2000.
3472         (BT_UINT8_MAX): New macro in UTF-2000.
3473         (BT_UINT8_t): New macro in UTF-2000.
3474         (BT_UINT8_nil): New macro in UTF-2000.
3475         (BT_UINT8_unbound): New macro in UTF-2000.
3476         (INT_UINT8_P): New inline function in UTF-2000.
3477         (UINT8_VALUE_P): New inline function in UTF-2000.
3478         (UINT8_ENCODE): New inline function in UTF-2000.
3479         (UINT8_DECODE): New inline function in UTF-2000.
3480         (mark_uint8_byte_table): New function in UTF-2000.
3481         (print_uint8_byte_table): New function in UTF-2000.
3482         (uint8_byte_table_equal): New function in UTF-2000.
3483         (uint8_byte_table_hash): New function in UTF-2000.
3484         (make_uint8_byte_table): New function in UTF-2000.
3485         (uint8_byte_table_same_value_p): New function in UTF-2000.
3486         (BT_UINT16_MIN): New macro in UTF-2000.
3487         (BT_UINT16_MAX): New macro in UTF-2000.
3488         (BT_UINT16_t): New macro in UTF-2000.
3489         (BT_UINT16_nil): New macro in UTF-2000.
3490         (BT_UINT16_unbound): New macro in UTF-2000.
3491         (INT_UINT16_P): New inline function in UTF-2000.
3492         (UINT16_VALUE_P): New inline function in UTF-2000.
3493         (UINT16_ENCODE): New inline function in UTF-2000.
3494         (UINT16_DECODE): New inline function in UTF-2000.
3495         (UINT8_TO_UINT16): New inline function in UTF-2000.
3496         (mark_uint16_byte_table): New function in UTF-2000.
3497         (print_uint16_byte_table): New function in UTF-2000.
3498         (uint16_byte_table_equal): New function in UTF-2000.
3499         (uint16_byte_table_hash): New function in UTF-2000.
3500         (make_uint16_byte_table): New function in UTF-2000.
3501         (uint16_byte_table_same_value_p): New function in UTF-2000.
3502         (print_byte_table): New function in UTF-2000.
3503         (byte-table): Use `print_byte_table' as printer.
3504         (make_byte_table): Delete second argument `older'.
3505         (byte_table_same_value_p): New function in UTF-2000.
3506         (copy_byte_table): Deleted.
3507         (get_byte_table): New function in UTF-2000.
3508         (put_byte_table): New function in UTF-2000.
3509         (print_char_id_table): New function in UTF-2000.
3510         (char-id-table): Use `print_char_id_table' as printer.
3511         (make_char_id_table): Delete second argument `older'.
3512         (get_char_id_table): Use `get_byte_table [new implementation].
3513         (put_char_id_table): Use `get_byte_table and `put_byte_table' [new
3514         implementation].
3515         (Ffind_char_attribute_table): New function in UTF-2000.
3516         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
3517         (syms_of_mule_charset): Add LRECORD_IMPLEMENTATION
3518         `uint8_byte_table' and `uint16_byte_table' in UTF-2000.
3519         (syms_of_mule_charset): Add new function
3520         `find-char-attribute-table' in UTF-2000.
3521
3522         * lrecord.h (enum lrecord_type): Add
3523         `lrecord_type_uint16_byte_table' and
3524         `lrecord_type_uint8_byte_table'.
3525
3526         * char-ucs.h (struct Lisp_Uint8_Byte_Table): New structure.
3527         (Lisp_Uint8_Byte_Table): New type.
3528         (XUINT8_BYTE_TABLE): New macro.
3529         (XSETUINT8_BYTE_TABLE): New macro.
3530         (UINT8_BYTE_TABLE_P): New macro.
3531         (GC_UINT8_BYTE_TABLE_P): New macro.
3532         (struct Lisp_Uint16_Byte_Table): New structure.
3533         (Lisp_Uint16_Byte_Table): New type.
3534         (XUINT16_BYTE_TABLE): New macro.
3535         (XSETUINT16_BYTE_TABLE): New macro.
3536         (UINT16_BYTE_TABLE_P): New macro.
3537         (GC_UINT16_BYTE_TABLE_P): New macro.
3538
3539 2000-07-13  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3540
3541         * mule-charset.c (Vcharacter_ideographic_radical_table): Deleted.
3542         (Vcharacter_ideographic_strokes_table): Deleted.
3543         (Vcharacter_total_strokes_table): Deleted.
3544         (Vcharacter_morohashi_daikanwa_table): Deleted.
3545         (Vcharacter_decomposition_table): Deleted.
3546         (Qname): Deleted because it is duplicated.
3547         (Qideographic_radical): Deleted.
3548         (Qideographic_strokes): Deleted.
3549         (Qtotal_strokes): Deleted.
3550         (Qmorohashi_daikanwa): Deleted.
3551         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' for
3552         `ideographic-radical', `ideographic-strokes', `total-strokes',
3553         `morohashi-daikanwa' and `->decomposition'.
3554         (Fget_char_attribute): Likewise.
3555         (Fput_char_attribute): Likewise; use `make-vector' instead of
3556         `make_older_vector' for `->decomposition' value.
3557         (Fdefine_char): Comment out code to check `morohashi-daikanwa' and
3558         `ideograph-daikanwa'.
3559         (syms_of_mule_charset): Delete builtin symbols `name',
3560         `ideographic-radical', `ideographic-strokes', `total-strokes' and
3561         `morohashi-daikanwa'.
3562         (vars_of_mule_charset): Don't setup
3563         `Vcharacter_ideographic_radical_table',
3564         `Vcharacter_ideographic_strokes_table',
3565         `Vcharacter_total_strokes_table',
3566         `Vcharacter_morohashi_daikanwa_table' and
3567         `Vcharacter_decomposition_table'.
3568
3569 2000-06-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3570
3571         * alloc.c: Use `HAVE_GGC' instead of `UTF2000' for
3572         `make_older_vector', `make_vector_newer_1' and
3573         `make_vector_newer'.
3574
3575         * lisp.h: Use `HAVE_GGC' instead of `UTF2000' for
3576         `make_older_vector' and `make_vector_newer'.
3577
3578         * config.h.in (HAVE_GGC): New macro.
3579
3580 2000-06-16  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3581
3582         * mule-charset.c (struct char_attribute_list_closure): New
3583         structure in UTF-2000.
3584         (add_char_attribute_to_list_mapper): New function in UTF-2000.
3585         (Fchar_attribute_list): Likewise.
3586         (Fset_charset_mapping_table): Use `make_vector_newer'.
3587         (Fdecode_builtin_char): New function in UTF-2000.
3588         (syms_of_mule_charset): Add new function `char-attribute-list' and
3589         `decode-builtin-char' in UTF-2000.
3590
3591         * lisp.h (make_vector_newer): New prototype.
3592
3593         * alloc.c (make_vector_newer_1): New function.
3594         (make_vector_newer): New function.
3595
3596 2000-06-14  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3597
3598         * char-ucs.h (MAX_CHAR_DAIKANWA): Changed to `(MIN_CHAR_MOJIKYO +
3599         50100)'.
3600
3601 2000-06-12  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3602
3603         * mule-charset.c (Vchar_attribute_hash_table): New variable.
3604         (Vcharacter_attribute_table): Deleted.
3605         (Vcharacter_name_table): Deleted.
3606         (put_char_attribute): Deleted.
3607         (remove_char_attribute): Deleted.
3608         (struct char_attribute_alist_closure): New structure.
3609         (add_char_attribute_alist_mapper): New function.
3610         (Fchar_attribute_alist): Use `Vchar_attribute_hash_table' instead
3611         of `Vcharacter_attribute_table' and `Vcharacter_name_table'.
3612         (Fget_char_attribute): Likewise.
3613         (Fput_char_attribute): Likewise.
3614         (Fremove_char_attribute): Use `Vchar_attribute_hash_table' instead
3615         of `remove_char_attribute'.
3616         (Fdefine_char): Return character.
3617         (vars_of_mule_charset): Don't setup `Vcharacter_attribute_table'
3618         and `Vcharacter_name_table'.
3619         (complex_vars_of_mule_charset): Likewise
3620         `Vchar_attribute_hash_table'.
3621
3622 2000-06-10  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3623
3624         * character.h (CHARC_CHARSET): New macro.
3625         (CHARC_CHARSET_ID): New macro.
3626         (CHARC_CODE_POINT): New macro.
3627         (CHARC_COLUMNS): New macro.
3628         (CHARC_TO_CHAR): New inline function.
3629         (CHARC_EQ): New inline function.
3630         (CHARC_ASCII_EQ): New inline function.
3631         (CHARC_IS_SPACE): New inline function.
3632         (ASCII_TO_CHARC): New inline function.
3633
3634         * char-ucs.h (encode_char_2): Deleted.
3635         (ENCODE_CHAR): Use `encode_char_1' again.
3636         (breakup_char_1): Likewise.
3637         (CHAR_TO_CHARC): New inline function.
3638
3639         * char-lb.h, char-1byte.h (CHAR_TO_CHARC): New inline function.
3640
3641 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3642
3643         * redisplay.c (add_emchar_rune): Use `ASCII_TO_CHARC',
3644         `CHAR_TO_CHARC' and `CHARC_CHARSET'.
3645         (create_text_block): Use `CHARC_ASCII_EQ' and `CHARC_IS_SPACE'.
3646         (generate_formatted_string_db): Use `CHARC_TO_CHAR'.
3647         (create_string_text_block): Use `CHARC_ASCII_EQ' and
3648         `CHARC_IS_SPACE'.
3649         (pixel_to_glyph_translation): Use `CHARC_ASCII_EQ'.
3650
3651         * redisplay-x.c (separate_textual_runs): Use `CHARC_CHARSET' and
3652         `CHARC_CODE_POINT'.
3653         (x_output_display_block): Use `CHARC_CHARSET' and
3654         `CHARC_ASCII_EQ'.
3655
3656         * redisplay-tty.c (tty_output_display_block): Use
3657         `CHARC_ASCII_EQ'.
3658         (tty_output_display_block): Likewise; use `ASCII_TO_CHARC'.
3659
3660         * redisplay-output.c (compare_runes): Use `CHARC_EQ'.
3661
3662         * insdel.c (find_charsets_in_charc_string): Use
3663         `CHARC_CHARSET_ID'.
3664         (charc_string_displayed_columns): Use `CHARC_COLUMNS'.
3665         (convert_bufbyte_string_into_charc_dynarr): Use `CHAR_TO_CHARC'.
3666         (convert_charc_string_into_bufbyte_dynarr): Use `CHARC_TO_CHAR'.
3667         (convert_charc_string_into_malloced_string): Likewise.
3668
3669 2000-06-09  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3670
3671         * toolbar-x.c (x_output_toolbar_button): Use <Charc_dynarr *>
3672         instead of <Emchar_dynarr *> for buf; use
3673         `convert_bufbyte_string_into_charc_dynarr' instead of
3674         `convert_bufbyte_string_into_emchar_dynarr'; use
3675         `find_charsets_in_charc_string' instead of
3676         `find_charsets_in_emchar_string'.
3677
3678         * redisplay.h:
3679         - Include "character.h".
3680         (struct rune): New member `cglyph'; delete member `chr'.
3681
3682         * redisplay.c (redisplay_text_width_charc_string): New function;
3683         delete `redisplay_text_width_emchar_string'.
3684         (rtw_charc_dynarr): New variable; renamed from
3685         `rtw_emchar_dynarr'.
3686         (redisplay_text_width_string): Use `rtw_charc_dynarr' instead of
3687         `rtw_emchar_dynarr'; use
3688         `convert_bufbyte_string_into_charc_dynarr' instead of
3689         `convert_bufbyte_string_into_emchar_dynarr'; use
3690         `redisplay_text_width_charc_string' instead of
3691         `redisplay_text_width_emchar_string'.
3692         (redisplay_frame_text_width_string): Use `rtw_charc_dynarr'
3693         instead of `rtw_emchar_dynarr'; use
3694         `convert_bufbyte_string_into_charc_dynarr' instead of
3695         `convert_bufbyte_string_into_emchar_dynarr'.
3696         (add_emchar_rune): Add <Charc> instead of <Emchar>; use
3697         `redisplay_text_width_charc_string' instead of
3698         `redisplay_text_width_emchar_string'.
3699         (create_text_block): Modify for <struct rune> change.
3700         (generate_formatted_string_db): Likewise.
3701         (create_string_text_block): Likewise.
3702         (pixel_to_glyph_translation): Likewise.
3703
3704         * redisplay-x.c (separate_textual_runs): Use <const Charc *>
3705         instead of <const Emchar *>.
3706         (x_text_width): Likewise.
3707         (x_output_display_block): Use <Charc_dynarr *> instead
3708         <Emchar_dynarr *>; modify for <structure rune> change.
3709         (x_output_string): Use <Charc_dynarr *> instead of <Emchar_dynarr
3710         *>.
3711
3712         * redisplay-tty.c (tty_text_width): Use <const Charc *> instead of
3713         <const Emchar *>; use `charc_string_displayed_columns' instead of
3714         `emchar_string_displayed_columns'.
3715         (tty_output_display_block): Use <Charc_dynarr *> instead of
3716         <Emchar_dynarr *> for buf; modify for <structure rune> change; use
3717         `tty_output_charc_dynarr' instead of `tty_output_emchar_dynarr'.
3718         (tty_output_charc_dynarr_dynarr): New variable; renamed from
3719         `tty_output_emchar_dynarr_dynarr'.
3720         (tty_output_charc_dynarr): New function; delete
3721         `tty_output_charc_dynarr'.
3722
3723         * redisplay-output.c (compare_runes): Modify for `struct rune'.
3724         (redisplay_output_layout): Use <Charc_dynarr *> instead of
3725         <Emchar_dynarr *> for buf; use
3726         `convert_bufbyte_string_into_charc_dynarr' instead of
3727         `convert_bufbyte_string_into_emchar_dynarr'.
3728
3729         * frame.c (title_string_charc_dynarr): New variable; renamed from
3730         `title_string_emchar_dynarr'.
3731         (generate_title_string): Use `title_string_charc_dynarr' instead
3732         of `title_string_emchar_dynarr'; use
3733         `convert_charc_string_into_malloced_string' instead of
3734         `convert_emchar_string_into_malloced_string'.
3735         (init_frame): Use `title_string_charc_dynarr' instead of
3736         `title_string_emchar_dynarr'.
3737
3738         * console.h:
3739         - Include "character.h".
3740         (struct console_methods): Use <const Charc *> instead of <const
3741         Emchar *> in `text_width_method'; use <Charc_dynarr *> instead of
3742         <Emchar_dynarr *> in output_string_method.
3743
3744         * console-x.h (x_output_string): Use <Charc_dynarr *> instead of
3745         <Emchar_dynarr *>.
3746
3747         * console-stream.c (stream_text_width): Use <const Charc *>
3748         instead of <const Emchar *>.
3749
3750         * character.h (Charc_dynarr): New type.
3751
3752         * char-ucs.h (structure Charc): New structure; define new type
3753         `Charc'.
3754
3755         * char-lb.h (DECODE_CHAR): New inline function.
3756         (encode_char_1): New inline function.
3757         (ENCODE_CHAR): New macro.
3758         (structure Charc): New structure; define new type `Charc'.
3759
3760         * char-1byte.h (Vcharset_control_1): New macro.
3761         (Vcharset_latin_iso8859_1): New macro.
3762         (DECODE_CHAR): New inline function.
3763         (encode_char_1): New inline function.
3764         (ENCODE_CHAR): New macro.
3765         (structure Charc): New structure; define new type `Charc'.
3766
3767         * insdel.c (find_charsets_in_charc_string): New function; delete
3768         `find_charsets_in_emchar_string'.
3769         (charc_string_displayed_columns): New function; delete
3770         `emchar_string_displayed_columns'.
3771         (convert_bufbyte_string_into_charc_dynarr): New function; delete
3772         `convert_bufbyte_string_into_emchar_dynarr'.
3773         (convert_charc_string_into_bufbyte_dynarr): New function; delete
3774         `convert_charc_string_into_bufbyte_dynarr'.
3775         (convert_charc_string_into_malloced_string): New function; delete
3776         `convert_charc_string_into_malloced_string'.
3777
3778         * buffer.h (find_charsets_in_charc_string): New prototype; delete
3779         `find_charsets_in_emchar_string'.
3780         (charc_string_displayed_columns): New prototype; delete
3781         `emchar_string_displayed_columns'.
3782         (convert_charc_string_into_bufbyte_dynarr): New prototype; delete
3783         `convert_charc_string_into_bufbyte_dynarr'.
3784         (convert_charc_string_into_malloced_string): New prototype; delete
3785         `convert_charc_string_into_malloced_string'.
3786
3787 2000-06-08  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3788
3789         * select-x.c (Fx_store_cutbuffer_internal): Modify for UTF-2000.
3790
3791 2000-06-07  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3792
3793         * chartab.h (get_non_ascii_char_table_value): Use <Charset_ID>.
3794
3795         * char-ucs.h: Use <short> for <Charset_ID>.
3796
3797         * mule-charset.h, char-1byte.h: Use <unsigned char> for
3798         <Charset_ID>.
3799
3800 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3801
3802         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
3803         to 0.16.
3804
3805 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3806
3807         * mule-charset.c (Vcharacter_morohashi_daikanwa_table): New
3808         variable.
3809         (Qmorohashi_daikanwa): New variable.
3810         (Fchar_attribute_alist): Use `Vcharacter_morohashi_daikanwa_table'
3811         for `morohashi-daikanwa' attribute.
3812         (Fget_char_attribute): Likewise.
3813         (Fput_char_attribute): Likewise.
3814         (Fdefine_char): Don't setup `morohashi-daikanwa' attribute if it
3815         has the same value of `ideograph-daikanwa'.
3816         (syms_of_mule_charset): Add new symbol `morohashi-daikanwa'.
3817         (vars_of_mule_charset): Setup
3818         `Vcharacter_morohashi_daikanwa_table'.
3819
3820 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3821
3822         * mule-charset.c (Fchar_attribute_alist): Add coded-charset
3823         attributes.
3824         (add_charset_to_list_mapper): Add `key' instead of
3825         `XCHARSET_NAME (value)' to return aliases.
3826
3827 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3828
3829         * mule-charset.c (Vcharacter_ideographic_radical_table): New
3830         variable.
3831         (Vcharacter_ideographic_strokes_table): New variable.
3832         (Qideographic_radical): New variable.
3833         (Qideographic_strokes): New variable.
3834         (Fchar_attribute_alist): Use
3835         `Vcharacter_ideographic_radical_table' for `ideographic-radical'
3836         attribute; use `Vcharacter_ideographic_strokes_table' for
3837         `ideographic-strokes' attribute.
3838         (Fget_char_attribute): Likewise.
3839         (Fput_char_attribute): Likewise.
3840         (syms_of_mule_charset): Add new symbol `ideographic-radical' and
3841         `ideographic-strokes'.
3842         (vars_of_mule_charset): Setup
3843         `Vcharacter_ideographic_radical_table' and
3844         `Vcharacter_ideographic_strokes_table'.
3845
3846 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3847
3848         * mule-charset.c (Vcharacter_total_strokes_table): New variable.
3849         (Qtotal_strokes): New variable.
3850         (Fchar_attribute_alist): Use `Vcharacter_total_strokes_table' for
3851         `total-strokes' attribute.
3852         (Fget_char_attribute): Likewise.
3853         (Fput_char_attribute): Likewise.
3854         (syms_of_mule_charset): Add new symbol `total-strokes'.
3855         (vars_of_mule_charset): Setup `Vcharacter_total_strokes_table'.
3856
3857 2000-06-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3858
3859         * mule-charset.c (Vcharacter_decomposition_table): New variable.
3860         (Fchar_attribute_alist): Add `name' and `->decomposition' if they
3861         are found.
3862         (Fget_char_attribute): Use `Vcharacter_decomposition_table' for
3863         `->decomposition' attribute.
3864         (Fput_char_attribute): Likewise.
3865         (vars_of_mule_charset): Setup `Vcharacter_decomposition_table'.
3866
3867 2000-06-01  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3868
3869         * mule-charset.c (decoding_table_check_elements): New function.
3870         (Fset_charset_mapping_table): Use `decoding_table_check_elements'.
3871
3872 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3873
3874         * mule-charset.c (Fset_charset_mapping_table): Use
3875         `put_char_ccs_code_point'.
3876
3877 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3878
3879         * mule-charset.c (decoding_table_put_char): New inline function.
3880         (put_char_ccs_code_point): Use `decoding_table_put_char'.
3881
3882 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3883
3884         * mule-charset.c (CHARSET_BYTE_SIZE): New inline function.
3885         (XCHARSET_BYTE_SIZE): New macro.
3886         (decoding_table_remove_char): New inline function.
3887         (put_char_ccs_code_point): Use `XCHARSET_BYTE_SIZE'; use
3888         `decoding_table_remove_char'.
3889         (remove_char_ccs): Use `decoding_table_remove_char'.
3890         (Fset_charset_mapping_table): Use `CHARSET_BYTE_SIZE'.
3891
3892 2000-05-31  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3893
3894         * mule-charset.c (Vcharacter_name_table): New variable.
3895         (Qname): New variable.
3896         (Fget_char_attribute): Use `Vcharacter_name_table' for `name'
3897         attribute.
3898         (Fput_char_attribute): Use function `put_char_ccs_code_point'; use
3899         `Vcharacter_name_table' for `name' attribute.
3900         (Fremove_char_attribute): Use function `remove_char_ccs'.
3901         (put_char_ccs_code_point): New function.
3902         (remove_char_ccs): New function.
3903         (syms_of_mule_charset): Add new symbol `name'.
3904         (vars_of_mule_charset): Setup `Vcharacter_name_table'.
3905
3906 2000-05-30  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3907
3908         * mule-charset.c (make_byte_table): Add new argument `older'.
3909         (make_char_id_table): Likewise.
3910         (copy_char_id_table): Comment out because it is not used.
3911         (put_char_id_table): Modify for `make_byte_table'.
3912         (Fput_char_attribute): Make encoding_table as older object;
3913         inherit older bit of `Vcharacter_composition_table'.
3914         (mark_charset): Don't mark `cs->encoding_table'.
3915         (vars_of_mule_charset): Make `Vcharacter_attribute_table' as a
3916         normal object; make `Vcharacter_composition_table' as an older
3917         object; delete staticpro for `Vcharacter_composition_table'; make
3918         `Vcharacter_variant_table' as a normal object.
3919
3920         * alloc.c (alloc_older_lcrecord): New function in UTF-2000.
3921         (mark_object): Don't check older object in UTF-2000.
3922
3923         * lrecord.h (struct lrecord_header): Add new member `older' in
3924         UTF-2000.
3925         (set_lheader_implementation): Setup `SLI_header->older' in
3926         UTF-2000.
3927         (set_lheader_older_implementation): New macro in UTF-2000.
3928         (OLDER_RECORD_P): New macro in UTF-2000.
3929         (OLDER_RECORD_HEADER_P): New macro in UTF-2000.
3930         (alloc_older_lcrecord): New prototype in UTF-2000.
3931         (alloc_older_lcrecord_type): New macro in UTF-2000.
3932
3933 2000-05-29  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3934
3935         * mule-charset.c (byte_table_description): Use
3936         `XD_LISP_OBJECT_ARRAY' instead of `XD_LISP_OBJECT'.
3937         (char_id_table_description): Delete bogus `, 1'.
3938         (Fget_char_attribute): Refer encoding_table of each coded-charset
3939         to get value of coded-charset attribute of a character.
3940         (Fput_char_attribute): Use `make_older_vector' instead of
3941         `make_vector'; use encoding_table of each coded-charset to store
3942         value of coded-charset attribute of a character.
3943         (Fremove_char_attribute): Use encoding_table of each coded-charset
3944         to store value of coded-charset attribute of a character.
3945         (mark_charset): Mark `cs->encoding_table'; don't mark
3946         `cs->decoding_table'.
3947         (charset_description): Add description of new member
3948         `encoding_table'.
3949         (make_charset): Initialize `encoding_table'.
3950
3951         * char-ucs.h (struct Lisp_Charset): Add new member
3952         `encoding_table'.
3953         (CHARSET_ENCODING_TABLE): New macro.
3954         (XCHARSET_ENCODING_TABLE): New macro.
3955         (charset_code_point): New implementation.
3956         (encode_char_1): Likewise.
3957
3958         * alloc.c (all_older_lcrecords): New variable in UTF-2000.
3959         (disksave_object_finalization_1): Call finalizers of
3960         `all_older_lcrecords' in UTF-2000.
3961         (make_older_vector): New function in UTF-2000.
3962         (reinit_alloc_once_early): Initialize `all_older_lcrecords' in
3963         UTF-2000.
3964
3965         * lisp.h (make_older_vector): New prototype in UTF-2000.
3966
3967 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3968
3969         * lrecord.h (enum lrecord_type): Rename
3970         `lrecord_type_char_code_table' to `lrecord_type_char_id_table'.
3971
3972         * text-coding.c (COMPOSE_ADD_CHAR): Use `CHAR_ID_TABLE_P' and
3973         `get_char_id_table' instead of `CHAR_CODE_TABLE_P' and
3974         `get_char_code_table'.
3975
3976         * mule-charset.c (mark_char_id_table): Renamed from
3977         `mark_char_code_table'.
3978         (char_id_table_equal): Renamed from `char_code_table_equal'.
3979         (char_id_table_hash): Renamed from `char_code_table_hash'.
3980         (make_char_id_table): Renamed from `make_char_code_table'.
3981         (copy_char_id_table): Renamed from `copy_char_code_table'.
3982         (get_char_id_table): Renamed from `get_char_code_table'.
3983         (put_char_id_table): Renamed from `put_char_code_table'.
3984         (to_char_id): Renamed from `to_char_code'.
3985
3986         * char-ucs.h (struct Lisp_Char_ID_Table): Renamed from
3987         `Lisp_Char_Code_Table'.
3988         (char_id_table): Renamed from `char_code_table'.
3989         (XCHAR_ID_TABLE): Renamed from `XCHAR_CODE_TABLE'.
3990         (XSETCHAR_ID_TABLE): Renamed from `XSETCHAR_CODE_TABLE'.
3991         (CHAR_ID_TABLE_P): Renamed from `CHAR_CODE_TABLE_P'.
3992         (GC_CHAR_ID_TABLE_P): Renamed from `GC_CHAR_CODE_TABLE_P'.
3993         (get_char_id_table): Renamed from `get_char_code_table'.
3994
3995 2000-05-22  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
3996
3997         * lrecord.h (enum lrecord_type): Rename
3998         `lrecord_type_char_byte_table' to `lrecord_type_byte_table'.
3999
4000         * mule-charset.c (mark_byte_table): Renamed from
4001         `mark_char_byte_table'.
4002         (byte_table_equal): Renamed from `char_byte_table_equal'.
4003         (byte_table_hash): Renamed from `byte_table_hash'.
4004         (make_byte_table): Renamed from `make_byte_table'.
4005         (copy_byte_table): Renamed from `copy_char_byte_table'.
4006
4007         * char-ucs.h (struct Lisp_Byte_Table): Renamed from
4008         `Lisp_Char_Byte_Table'.
4009         (byte_table): Renamed from `char_byte_table'.
4010         (XBYTE_TABLE): Renamed from `XCHAR_BYTE_TABLE'.
4011         (XSETBYTE_TABLE): Renamed from `XSET_CHAR_BYTE_TABLE'.
4012         (BYTE_TABLE_P): Renamed from `XBYTE_TABLE_P'.
4013         (GC_BYTE_TABLE_P): Renamed from `GC_CHAR_BYTE_TABLE_P'.
4014
4015 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4016
4017         * buffer.c (dfc_convert_to_external_format): Modify for UTF-2000.
4018         (dfc_convert_to_internal_format): Likewise.
4019         
4020         * text-coding.c (Fcoding_system_canonical_name_p): New function.
4021         * text-coding.c (Fcoding_system_alias_p): New function.
4022         * text-coding.c (Fcoding_system_aliasee): New function.
4023         * text-coding.c (append_suffix_to_symbol): New function.
4024         * text-coding.c (dangling_coding_system_alias_p): New function.
4025         * text-coding.c (Ffind_coding_system):
4026         * text-coding.c (Fcopy_coding_system):
4027         * text-coding.c (encode_coding_no_conversion):
4028         * text-coding.c (syms_of_file_coding):
4029         * text-coding.c (vars_of_file_coding):
4030         Rewrite coding system alias code.
4031         Allow nested aliases, like symbolic links.
4032         Allow redefinition of coding system aliases.
4033         Prevent existence of dangling coding system aliases.
4034         Eliminate convert_to_external_format.
4035         Eliminate convert_to_internal_format.
4036         
4037         * text-coding.c: Change enum eol_type to eol_type_t.
4038
4039 2000-05-02  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4040
4041         * mule-charset.c (encode_builtin_char_1): Limit builtin-code-range
4042         of `mojikyo' to MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4043
4044         * char-ucs.h (MAX_CHAR_MOJIKYO): Limit builtin-code-range to
4045         MIN_CHAR_MOJIKYO + 94 * 60 * 22.
4046
4047 2000-04-28  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4048
4049         * mule-charset.c (encode_builtin_char_1): Use `mojikyo' instead of
4050         `ideograph-daikanwa'.
4051
4052         * char-ucs.h (Vcharset_ucs): Deleted because it is not used.
4053         (Vcharset_ucs_bmp): Likewise.
4054         (Vcharset_mojikyo): Add new extern variable definition.
4055         (Vcharset_latin_iso8859_2): Deleted because it is not used.
4056         (Vcharset_latin_iso8859_3): Likewise.
4057         (Vcharset_latin_iso8859_4): Likewise.
4058         (Vcharset_latin_iso8859_9): Likewise.
4059         (Vcharset_latin_viscii_lower): Likewise.
4060         (Vcharset_latin_viscii_upper): Likewise.
4061         (DECODE_CHAR): If charset is `mojikyo-pj-N', corresponding
4062         `mojikyo' code-point is used to decode.
4063         (encode_char_2): New function [to convert `mojikyo' code-point to
4064         Mojikyo font encoding].
4065         (ENCODE_CHAR): Use `encode_char_2' instead of `encode_code_1'.
4066         (breakup_char_1): Likewise.
4067         (CHAR_CHARSET): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR'.
4068
4069 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4070
4071         * text-coding.c (Fmake_coding_system): Add document about
4072         `disable-composition' property.
4073
4074 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4075
4076         * text-coding.c (Qdisable_composition): New variable; delete
4077         `Qcomposite'.
4078         (Fmake_coding_system): Add new property `disable-composite';
4079         delete property `composite'.
4080         (COMPOSE_ADD_CHAR): Use `CODING_SYSTEM_DISABLE_COMPOSITION'
4081         instead of `!CODING_SYSTEM_COMPOSITE'.
4082         (syms_of_file_coding): Add new symbol `disable-composition';
4083         delete symbol `composite'.
4084
4085         * file-coding.h (struct Lisp_Coding_System): Add
4086         `disable_composition'; delete `enable_composition'.
4087         (CODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4088         `CODING_SYSTEM_COMPOSITE'.
4089         (XCODING_SYSTEM_DISABLE_COMPOSITION): New macro; delete
4090         `XCODING_SYSTEM_COMPOSITE'.
4091
4092 2000-04-27  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4093
4094         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4095         to 0.15.
4096
4097 2000-04-26  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4098
4099         * text-coding.c (Qcomposite): New variable.
4100         (Fmake_coding_system): Add new property `composite'.
4101         (struct decoding_stream): Add `combined_char_count',
4102         `combined_chars' and `combining_table' in UTF-2000.
4103         (COMPOSE_FLUSH_CHARS): New macro.
4104         (COMPOSE_ADD_CHAR): New macro.
4105         (reset_decoding_stream): Reset `str->combined_char_count' and
4106         `str->combining_table' in UTF-2000.
4107         (decode_coding_iso2022): Modify for character-decomposition.
4108         (syms_of_file_coding): Add new symbol `composite'.
4109
4110 2000-04-25  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4111
4112         * mule-charset.c (Vcharset_latin_tcvn5712): New variable.
4113         (Fput_char_attribute): Set up `Vcharacter_variant_table' instead
4114         of `Vcharacter_composition_table' if `->decomposition' property
4115         has only 1 element.
4116         (Qlatin_tcvn5712): New variable.
4117         (syms_of_mule_charset): Add new symbol `latin-tcvn5712'.
4118         (complex_vars_of_mule_charset): Add new coded-charset
4119         `latin-tcvn5712'.
4120
4121         * char-ucs.h (LEADING_BYTE_LATIN_TCVN5712): New macro.
4122
4123 2000-04-20  MORIOKA Tomohiko  <tomo@kanji.zinbun.kyoto-u.ac.jp>
4124
4125         * file-coding.h (struct Lisp_Coding_System): Add
4126         `enable_composition'.
4127         (CODING_SYSTEM_COMPOSITE): New macro.
4128         (XCODING_SYSTEM_COMPOSITE): New macro.
4129
4130 2000-03-17  MORIOKA Tomohiko  <tomo@m17n.org>
4131
4132         * mule-canna.c (c2mu): Fix problem with UTF-2000.
4133
4134 2000-03-16  MORIOKA Tomohiko  <tomo@m17n.org>
4135
4136         * mule-charset.c (Fput_char_attribute): Don't make mapping-table
4137         if ATTRIBUTE is `ucs' and character-id of CHARACTER = VALUE.
4138
4139 2000-02-24  MORIOKA Tomohiko  <tomo@m17n.org>
4140
4141         * mule-charset.c (Vcharset_mojikyo): New variable.
4142         (Fdefine_char): Don't use coded-charset which does not have
4143         non-builtin character range to allocate character-id.
4144         (Qmojikyo): New variable.
4145         (syms_of_mule_charset): Add new symbol `mojikyo'.
4146         (complex_vars_of_mule_charset): Add new coded-charset `mojikyo'.
4147
4148         * char-ucs.h (LEADING_BYTE_DAIKANWA_EKANJI): New macro.
4149         (LEADING_BYTE_MOJIKYO): New macro.
4150         (MIN_CHAR_MOJIKYO): New macro.
4151         (MIN_CHAR_DAIKANWA): Use `MIN_CHAR_MOJIKYO'.
4152         (MAX_CHAR_MOJIKYO): New macro.
4153
4154 2000-02-12  MORIOKA Tomohiko  <tomo@m17n.org>
4155
4156         * mule-charset.c (remove_char_attribute): Fixed.
4157
4158 2000-02-08  MORIOKA Tomohiko  <tomo@m17n.org>
4159
4160         * mule-charset.c (remove_char_attribute): New function.
4161         (Fremove_char_attribute): New function.
4162         (encode_builtin_char_1): Comment out builtin-support for
4163         greek-iso8859-7 and cyrillic-iso8859-5.
4164         (Fdecode_char): Check `code' is an integer.
4165         (syms_of_mule_charset): Add `remove-char-attribute'.
4166         (MIN_CHAR_GREEK): Deleted.
4167         (MAX_CHAR_GREEK): Likewise.
4168         (MIN_CHAR_CYRILLIC): Likewise.
4169         (MAX_CHAR_CYRILLIC): Likewise.
4170         (complex_vars_of_mule_charset): Don't use MIN_CHAR_GREEK and
4171         MAX_CHAR_GREEK for `greek-iso8859-7'.
4172
4173         * char-ucs.h (MIN_CHAR_GREEK): Comment out.
4174         (MAX_CHAR_GREEK): Likewise.
4175         (MIN_CHAR_CYRILLIC): Likewise.
4176         (MAX_CHAR_CYRILLIC): Likewise.
4177
4178 2000-02-02  MORIOKA Tomohiko  <tomo@m17n.org>
4179
4180         * mule-charset.c (Fdefine_char): Fix problem when new code-point
4181         format is used without `ucs' property.
4182         (Fdecode_char): Fix problem with GR representation.
4183         (complex_vars_of_mule_charset): Don't use `MIN_CHAR_CYRILLIC' and
4184         `MAX_CHAR_CYRILLIC' as range of builtin `cyrillic-iso8859-5'.
4185
4186 2000-01-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4187
4188         * mule-charset.c (make_builtin_char): New function.
4189         (encode_builtin_char_1): Check ISO-2022-charset is defined or not.
4190         (Fset_charset_mapping_table): Modify for new representation of
4191         code-point.
4192         (Fdecode_char): New function.
4193         (syms_of_mule_charset): Add new builtin function `decode-char' in
4194         UTF-2000.
4195
4196         * char-ucs.h (make_builtin_char): New prototype.
4197         (DECODE_CHAR): New inline function.
4198         (MAKE_CHAR): Use `DECODE_CHAR'.
4199
4200 2000-01-28  MORIOKA Tomohiko  <tomo@m17n.org>
4201
4202         * text-coding.c (parse_charset_conversion_specs): Use
4203         `XCHARSET_CHARS' and `XCHARSET_DIMENSION' instead of
4204         `XCHARSET_TYPE'.
4205         (iso2022_designate): Likewise.
4206
4207         * chartab.c (decode_char_table_range): Use `XCHARSET_CHARS' and
4208         `XCHARSET_DIMENSION' instead of `XCHARSET_TYPE'.
4209
4210         * mule-charset.c (Vcharset_ucs): New variable.
4211         (print_charset): Change design; use `CHARSET_CHARS' and
4212         `CHARSET_DIMENSION' instead of `CHARSET_TYPE'.
4213         (make_charset): Change signature to specify `chars' and
4214         `dimension' instead of `type'.
4215         (range_charset_code_point): Modify for 256^n-set.
4216         (encode_builtin_char_1): Encode as `ucs' in default.
4217         (Fmake_charset): Modify for `make_charset'.
4218         (Fmake_reverse_direction_charset): Likewise.
4219         (Fsplit_char): Use `ENCODE_CHAR' instead of `BREAKUP_CHAR' in
4220         UTF-2000.
4221         (complex_vars_of_mule_charset): Add coded-charset `ucs'; modify
4222         for `make_charset'.
4223
4224         * char-ucs.h (Vcharset_ucs): New variable.
4225         (LEADING_BYTE_UCS): New macro.
4226         (struct Lisp_Charset): Delete `type'; change type of `dimension'
4227         and `chars' to `unsigned short' from `unsigned int'.
4228         (CHARSET_TYPE): Deleted.
4229         (XCHARSET_TYPE): Deleted.
4230
4231 2000-01-27  MORIOKA Tomohiko  <tomo@m17n.org>
4232
4233         * mule-charset.c (charset_code_point): Moved to char-ucs.h.
4234
4235         * char-ucs.h (charset_code_point): Moved from mule-charset.c.
4236         (ENCODE_CHAR): New macro.
4237
4238 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4239
4240         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4241         to 0.14 (Kawachi-Katakami).
4242
4243 2000-01-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
4244
4245         * text-coding.c (char_encode_shift_jis): Modify for
4246         `charset_code_point'.
4247         (char_encode_iso2022): Likewise.
4248
4249         * mule-charset.c (Fput_char_attribute): Use <Lisp_Object>
4250         (integer) instead of list of <Lisp_Object>s (integers) as the
4251         format of code-point of a coded-charset.
4252         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4253         (encode_builtin_char_1): New function; delete
4254         `split_builtin_char'.
4255         (charset_code_point): Return <int> instead of <Lisp_Object>.
4256         (Fsplit_char): Don't use `SPLIT_CHAR'.
4257
4258         * char-ucs.h (encode_builtin_char_1): New prototype; delete
4259         prototype for `split_builtin_char'.
4260         (range_charset_code_point): Return <int> instead of <Lisp_Object>.
4261         (charset_code_point): Likewise.
4262         (encode_char_1): New inline function; delete `SPLIT_CHAR'.
4263         (breakup_char_1): Use `encode_char_1' instead of `SPLIT_CHAR'.
4264
4265 2000-01-20  MORIOKA Tomohiko  <tomo@m17n.org>
4266
4267         * mule-charset.c (complex_vars_of_mule_charset): Don't define
4268         `japanese-jisx0208-1990' in non-UTF-2000 Mule.
4269
4270 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4271
4272         * mule-charset.c (split_builtin_char): Don't support OBS_94x94.
4273
4274         * char-ucs.h (MIN_CHAR_OBS_94x94): Deleted.
4275         (MAX_CHAR_OBS_94x94): Deleted.
4276
4277 2000-01-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4278
4279         * mule-charset.c (split_builtin_char): Use `MAX_CHAR_BMP'.
4280
4281         * char-ucs.h (MAX_CHAR_BMP): New macro.
4282
4283 2000-01-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
4284
4285         * text-coding.c: Sync with r21-2-24.
4286
4287 2000-01-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
4288
4289         * file-coding.c: Modify for UTF-2000.
4290
4291 2000-01-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4292
4293         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4294         to 0.13 (Takaida).
4295
4296 2000-01-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
4297
4298         * mule-charset.c (split_builtin_char): Delete builtin support for
4299         `katakana-jisx0201'.
4300         (complex_vars_of_mule_charset): Don't map `katakana-jisx0201' to
4301         BMP area in builtin representation.
4302
4303         * char-ucs.h (MAKE_CHAR): Delete builtin support for
4304         `Vcharset_katakana_jisx0201'.
4305
4306 1999-12-24  MORIOKA Tomohiko  <tomo@etl.go.jp>
4307
4308         * mule-charset.c (Vcharset_mojikyo_pj_[1 .. 21]): New variable.
4309         (Qisolated): New variable.
4310         (Qinitial): New variable.
4311         (Qmedial): New variable.
4312         (Qfinal): New variable.
4313         (Qvertical): New variable.
4314         (Qsmall): New variable.
4315         (to_char_code): Use `Qisolated', `Qinitial', `Qmedial', `Qfinal',
4316         `Qvertical' and `Qsmall'.
4317         (Qmojikyo_pj_[1 .. 21]): New variable.
4318         (syms_of_mule_charset): Add new symbols `isolated', `initial',
4319         `medial', `final', `vertical', `small' and `mojikyo-pj-[1 .. 21]'.
4320         (complex_vars_of_mule_charset): Add new charset `mojikyo-pj-[1
4321         .. 21]'.
4322
4323 1999-11-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4324
4325         * char-ucs.h (MIN_LEADING_BYTE): Changed to -0x60.
4326         (LEADING_BYTE_MOJIKYO_PJ_[1 .. 21]): New macros.
4327         (MAX_LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 32)'.
4328
4329 1999-11-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4330
4331         * mule-charset.c (Vcharset_japanese_jisx0208_1990): New variable.
4332         (Fdefine_char): Use Group 00 Plane 10 for non-coded variants of
4333         BMP.
4334         (Qjapanese_jisx0208_1990): New variable.
4335         (syms_of_mule_charset): Add new symbol `Qjapanese_jisx0208_1990'.
4336         (complex_vars_of_mule_charset): Add new coded-charset
4337         `japanese-jisx0208-1990'.
4338
4339         * char-ucs.h (LEADING_BYTE_JAPANESE_JISX0208_1990): New macro.
4340         (MIN_CHAR_JIS_X0208_1990): New macro.
4341         (MAX_CHAR_JIS_X0208_1990): New macro.
4342
4343 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4344
4345         * text-coding.c (char_encode_iso2022): Output `~' if ISO 2022
4346         coded-charset is not found.
4347
4348 1999-11-16  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4349
4350         * mule-charset.c (Fget_char_attribute): Forgot to `CHECK_CHAR'.
4351         (Fdefine_char): Use `Fmake_char'.
4352
4353 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4354
4355         * mule-charset.c (Vcharset_ideograph_daikanwa): New variable.
4356         (Vcharset_hiragana_jisx0208): Deleted.
4357         (Vcharset_katakana_jisx0208): Deleted.
4358         (Qideograph_daikanwa): New variable.
4359         (Qhiragana_jisx0208): Deleted.
4360         (Qkatakana_jisx0208): Deleted.
4361         (split_builtin_char): Split `ideograph-daikanwa'.
4362         (Fsplit_char): New implementation for UTF-2000.
4363         (syms_of_mule_charset): Add new symbol `ideograph-daikanwa';
4364         delete symbol `hiragana-jisx0208' and `katakana-jisx0208'.
4365         (complex_vars_of_mule_charset): Add new coded-charset
4366         `ideograph-daikanwa'; delete coded-charset `hiragana-jisx0208' and
4367         `katakana-jisx0208'.
4368
4369         * char-ucs.h (LEADING_BYTE_DAIKANWA): New macro.
4370         (LEADING_BYTE_HIRAGANA_JISX0208): Deleted.
4371         (LEADING_BYTE_KATAKANA_JISX0208): Deleted.
4372         (MIN_CHAR_DAIKANWA): New macro.
4373         (MAX_CHAR_DAIKANWA): New macro.
4374
4375 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4376
4377         * data.c (Fstring_to_number): Don't recognize floating point if
4378         base is not 10.
4379
4380 1999-11-15  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4381
4382         * mule-charset.c (Fput_char_attribute): Forgot to `CHECK_CHAR'.
4383
4384 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4385
4386         * mule-charset.c (Qsquare): New variable.
4387         (to_char_code): Add `Qsquare'.
4388         (syms_of_mule_charset): Add new symbol `square'.
4389
4390 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4391
4392         * mule-charset.c (Qcircle): New variable.
4393         (to_char_code): Add `Qcircle'.
4394         (syms_of_mule_charset): Add new symbol `circle'.
4395
4396 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4397
4398         * mule-charset.c (Qfont): New variable.
4399         (to_char_code): Add `Qfont'.
4400         (syms_of_mule_charset): Add new symbol `font'.
4401
4402 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4403
4404         * mule-charset.c (Qsub): New variable.
4405         (to_char_code): Add `Qsub'.
4406         (syms_of_mule_charset): Add new symbol `sub'.
4407
4408 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4409
4410         * mule-charset.c (Fput_char_attribute): Convert each element of
4411         VALUE to GL position if ATTRIBUTE is a GR-set,
4412
4413 1999-11-14  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4414
4415         * mule-charset.c (Fput_char_attribute): Allow GR code-point if a
4416         coded-charset is a GR-set.
4417
4418 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4419
4420         * mule-charset.c (Fput_char_attribute): Check each element of
4421         VALUE is a byte if ATTRIBUTE is a coded-charset or its name.
4422
4423 1999-11-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4424
4425         * mule-charset.c (Vcharset_ethiopic_ucs): New variable in
4426         UTF-2000.
4427         (Qethiopic_ucs): New variable in UTF-2000.
4428         (syms_of_mule_charset): Add new symbol `ethiopic-ucs' in UTF-2000.
4429         (complex_vars_of_mule_charset): Add new coded-charset
4430         `ethiopic-ucs' in UTF-2000.
4431
4432         * char-ucs.h (LEADING_BYTE_ETHIOPIC_UCS): New macro.
4433         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4434         9)'.
4435         (LEADING_BYTE_KATAKANA_JISX0208): Changed to `(CHARSET_ID_OFFSET -
4436         10)'.
4437         (LEADING_BYTE_PRIVATE): Changed to `(CHARSET_ID_OFFSET - 11)'.
4438
4439 1999-11-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
4440
4441         * mule-charset.c (Fset_charset_mapping_table): Fix problem with
4442         `ascii'.
4443
4444 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4445
4446         * mule-charset.c (Vcharacter_variant_table): New variable.
4447         (Q_ucs): New variable.
4448         (Fchar_variants): New function.
4449         (Fput_char_attribute): Register `->ucs' value to
4450         `Vcharacter_variant_table'.
4451         (syms_of_mule_charset): Add new function `char-variants' and new
4452         symbol `->ucs'.
4453         (vars_of_mule_charset): Setup `Vcharacter_variant_table'.
4454
4455 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4456
4457         * mule-charset.c (get_char_code_table): Allow negative character
4458         code.
4459         (put_char_code_table): Likewise.
4460         (Vcharacter_composition_table): New variable.
4461         (Q_decomposition): New variable.
4462         (Qwide): New variable.
4463         (Qnarrow): New variable.
4464         (Qcompat): New variable.
4465         (QnoBreak): New variable.
4466         (Qsuper): New variable.
4467         (Qfraction): New variable.
4468         (to_char_code): New function.
4469         (Fget_composite_char): New function.
4470         (Fput_char_attribute): Register `->decomposition' value to
4471         `Vcharacter_composition_table'.
4472         (syms_of_mule_charset): Add new function `get-composite-char', new
4473         symbol `->decomposition', `wide', `narrow', `compat', `noBreak',
4474         `super' and `fraction'.
4475         (vars_of_mule_charset): Setup `Vcharacter_composition_table'.
4476
4477 1999-11-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4478
4479         * mule-charset.c (Fchar_attribute_alist): Check the argument is a
4480         character; copy the return value.
4481
4482 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4483
4484         * char-ucs.h (SPLIT_CHAR): Use `split_builtin_char'.
4485
4486         * mule-charset.c (range_charset_code_point): Must use make_int.
4487         (split_builtin_char): New function.
4488
4489 1999-11-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4490
4491         * mule-charset.c (char_byte_table): Change name from
4492         "char-code-table" to "char-byte-table".
4493         (mark_char_code_table): New function.
4494         (char_code_table_equal): New function.
4495         (char_code_table_hash): New function.
4496         (char_code_table_description): New constant.
4497         (char_code_table): New type.
4498         (make_char_code_table): New function.
4499         (copy_char_code_table): New function.
4500         (get_char_code_table): Modify for `char_code_table' type.
4501         (put_char_code_table): Likewise.
4502         (vars_of_mule_charset): Update `utf-2000-version' to 0.12
4503         (Kashiwara).
4504
4505         * char-ucs.h (char_code_table): New type.
4506         (XCHAR_CODE_TABLE): New macro.
4507         (XSETCHAR_CODE_TABLE): New macro.
4508         (CHAR_CODE_TABLE_P): New macro.
4509         (GC_CHAR_CODE_TABLE_P): New macro.
4510         (struct Lisp_Char_Code_Table): New structure.
4511
4512 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4513
4514         * mule-charset.c (Fmake_charset): Setup byte_offset for
4515         {94|96}^n-set.
4516
4517 1999-11-09  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4518
4519         * mule-charset.c (Fdefine_char): Fix problem with non-UCS
4520         character.
4521
4522 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4523
4524         * char-ucs.h (SPLIT_CHAR): Don't make new cell if a charset slot
4525         is found.
4526
4527 1999-11-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
4528
4529         * mule-charset.c (Fget_char_attribute): If ATTRIBUTE is a name of
4530         charset, it is regarded as a charset.
4531         (put_char_attribute): New function in UTF-2000.
4532         (Fput_char_attribute): If ATTRIBUTE is a charset or a name of
4533         charset, mapping-table of the charset is modified.
4534         (Fdefine_char): New function in UTF-2000.
4535         (Fset_charset_mapping_table): Use `put_char_attribute' instead of
4536         `Fput_char_attribute'.
4537         (syms_of_mule_charset): Add new function `define-char' and new
4538         symbol `ucs' in UTF-2000.
4539         (vars_of_mule_charset): Update `utf-2000-version' to 0.11 (Shiki).
4540
4541 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4542
4543         * mule-charset.c (Fcharset_name): Define `byte_offset' in
4544         non-UTF-2000 configuration.
4545
4546 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4547
4548         * text-coding.c (char_encode_shift_jis): Use `charset_code_point'
4549         not to use `XCHARSET_ENCODING_TABLE (Vcharset_latin_jisx0201)'.
4550
4551         * mule-charset.c (mark_charset): `cs->encoding_table' has been
4552         deleted.
4553         (make_charset): Don't use `CHARSET_ENCODING_TABLE(cs)'.
4554         (Fset_charset_mapping_table): Likewise.
4555
4556         * char-ucs.h (struct Lisp_Charset): Delete `encoding_table'.
4557         (CHARSET_ENCODING_TABLE): Delete.
4558         (XCHARSET_ENCODING_TABLE): Delete.
4559         (charset_code_point): New interface.
4560
4561 1999-10-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
4562
4563         * text-coding.c (char_encode_iso2022): Use `charset_code_point'
4564         instead of `charset_get_byte1' and `charset_get_byte2'.
4565
4566         * mule-charset.c, char-ucs.h (charset_get_byte1): Deleted.
4567         (charset_get_byte2): Deleted.
4568
4569 1999-10-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
4570
4571         * char-ucs.h (SPLIT_CHAR): New inline function.
4572         (breakup_char_1): Use `SPLIT_CHAR'.
4573
4574         * mule-charset.c (range_charset_code_point): New function.
4575         (charset_code_point): New function.
4576
4577         * char-ucs.h (range_charset_code_point): New interface.
4578         (breakup_char_1): Use `range_charset_code_point'.
4579
4580 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4581
4582         * mule-charset.c (Fmake_charset): Delete unused local variable
4583         `code_offset'.
4584
4585         * char-ucs.h (Vcharacter_attribute_table): New extern variable.
4586         (breakup_char_1): Find a charset and code-point in
4587         `Vcharacter_attribute_table'.
4588
4589 1999-10-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4590
4591         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4592         to 0.10 (Yao).
4593
4594 1999-10-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
4595
4596         * mule-charset.c (Vcharacter_attribute_table): New variable.
4597         (Fchar_attribute_alist): New function.
4598         (Fget_char_attribute): New function.
4599         (Fput_char_attribute): New function.
4600         (Fset_charset_mapping_table): Setup `Vcharacter_attribute_table'
4601         too.
4602         (syms_of_mule_charset): Add new function `char-attribute-alist',
4603         `get-char-attribute' and `put-char-attribute'.
4604         (vars_of_mule_charset): Setup `Vcharacter_attribute_table'.
4605
4606 1999-10-19  MORIOKA Tomohiko  <tomo@etl.go.jp>
4607
4608         * mule-charset.c (Fmake_charset): Just use
4609         `get_unallocated_leading_byte'.
4610
4611         * char-ucs.h (LEADING_BYTE_*): Use ISO-IR numbers for official
4612         sets; don't use final-byte based number for private sets.
4613
4614 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4615
4616         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
4617         integer.
4618
4619 1999-10-12  MORIOKA Tomohiko  <tomo@etl.go.jp>
4620
4621         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
4622         to 0.9.
4623
4624 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4625
4626         * regex.c (compile_extended_range): Use `CHAR_CHARSET_ID' instead
4627         of `CHAR_LEADING_BYTE' in UTF-2000.
4628
4629         * insdel.c (find_charsets_in_bufbyte_string): Use
4630         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4631         (find_charsets_in_emchar_string): Likewise.
4632
4633         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use
4634         `CHAR_CHARSET_ID' instead of `CHAR_LEADING_BYTE' in UTF-2000.
4635
4636         * char-ucs.h (CHAR_LEADING_BYTE): Deleted.
4637         (CHAR_CHARSET_ID): New macro.
4638
4639 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4640
4641         * chartab.c (get_char_table): Don't use type `Charset_ID' for
4642         charset-id - MIN_LEADING_BYTE.
4643         (put_char_table): Likewise.
4644
4645 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4646
4647         * char-ucs.h (MIN_LEADING_BYTE): Changed to `-0x40'.
4648         (NUM_LEADING_BYTES): Changed to (80 * 3 - MIN_LEADING_BYTE).
4649         (CHARSET_LEADING_BYTE): Don't cast by `Bufbyte'.
4650         (CHARSET_ID_OFFSET): New macro.
4651         (LEADING_BYTE_CONTROL_1): Changed to (CHARSET_ID_OFFSET - 1).
4652         (LEADING_BYTE_UCS_BMP): Changed to (CHARSET_ID_OFFSET - 2).
4653         (LEADING_BYTE_LATIN_VISCII): Changed to (CHARSET_ID_OFFSET - 3).
4654         (LEADING_BYTE_HIRAGANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4655         4).
4656         (LEADING_BYTE_KATAKANA_JISX0208): Changed to (CHARSET_ID_OFFSET -
4657         5).
4658         (MIN_LEADING_BYTE_PRIVATE): Changed to `MIN_LEADING_BYTE'.
4659         (MAX_LEADING_BYTE_PRIVATE): Changed to (CHARSET_ID_OFFSET - 6).
4660         (CHARSET_ID_OFFSET_94): Changed to (CHARSET_ID_OFFSET - '0').
4661         (CHARSET_ID_OFFSET_96): Changed to (CHARSET_ID_OFFSET_94 + 80).
4662         (CHARSET_ID_OFFSET_94x94): Changed to (CHARSET_ID_OFFSET_96 + 80).
4663
4664 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4665
4666         * mule-charset.c (next_allocated_leading_byte): New variable in
4667         UTF-2000.
4668         (next_allocated_1_byte_leading_byte): Don't define in UTF-2000.
4669         (next_allocated_2_byte_leading_byte): Don't define in UTF-2000.
4670         (get_unallocated_leading_byte): Simply use
4671         `next_allocated_leading_byte' [ignore dimension] in UTF-2000.
4672         (vars_of_mule_charset): Setup `next_allocated_leading_byte' in
4673         UTF-2000.
4674
4675         * char-ucs.h (MIN_LEADING_BYTE_PRIVATE): New macro.
4676         (MAX_LEADING_BYTE_PRIVATE): New macro.
4677         (MIN_LEADING_BYTE_OFFICIAL_2): Deleted.
4678         (MAX_LEADING_BYTE_OFFICIAL_2): Deleted.
4679
4680 1999-10-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4681
4682         * mule-charset.c (Fmake_charset): Allocate final-byte based
4683         charset-id for 94-set, 96-set and 94x94-set.
4684
4685 1999-10-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
4686
4687         * mule-charset.c (char_byte_table_equal): Fill braces to avoid
4688         ambiguous `else'.
4689         (Fmake_charset): Likewise.
4690         (complex_vars_of_mule_charset): Modify the font registry of
4691         `ucs-bmp' not to match `Ethiopic-Unicode'.
4692
4693 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4694
4695         * mule-charset.c (complex_vars_of_mule_charset): Add font
4696         registory of `ucs-bmp'.
4697
4698 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4699
4700         * text-coding.c (char_encode_iso2022): Ignore non-ISO-2022
4701         coded-charsets in `default-coded-charset-priority-list' when
4702         breaking up a character.
4703
4704         * mule-charset.c (Vcharset_latin_viscii): New variable.
4705         (Qlatin_viscii): New variable.
4706         (make_charset): Don't use `decoding_table'.
4707         (Fmake_charset): Regard graphic = 2 as 256^n-set; setup
4708         byte_offset.
4709         (Fset_charset_mapping_table): New implementation.
4710         (syms_of_mule_charset): Add new symbol `latin-viscii'.
4711         (complex_vars_of_mule_charset): Set `graphic' attribute of charset
4712         `ucs-bmp' and `latin_viscii' to 2; change font registry of charset
4713         `latin-viscii-lower' to "MULEVISCII-LOWER"; change font registry
4714         of charset `latin-viscii-upper' to "MULEVISCII-UPPER"; add new
4715         charset `latin_viscii'.
4716
4717         * char-ucs.h (LEADING_BYTE_LATIN_VISCII): New macro.
4718         (CHARSET_TYPE_94X94): Change to 1 from 2.
4719         (CHARSET_TYPE_96): Change to 2 from 1.
4720         (CHARSET_TYPE_128): New macro.
4721         (CHARSET_TYPE_128X128): Change to 5 from 4.
4722         (CHARSET_TYPE_256): New macro.
4723         (CHARSET_TYPE_256X256): Change to 7 from 5.
4724         (MAKE_CHAR): Use `XCHARSET_BYTE_OFFSET(charset)'.
4725
4726 1999-10-10  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4727
4728         * text-coding.c (char_encode_shift_jis): Refer
4729         `XCHARSET_ENCODING_TABLE(Vcharset_latin_jisx0201)' instead of
4730         `XCHARSET_TO_BYTE1_TABLE(Vcharset_latin_jisx0201)'.
4731
4732         * mule-charset.c (mark_char_byte_table): New function in UTF-2000.
4733         (char_byte_table_equal): New function in UTF-2000.
4734         (char_byte_table_hash): New function in UTF-2000.
4735         (char_byte_table_description): New constant in UTF-2000.
4736         (char_byte_table): New type in UTF-2000.
4737         (make_char_byte_table): New function in UTF-2000.
4738         (copy_char_byte_table): New function in UTF-2000.
4739         (make_char_code_table): New macro in UTF-2000.
4740         (get_char_code_table): New function in UTF-2000.
4741         (put_char_code_table): New function in UTF-2000.
4742         (mark_charset): Mark `cs->encoding_table' in UTF-2000.
4743         (charset_description): Add setting in UTF-2000.
4744         (make_charset): Setup `CHARSET_ENCODING_TABLE(cs)' instead of
4745         `CHARSET_TO_BYTE1_TABLE(cs)'.
4746         (charset_get_byte1): Refer `XCHARSET_ENCODING_TABLE(charset)'
4747         instead of `XCHARSET_TO_BYTE1_TABLE(charset)'.
4748         (charset_get_byte2): Refer `XCHARSET_ENCODING_TABLE(charset)'
4749         instead of `XCHARSET_TO_BYTE2_TABLE(charset)'.
4750         (Fset_charset_mapping_table): Setup `CHARSET_ENCODING_TABLE(cs)'
4751         instead of `CHARSET_TO_BYTE1_TABLE(cs)' and
4752         `CHARSET_TO_BYTE2_TABLE(cs)'.
4753
4754         * char-ucs.h (char_byte_table): New type.
4755         (XCHAR_BYTE_TABLE): New macro.
4756         (XSETCHAR_BYTE_TABLE): New macro.
4757         (CHAR_BYTE_TABLE_P): New macro.
4758         (GC_CHAR_BYTE_TABLE_P): New macro.
4759         (struct Lisp_Char_Byte_Table): New structure.
4760         (get_char_code_table): New interface.
4761         (Emchar_to_byte_table): Deleted.
4762         (get_byte_from_character_table): Deleted.
4763         (struct Lisp_Charset): Add `encoding_table'; delete
4764         `to_byte1_table' and `to_byte2_table'.
4765         (CHARSET_ENCODING_TABLE): New macro.
4766         (CHARSET_TO_BYTE1_TABLE): Deleted.
4767         (CHARSET_TO_BYTE2_TABLE): Deleted.
4768         (XCHARSET_ENCODING_TABLE): New macro.
4769         (XCHARSET_TO_BYTE1_TABLE): Deleted.
4770         (XCHARSET_TO_BYTE2_TABLE): Deleted.
4771
4772 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4773
4774         * mule-charset.c (syms_of_mule_charset): Delete charset alias
4775         `vietnamese-viscii-*'.
4776
4777 1999-10-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
4778
4779         * mule-charset.c (Qvietnamese_viscii_lower): New variable.
4780         (Qvietnamese_viscii_upper): New variable.
4781         (Fdefine_charset_alias): New function.
4782         (syms_of_mule_charset): Add new function `define-charset-alias'.
4783         (syms_of_mule_charset): Rename charset `vietnamese-viscii-*' to
4784         `latin-viscii-*'; define `vietnamese-viscii-*' as aliases for
4785         `latin-viscii-*'.
4786
4787 1999-10-04  MORIOKA Tomohiko  <tomo@etl.go.jp>
4788
4789         * char-ucs.h (MIN_CHAR_OBS_94x94): New macro.
4790         (MAX_CHAR_OBS_94x94): New macro.
4791         (breakup_char_1): Support obsolete XEmacs-UCS private code space
4792         for 94x94 sets.
4793
4794         * mule-charset.c (put_byte_from_character_table): Change unit size
4795         from 128 to 256.
4796         (mark_charset): Don't mark `cs->decoding_table' if `UTF2000' is
4797         not defined.
4798         (Fmake_reverse_direction_charset): Modify dummy argument of
4799         `make_charset' for non-UTF-2000 environment.
4800
4801 1999-10-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4802
4803         * char-ucs.h (MAKE_CHAR): Allow nested decoding-table.
4804
4805         * mule-charset.c (destroy_byte_from_character_table): New macro.
4806         (latin_jisx0201_to_ucs): Deleted.
4807         (latin_iso8859_2_to_ucs): Deleted.
4808         (latin_iso8859_3_to_ucs): Deleted.
4809         (latin_iso8859_4_to_ucs): Deleted.
4810         (latin_iso8859_9_to_ucs): Deleted.
4811         (latin_viscii_lower_to_ucs): Deleted.
4812         (latin_viscii_upper_to_ucs): Deleted.
4813         (mark_charset): Mark `cs->decoding_table'.
4814         (Fcharset_mapping_table): Fix DOC-string.
4815         (Fset_charset_mapping_table): New function.
4816         (syms_of_mule_charset): Add nwe function
4817         `set-charset-mapping-table'.
4818         (complex_vars_of_mule_charset): Don't setup and use
4819         `latin_*_to_ucs'.
4820
4821 1999-10-01  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4822
4823         * char-ucs.h (MAKE_CHAR): Check the result for range-represented
4824         charset.
4825
4826 1999-09-30  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4827
4828         * mule-charset.c (Vcharset_hiragana_jisx0208): New variable.
4829         (Vcharset_katakana_jisx0208): New variable.
4830         (Qhiragana_jisx0208): New variable.
4831         (Qkatakana_jisx0208): New variable.
4832         (make_charset): Add new argument `byte_offset'.
4833         (charset_get_byte1): Modify for new coded-charset definition; use
4834         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4835         `XCHARSET_BYTE_OFFSET'.
4836         (Fmake_charset): Modify for `make_charset'.
4837         (Fmake_reverse_direction_charset): Likewise.
4838         (syms_of_mule_charset): Add new symbols `hiragana-jisx0208' and
4839         `katakana-jisx0208'.
4840         (complex_vars_of_mule_charset): Modify for `make_charset'; quote
4841         `.'  in font registry of charset `katakana-jisx0201',
4842         `latin-jisx0201', `vietnamese-viscii-lower' and
4843         `vietnamese-viscii-upper'; modify DOC-string of charset
4844         `japanese-jisx0208-1978' and `japanese-jisx0208'; modify font
4845         registry of charset `japanese-jisx0208' not to use font for JIS
4846         X0208:1990; add new charset `hiragana-jisx0208' and
4847         `katakana-jisx0208'.
4848
4849         * char-ucs.h (LEADING_BYTE_HIRAGANA_JISX0208): New macro.
4850         (LEADING_BYTE_KATAKANA_JISX0208): New macro.
4851         (struct Lisp_Charset): Add `byte_offset'.
4852         (CHARSET_BYTE_OFFSET): New macro.
4853         (XCHARSET_UCS_MIN): New macro.
4854         (XCHARSET_UCS_MAX): New macro.
4855         (XCHARSET_CODE_OFFSET): New macro.
4856         (XCHARSET_BYTE_OFFSET): New macro.
4857         (MIN_CHAR_HIRAGANA): New macro.
4858         (MAX_CHAR_HIRAGANA): New macro.
4859         (MIN_CHAR_KATAKANA): New macro.
4860         (MAX_CHAR_KATAKANA): New macro.
4861         (MAKE_CHAR): Modify for new coded-charset definition; use
4862         `XCHARSET_UCS_MIN', `XCHARSET_UCS_MAX', `XCHARSET_CODE_OFFSET' and
4863         `XCHARSET_BYTE_OFFSET'.
4864
4865 1999-09-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
4866
4867         * mule-charset.c (CHAR96): Deleted.
4868         (latin_jisx0201_to_ucs): Type is changed from array of <Emchar> to
4869         <Lisp_Object>.
4870         (latin_iso8859_2_to_ucs): Likewise.
4871         (latin_iso8859_3_to_ucs): Likewise.
4872         (latin_iso8859_4_to_ucs): Likewise.
4873         (latin_iso8859_9_to_ucs): Likewise.
4874         (latin_viscii_lower_to_ucs): Likewise.
4875         (latin_viscii_upper_to_ucs): Likewise.
4876         (latin_tcvn5712_to_ucs): Commented out.
4877         (make_charset): Change type of argument `decoding_table' from
4878         <Emchar*> to <Lisp_Object> [vector of characters].
4879         (Fmake_charset): Modify for `make_charset'.
4880         (Fmake_reverse_direction_charset): Likewise.
4881         (Fcharset_mapping_table): New function in UTF-2000.
4882         (syms_of_mule_charset): Setup `Fcharset_mapping_table' in
4883         UTF-2000.
4884         (complex_vars_of_mule_charset): Modify for type change of
4885         `*_to_ucs'; modify for `make_charset'.
4886
4887         * char-ucs.h (struct Lisp_Charset): Change type of
4888         `decoding_table' from <Emchar*> to <Lisp_Object>.
4889         (MAKE_CHAR): Modify for new specification of `decoding_table'.
4890
4891 1999-09-23  MORIOKA Tomohiko  <tomo@etl.go.jp>
4892
4893         * mule-charset.c (Fmake_reverse_direction_charset): Fix compile
4894         error with non-UTF-2000-Mule.
4895
4896 1999-09-21  MORIOKA Tomohiko  <tomo@etl.go.jp>
4897
4898         * mule-charset.c (Vcharset_chinese_cns11643_3): Deleted [defined
4899         in lisp again].
4900         (Vcharset_chinese_cns11643_4): Likewise.
4901         (Vcharset_chinese_cns11643_5): Likewise.
4902         (Vcharset_chinese_cns11643_6): Likewise.
4903         (Vcharset_chinese_cns11643_7): Likewise.
4904         (Qchinese_cns11643_3): Likewise.
4905         (Qchinese_cns11643_4): Likewise.
4906         (Qchinese_cns11643_5): Likewise.
4907         (Qchinese_cns11643_6): Likewise.
4908         (Qchinese_cns11643_7): Likewise.
4909         (syms_of_mule_charset): Move definitions for `chinese-cns11643-3',
4910         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
4911         and `chinese-cns11643-7' to lisp/mule/chinese.el.
4912         (complex_vars_of_mule_charset): Likewise.
4913
4914 1999-09-18  MORIOKA Tomohiko  <tomo@etl.go.jp>
4915
4916         * mule-charset.c (charset_get_byte1): Fix bug about 94- and
4917         96-set.
4918         (Fmake_reverse_direction_charset): Inherit CHARSET_DECODING_TABLE,
4919         CHARSET_UCS_MIN, CHARSET_UCS_MAX and CHARSET_CODE_OFFSET.
4920
4921 1999-09-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
4922
4923         * char-ucs.h (MIN_CHAR_HALFWIDTH_KATAKANA): Changed to 0xFF61 from
4924         0xFF60.
4925         (MAKE_CHAR): Change offset for katakana-jisx0201 to 33 from 0x20.
4926         (breakup_char_1): Likewise.
4927
4928         * text-coding.c (char_encode_iso2022): Keep designated charsets if
4929         one of them includes the specified character.
4930
4931 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4932
4933         * mule-charset.c: Update `utf-2000-version' to 0.8 (Kami).
4934
4935 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4936
4937         * char-ucs.h (MAKE_CHAR): Fix problem in 2-dimension charset.
4938
4939 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4940
4941         * mule-charset.c (latin_iso8859_2_to_ucs NULL): Add pseudo
4942         definition for non-UTF-2000 Mule.
4943         (latin_iso8859_3_to_ucs): Likewise.
4944         (latin_iso8859_4_to_ucs): Likewise.
4945         (latin_iso8859_9_to_ucs): Likewise.
4946         (latin_jisx0201_to_ucs): Likewise.
4947         (MIN_CHAR_THAI): Likewise.
4948         (MAX_CHAR_THAI): Likewise.
4949         (MIN_CHAR_GREEK): Likewise.
4950         (MAX_CHAR_GREEK): Likewise.
4951         (MIN_CHAR_HEBREW): Likewise.
4952         (MAX_CHAR_HEBREW): Likewise.
4953         (MIN_CHAR_HALFWIDTH_KATAKANA): Likewise.
4954         (MAX_CHAR_HALFWIDTH_KATAKANA): Likewise.
4955         (MIN_CHAR_CYRILLIC): Likewise.
4956         (MAX_CHAR_CYRILLIC): Likewise.
4957
4958 1999-09-14  MORIOKA Tomohiko  <tomo@etl.go.jp>
4959
4960         * char-ucs.h (breakup_char_1): Use
4961         `Vdefault_coded_charset_priority_list' for hebrew-iso8859-8,
4962         thai-tis620 and katakana-jisx0201 area.
4963
4964 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4965
4966         * char-ucs.h (breakup_char_1): Use
4967         `Vdefault_coded_charset_priority_list' for cyrillic-iso8859-5
4968         area.
4969
4970         * text-coding.c (reset_encoding_stream): Fixed.
4971         (char_encode_ucs4): Delete `& 255'.
4972
4973         * char-ucs.h (breakup_char_1): Use
4974         `Vdefault_coded_charset_priority_list' for greek-iso8859-7 area.
4975
4976 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4977
4978         * file-coding.c (Fmake_coding_system): Don't set up
4979         `codesys->fixed.size'.
4980         (encode_coding_no_conversion): Don't refer
4981         `str->codesys->fixed.size'.
4982
4983 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4984
4985         * mule-charset.c, char-ucs.h (latin_a_char_to_charset): Deleted.
4986         (latin_a_char_to_byte1): Deleted.
4987         (latin_a_char_to_byte2): Deleted.
4988
4989 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
4990
4991         * mule-charset.c (make_charset): Add new argument `ucs_min',
4992         `ucs_max' and `code_offset'.
4993         (charset_get_byte1): New implementation [delete specific charset
4994         depended implementations].
4995         (Fmake_charset): Modify for `make_charset'.
4996         (Fmake_reverse_direction_charset): Likewise.
4997         (complex_vars_of_mule_charset): Likewise.
4998
4999         * char-ucs.h (struct Lisp_Charset): Add `ucs_min', `ucs_max' and
5000         `code_offset'.
5001         (CHARSET_UCS_MIN): New macro.
5002         (CHARSET_UCS_MAX): New macro.
5003         (CHARSET_CODE_OFFSET): New macro.
5004         (MAKE_CHAR): Delete charset depended definitions [except
5005         katakana-jisx0201].
5006
5007 1999-09-13  MORIOKA Tomohiko  <tomo@etl.go.jp>
5008
5009         * char-ucs.h (breakup_char_1): Use
5010         `Vdefault_coded_charset_priority_list' for C0-Controls,
5011         Basic-Latin, C1-Controls and Latin-1-Supplement area.
5012
5013 1999-09-13  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5014
5015         * char-ucs.h (charset_get_byte1): New function.
5016         (XCHARSET_GET_BYTE1): Deleted.
5017         (charset_get_byte2): New function.
5018         (XCHARSET_GET_BYTE2): Deleted.
5019         (Vdefault_coded_charset_priority_list): New external variable.
5020         (breakup_char_1): Use `charset_get_byte1', `charset_get_byte2' and
5021         `Vdefault_preferred_coded_charset_list'.
5022
5023         * mule-charset.c (charset_get_byte1): New function.
5024         (charset_get_byte2): New function.
5025         (Vdefault_coded_charset_priority_list): New variable.
5026         (vars_of_mule_charset): Add new variable
5027         `default-coded-charset-priority-list'.
5028
5029 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5030
5031         * char-ucs.h (XCHARSET_GET_BYTE1): New inline function.
5032         (XCHARSET_GET_BYTE2): New inline function.
5033         (breakup_char_1): Use `XCHARSET_GET_BYTE1' and
5034         `XCHARSET_GET_BYTE2'.
5035
5036 1999-09-12  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5037
5038         * mule-charset.c (make_charset): Initialize
5039         `CHARSET_TO_BYTE1_TABLE(cs)' and `CHARSET_TO_BYTE2_TABLE(cs)' by
5040         NULL if table is not defined.
5041
5042 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5043
5044         * text-coding.c (char_encode_shift_jis): Use
5045         `XCHARSET_TO_BYTE1_TABLE' for `Vcharset_latin_jisx0201' instead of
5046         `ucs_to_latin_jisx0201'.
5047
5048         * mule-charset.c (ucs_to_latin_jisx0201): Deleted.
5049         (ucs_to_latin_iso8859_2): Deleted.
5050         (ucs_to_latin_iso8859_3): Deleted.
5051         (ucs_to_latin_iso8859_4): Deleted.
5052         (ucs_to_latin_iso8859_9): Deleted.
5053         (ucs_to_latin_viscii_lower): Deleted.
5054         (ucs_to_latin_viscii_upper): Deleted.
5055         (ucs_to_latin_tcvn5712): Deleted.
5056         (make_charset): Add new argument `decoding_table'; set up
5057         `CHARSET_DECODING_TABLE(cs)' in UTF-2000; set up
5058         `CHARSET_TO_BYTE1_TABLE(cs)' for 94-set and 96-set if
5059         `decoding_table' is defined in UTF-2000.
5060         (Fmake_charset): Modify for `make_charset'.
5061         (Fmake_reverse_direction_charset): Likewise.
5062         (complex_vars_of_mule_charset): Likewise; delete `GENERATE_94_SET'
5063         and `GENERATE_96_SET'.
5064
5065         * char-ucs.h (latin_jisx0201_to_ucs): Deleted.
5066         (ucs_to_latin_jisx0201): Deleted.
5067         (latin_iso8859_2_to_ucs): Deleted.
5068         (ucs_to_latin_iso8859_2): Deleted.
5069         (latin_iso8859_3_to_ucs): Deleted.
5070         (ucs_to_latin_iso8859_3): Deleted.
5071         (latin_iso8859_4_to_ucs): Deleted.
5072         (ucs_to_latin_iso8859_4): Deleted.
5073         (latin_iso8859_9_to_ucs): Deleted.
5074         (ucs_to_latin_iso8859_9): Deleted.
5075         (latin_viscii_lower_to_ucs): Deleted.
5076         (ucs_to_latin_viscii_lower): Deleted.
5077         (latin_viscii_upper_to_ucs): Deleted.
5078         (ucs_to_latin_viscii_upper): Deleted.
5079         (struct Lisp_Charset): Renamed `encoding_table' to
5080         `to_byte1_table'; add `to_byte2_table'.
5081         (CHARSET_DECODING_TABLE): New macro.
5082         (CHARSET_TO_BYTE1_TABLE): New macro.
5083         (CHARSET_TO_BYTE2_TABLE): New macro.
5084         (XCHARSET_DECODING_TABLE): New macro.
5085         (XCHARSET_TO_BYTE1_TABLE): New macro.
5086         (XCHARSET_TO_BYTE2_TABLE): New macro.
5087         (MAKE_CHAR): Use `XCHARSET_DECODING_TABLE'; don't use `*_to_ucs'
5088         tables.
5089         (breakup_char_1): Use `XCHARSET_TO_BYTE1_TABLE' if it is defined;
5090         don't use `ucs_to_*' tables.
5091
5092 1999-09-11  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5093
5094         * text-coding.c (Fmake_coding_system): Don't set up
5095         `codesys->fixed.size'.
5096         (encode_coding_no_conversion): Use `if' instead of `switch'.
5097
5098         * file-coding.h (struct Lisp_Coding_System): Delete `fixed.size'.
5099
5100 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5101
5102         * mule-charset.c (make_charset): Delete argument `rep_bytes'.
5103         (Fmake_charset): Modify for `make_charset'.
5104         (Fmake_reverse_direction_charset): Likewise.
5105         (complex_vars_of_mule_charset): Likewise.
5106
5107 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5108
5109         * text-coding.c (char_encode_shift_jis): Use table
5110         `ucs_to_latin_jisx0201' and BREAKUP_CHAR.
5111
5112 1999-09-11  MORIOKA Tomohiko  <tomo@etl.go.jp>
5113
5114         * text-coding.c (text_encode_generic): Use `if' instead of
5115         `switch'.
5116         (decode_coding_sjis): Use `MAKE_CHAR' and `DECODE_ADD_UCS_CHAR' to
5117         decode JIS-Latin.
5118
5119 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5120
5121         * text-coding.c (encode_coding_sjis): Deleted.
5122         (char_encode_shift_jis): New function.
5123         (char_finish_shift_jis): New function.
5124         (reset_encoding_stream): Set up `encode_char' and `finish' for
5125         `CODESYS_UCS4' and `CODESYS_SHIFT_JIS'.
5126         (mule_encode): Use generic encoder for `CODESYS_SHIFT_JIS'.
5127         (char_encode_utf8): Treat `eol_type'.
5128
5129 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5130
5131         * file-coding.c (decode_coding_iso2022): Use
5132         `DECODE_ADD_UCS_CHAR'; don't use `XCHARSET_REP_BYTES'.
5133
5134 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5135
5136         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5137         to 0.7 (Hirano).
5138
5139 1999-09-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5140
5141         * char-lb.h (CHAR_COLUMNS): New macro.
5142
5143 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5144
5145         * text-coding.c (char_encode_ucs4): New function.
5146         (char_finish_ucs4): New function.
5147         (encode_coding_ucs4): Deleted.
5148         (mule_encode): Use generic encoder for `CODESYS_UCS4'.
5149         (text_encode_generic): Delete local variable `charset' and `half'.
5150         (ucs_to_mule_table): Deleted.
5151         (mule_to_ucs_table): Deleted.
5152         (Fset_ucs_char): Deleted.
5153         (ucs_to_char): Deleted.
5154         (Fucs_char): Deleted.
5155         (Fset_char_ucs): Deleted.
5156         (Fchar_ucs): Deleted.
5157         (decode_ucs4): Deleted.
5158         (mule_char_to_ucs4): Deleted.
5159         (encode_ucs4): Deleted.
5160         (decode_coding_ucs4): Use `DECODE_ADD_UCS_CHAR'.
5161         (decode_coding_utf8): Likewise.
5162         (decode_coding_iso2022): Likewise; don't use `XCHARSET_REP_BYTES'.
5163         (char_encode_iso2022): Fixed.
5164         (syms_of_file_coding): Delete `Fset_ucs_char', `Fucs_char',
5165         `Fset_char_ucs' and `Fchar_ucs'.
5166         (complex_vars_of_file_coding): Don't initialize
5167         `ucs_to_mule_table'.
5168
5169         * objects-tty.c (tty_initialize_font_instance): Don't use
5170         `XCHARSET_COLUMNS'.
5171
5172         * mule-charset.c (make_charset): Don't set up CHARSET_REP_BYTES in
5173         UTF-2000.
5174
5175         * redisplay-tty.c (tty_output_display_block): Use `CHAR_COLUMNS'
5176         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5177
5178         * insdel.c (bufbyte_string_displayed_columns): Use `CHAR_COLUMNS'
5179         instead of `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5180         (emchar_string_displayed_columns): Likewise.
5181
5182         * indent.c (column_at_point): Use `CHAR_COLUMNS' instead of
5183         `XCHARSET_COLUMNS' and `CHAR_CHARSET'.
5184         (string_column_at_point): Likewise.
5185         (Fmove_to_column): Likewise.
5186
5187         * char-ucs.h (struct Lisp_Charset): Delete `rep_bytes'; add
5188         `encoding_table' and `decoding_table'.
5189         (CHARSET_REP_BYTES): Deleted.
5190         (XCHARSET_REP_BYTES): Deleted.
5191         (XCHARSET_COLUMNS): Deleted.
5192         (CHAR_COLUMNS): New macro.
5193         (lookup_composite_char): Deleted unconditionally.
5194         (composite_char_string): Likewise.
5195
5196 1999-09-09  MORIOKA Tomohiko  <tomo@etl.go.jp>
5197
5198         * char-ucs.h (Emchar_to_byte_table): New type.
5199         (get_byte_from_character_table): New function interface.
5200         (Vcharset_latin_jisx0201): New variable.
5201         (latin_jisx0201_to_ucs): New variable.
5202         (ucs_to_latin_jisx0201): New variable.
5203         (Vcharset_latin_iso8859_2): New variable.
5204         (latin_iso8859_2_to_ucs): New variable.
5205         (ucs_to_latin_iso8859_2): New variable.
5206         (Vcharset_latin_iso8859_3): New variable.
5207         (latin_iso8859_3_to_ucs): New variable.
5208         (ucs_to_latin_iso8859_3): New variable.
5209         (Vcharset_latin_iso8859_4): New variable.
5210         (latin_iso8859_4_to_ucs): New variable.
5211         (ucs_to_latin_iso8859_4): New variable.
5212         (Vcharset_latin_iso8859_9): New variable.
5213         (latin_iso8859_9_to_ucs): New variable.
5214         (ucs_to_latin_iso8859_9): New variable.
5215         (Vcharset_latin_viscii_lower): New variable.
5216         (latin_viscii_lower_to_ucs): New variable.
5217         (ucs_to_latin_viscii_lower): New variable.
5218         (Vcharset_latin_viscii_upper): New variable.
5219         (latin_viscii_upper_to_ucs): New variable.
5220         (ucs_to_latin_viscii_upper): New variable.
5221         (CHARSET_ID_OFFSET_94): Changed from 0x60 to 0x55.
5222         (LEADING_BYTE_LATIN_VISCII_LOWER): New macro.
5223         (LEADING_BYTE_LATIN_VISCII_UPPER): New macro.
5224         (MAKE_CHAR): Map `latin-iso8859-2', `latin-iso8859-3',
5225         `latin-iso8859-4', `latin-iso8859-9', `latin-jisx0201',
5226         `vietnamese-viscii-lower' and `vietnamese-viscii-upper' to BMP.
5227         (breakup_char_1): Use `ucs_to_latin_iso8859_2',
5228         `ucs_to_latin_iso8859_3', `ucs_to_latin_iso8859_4',
5229         `ucs_to_latin_iso8859_9', `ucs_to_latin_viscii_lower',
5230         `ucs_to_latin_viscii_upper' and `ucs_to_latin_jisx0201' tables.
5231
5232         * mule-charset.c (Vcharset_latin_viscii_lower): New variable.
5233         (Vcharset_latin_viscii_upper): New variable.
5234         (make_byte_from_character_table): New function.
5235         (put_byte_from_character_table): New function.
5236         (get_byte_from_character_table): New function.
5237         (CHAR96): New macro.
5238         (ucs_to_latin_jisx0201): New variable.
5239         (latin_jisx0201_to_ucs): New variable.
5240         (ucs_to_latin_iso8859_2): New variable.
5241         (latin_iso8859_2_to_ucs): New variable.
5242         (ucs_to_latin_iso8859_3): New variable.
5243         (latin_iso8859_3_to_ucs): New variable.
5244         (ucs_to_latin_iso8859_4): New variable.
5245         (latin_iso8859_4_to_ucs): New variable.
5246         (ucs_to_latin_iso8859_9): New variable.
5247         (latin_iso8859_9_to_ucs): New variable.
5248         (ucs_to_latin_viscii_lower): New variable.
5249         (latin_viscii_lower_to_ucs): New variable.
5250         (ucs_to_latin_viscii_upper): New variable.
5251         (latin_viscii_upper_to_ucs): New variable.
5252         (ucs_to_latin_tcvn5712): New variable.
5253         (latin_tcvn5712_to_ucs): New variable.
5254         (Qlatin_viscii_lower): New variable.
5255         (Qlatin_viscii_upper): New variable.
5256         (syms_of_mule_charset): Set up new symbol
5257         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'.
5258         (complex_vars_of_mule_charset): Set up new charset
5259         `vietnamese-viscii-lower' and `vietnamese-viscii-upper'; new macro
5260         `GENERATE_94_SET' and `GENERATE_96_SET'; use them to generate
5261         `ucs_to_<CHARSET>' tables.
5262
5263 1999-09-08  MORIOKA Tomohiko  <tomo@etl.go.jp>
5264
5265         * text-coding.c: New file.
5266
5267 1999-09-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
5268
5269         * mule-charset.c (Fmake_char): Fix problem of 256-set.
5270
5271         * char-ucs.h (Vcharset_ucs_bmp): New variable.
5272         (MAKE_CHAR): Modify for `ucs-bmp'.
5273         (breakup_char_1): Return `ucs-bmp' and code point of BMP for
5274         non-MULE characters of BMP.
5275
5276 1999-09-06  MORIOKA Tomohiko  <tomo@etl.go.jp>
5277
5278         * mule-charset.c (vars_of_mule_charset): Update `utf-2000-version'
5279         to 0.6.
5280
5281 1999-09-05  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5282
5283         * lstream.h:
5284         - Include multibyte.h instead of character.h for `BYTE_ASCII_P'.
5285         - Include character.h for `CHAR_ASCII_P'.
5286
5287         * mb-multibyte.h (CHAR_MULTIBYTE_P): Moved from mule-charset.h.
5288
5289         * mule-charset.h (CHAR_MULTIBYTE_P): Moved to mb-multibyte.h.
5290         (CHAR_ASCII_P): Don't use `CHAR_MULTIBYTE_P'.
5291
5292         * mb-multibyte.h (BYTE_ASCII_P): Moved from char-ucs.h.
5293         (BYTE_C0_P): Likewise.
5294         (BYTE_C1_P): Likewise.
5295         (Lstream_get_emchar_1): Likewise.
5296         (Lstream_fput_emchar): Likewise.
5297         (Lstream_funget_emchar): Likewise.
5298         (copy_internal_to_external): Likewise.
5299         (copy_external_to_internal): Likewise.
5300
5301         * char-ucs.h (BYTE_ASCII_P): Moved to mb-multibyte.h.
5302         (BYTE_C0_P): Likewise.
5303         (BYTE_C1_P): Likewise.
5304         (Lstream_get_emchar_1): Likewise.
5305         (Lstream_fput_emchar): Likewise.
5306         (Lstream_funget_emchar): Likewise.
5307         (copy_internal_to_external): Likewise.
5308         (copy_external_to_internal): Likewise.
5309
5310         * mb-1byte.h (BYTE_ASCII_P): Moved from buffer.h.
5311         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5312
5313         * buffer.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-1byte.h.
5314         (BYTE_ASCII_P): Moved to mb-1byte.h.
5315
5316 1999-09-04  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5317
5318         * mb-utf-8.h, mb-lb.h: Include mb-multibyte.h.
5319
5320         * multibyte.h: Include mb-1byte.h in unibyte-XEmacs.
5321         (MAX_EMCHAR_LEN): Moved to mb-1byte.h.
5322         (VALID_CHARPTR_P): Moved to mb-*byte.h.
5323         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5324         (VALIDATE_CHARPTR_FORWARD): Likewise.
5325         (simple_charptr_emchar): Moved to mb-multibyte.h.
5326         (simple_set_charptr_emchar): Likewise.
5327         (simple_charptr_copy_char): Likewise.
5328         (non_ascii_charptr_emchar): Likewise.
5329         (non_ascii_set_charptr_emchar): Likewise.
5330         (non_ascii_charptr_copy_char): Likewise.
5331         (charptr_emchar): Moved to mb-*byte.h.
5332         (set_charptr_emchar): Likewise.
5333         (charptr_copy_char): Likewise.
5334
5335         * mb-1byte.h, mb-multibyte.h: New files.
5336
5337 1999-09-03  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5338
5339         * mb-utf-8.h (MULTIBYTE): New macro.
5340         (MAX_EMCHAR_LEN): Moved from buffer.h.
5341         (REP_BYTES_BY_FIRST_BYTE): Moved from char-ucs.h.
5342
5343         * char-ucs.h (REP_BYTES_BY_FIRST_BYTE): Moved to mb-utf-8.h.
5344
5345         * mb-lb.h, multibyte.h: New files.
5346
5347         * char-1byte.h (Charset_ID): Moved from buffer.h.
5348         (MIN_LEADING_BYTE): Likewise.
5349         (LEADING_BYTE_ASCII): Likewise.
5350         (NUM_LEADING_BYTES): Likewise.
5351         (CHARSETP): Likewise.
5352         (CHARSET_BY_LEADING_BYTE): Likewise.
5353         (XCHARSET_LEADING_BYTE): Likewise.
5354         (XCHARSET_GRAPHIC): Likewise.
5355         (XCHARSET_COLUMNS): Likewise.
5356         (XCHARSET_DIMENSION): Likewise.
5357         (CHAR_CHARSET): Likewise.
5358         (CHAR_LEADING_BYTE): Likewise.
5359         (BREAKUP_CHAR): Likewise.
5360         (Vcharset_ascii): Likewise.
5361
5362         * buffer.h: Include multibyte.h unconditionally.
5363         (VALID_CHARPTR_P): Moved to multibyte.h.
5364         (ASSERT_VALID_CHARPTR): Likewise.
5365         (REAL_INC_CHARPTR): Likewise.
5366         (REAL_INC_CHARBYTIND): Likewise.
5367         (REAL_DEC_CHARPTR): Likewise.
5368         (INC_CHARPTR): Likewise.
5369         (INC_CHARBYTIND): Likewise.
5370         (DEC_CHARPTR): Likewise.
5371         (VALIDATE_CHARPTR_BACKWARD): Likewise.
5372         (VALIDATE_CHARPTR_FORWARD): Likewise.
5373         (charptr_n_addr): Likewise.
5374         (MAX_EMCHAR_LEN): Moved to mb-*.h.
5375         (simple_charptr_emchar): Moved to multibyte.h.
5376         (simple_set_charptr_emchar): Likewise.
5377         (simple_charptr_copy_char): Likewise.
5378         (non_ascii_charptr_emchar): Likewise.
5379         (non_ascii_set_charptr_emchar): Likewise.
5380         (non_ascii_charptr_copy_char): Likewise.
5381         (charptr_emchar): Likewise.
5382         (set_charptr_emchar): Likewise.
5383         (charptr_copy_char): Likewise.
5384         (charptr_emchar_n): Likewise.
5385         (Charset_ID): Moved to char-1byte.h.
5386         (Vcharset_ascii): Likewise.
5387         (CHAR_CHARSET): Likewise.
5388         (CHAR_LEADING_BYTE): Likewise.
5389         (LEADING_BYTE_ASCII): Likewise.
5390         (NUM_LEADING_BYTES): Likewise.
5391         (MIN_LEADING_BYTE): Likewise.
5392         (CHARSETP): Likewise.
5393         (CHARSET_BY_LEADING_BYTE): Likewise.
5394         (XCHARSET_LEADING_BYTE): Likewise.
5395         (XCHARSET_GRAPHIC): Likewise.
5396         (XCHARSET_COLUMNS): Likewise.
5397         (XCHARSET_DIMENSION): Likewise.
5398         (BREAKUP_CHAR): Likewise.
5399
5400 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5401
5402         * character.h: Add document about interface for characters.
5403
5404         * char-ucs.h (CHAR_ASCII_P): Modify name of argument.
5405         (MAKE_CHAR): Delete comment about
5406         `FIELD2_TO_OFFICIAL_LEADING_BYTE' and
5407         `FIELD2_TO_PRIVATE_LEADING_BYTE'.
5408         (BREAKUP_CHAR): Modify name of arguments.
5409         (CHAR_CHARSET): Modify name of argument.
5410
5411         * buffer.h: Delete document about Emchar accessors.
5412
5413 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5414
5415         * character.h (CHAR_INTP): Moved from buffer.h
5416         (CHAR_OR_CHAR_INTP): Likewise.
5417         (XCHAR_OR_CHAR_INT): Likewise.
5418         (CHECK_CHAR_COERCE_INT): Likewise.
5419
5420         * buffer.h (CHAR_INTP): Moved to character.h
5421         (CHAR_OR_CHAR_INTP): Likewise.
5422         (XCHAR_OR_CHAR_INT): Likewise.
5423         (CHECK_CHAR_COERCE_INT): Likewise.
5424
5425 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5426
5427         * character.h:
5428         - Move definitions about UCS-2000 (UCS-4) to char-ucs.h.
5429         - Include char-1byte.h, char-lb.h or char-ucs.h.
5430
5431         * mb-utf-8.h (CHAR_ASCII_P): Moved to char-ucs.h.
5432
5433         * buffer.h: Include character unconditionally.
5434         (valid_char_p): Moved to char-*.h.
5435         (non_ascii_valid_char_p): Moved to char-lb.h.
5436
5437         * char-1byte.h, char-lb.h, char-ucs.h: New files.
5438
5439 1999-09-02  MORIOKA Tomohiko  <tomo@urania.m17n.org>
5440
5441         * mule-ccl.c (ccl_driver): Don't define `CCL_WriteMultibyteChar2'
5442         in UTF-2000 because it is not ported yet and not to use
5443         `FIELD2_TO_OFFICIAL_LEADING_BYTE', `MIN_LEADING_BYTE_OFFICIAL_2',
5444         `FIELD1_TO_OFFICIAL_LEADING_BYTE' and
5445         `FIELD1_TO_PRIVATE_LEADING_BYTE'.
5446
5447         * mb-utf-8.h (CHAR_MULTIBYTE_P): Moved from character.h.
5448         (CHAR_ASCII_P): Moved from character.h.
5449
5450         * character.h (CHAR_MULTIBYTE_P): Moved to mb-utf-8.h.
5451         (CHAR_ASCII_P): Likewise.
5452         (CHAR_FIELD1_MASK): Deleted.
5453         (CHAR_FIELD2_MASK): Deleted.
5454         (CHAR_FIELD3_MASK): Deleted.
5455         (MAX_CHAR_BASIC_LATIN): New macro.
5456         (CHAR_FIELD1): Deleted.
5457         (CHAR_FIELD2_INTERNAL): Deleted.
5458         (CHAR_FIELD3_INTERNAL): Deleted.
5459         (FIELD1_TO_PRIVATE_LEADING_BYTE): Deleted.
5460         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Deleted.
5461         (FIELD2_TO_PRIVATE_LEADING_BYTE): Deleted.
5462         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Deleted.
5463         (MIN_CHAR_FIELD1_OFFICIAL): Deleted.
5464         (MAX_CHAR_FIELD1_OFFICIAL): Deleted.
5465         (MIN_CHAR_FIELD2_PRIVATE): Deleted.
5466         (MAX_CHAR_FIELD2_PRIVATE): Deleted.
5467         (MIN_CHAR_FIELD1_PRIVATE): Deleted.
5468         (MAX_CHAR_FIELD1_PRIVATE): Deleted.
5469         (MULE_CHAR_PRIVATE_OFFSET): Deleted.
5470         (MIN_CHAR_PRIVATE_TYPE9N): Deleted.
5471         (MAX_CHAR_PRIVATE_TYPE9N): Deleted.
5472         (MIN_CHAR_PRIVATE_TYPE9NX9N): Deleted.
5473         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Deleted.
5474         (MIN_CHAR_COMPOSITION): Deleted.
5475         (breakup_char_1): Use `MAX_CHAR_BASIC_LATIN' instead of
5476         `CHAR_ASCII_P'; use `0x7f' instead of `CHAR_FIELD3_INTERNAL'.
5477
5478 1999-09-02  MORIOKA Tomohiko  <tomo@m17n.org>
5479
5480         * buffer.h: Include mb-utf-8.h in UTF-2000.
5481
5482         * character.h (BUFBYTE_FIRST_BYTE_P): Moved to mb-utf-8.h.
5483
5484         * mb-utf-8.h: New file.
5485
5486 1999-09-02  MORIOKA Tomohiko  <tomo@etl.go.jp>
5487
5488         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use `Charset_ID'
5489         instead of `int'.
5490
5491         * mule-charset.h, buffer.h (Charset_ID): New type.
5492
5493 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5494
5495         * mule-canna.c (c2mu): Use `MAKE_CHAR',
5496         `Vcharset_japanese_jisx0212' and `Vcharset_japanese_jisx0208'
5497         instead of `MULE_CHAR_PRIVATE_OFFSET',
5498         `LEADING_BYTE_JAPANESE_JISX0212', `LEADING_BYTE_JAPANESE_JISX0208'
5499         and `FIELD1_TO_OFFICIAL_LEADING_BYTE'.
5500         (m2c): Use `BREAKUP_CHAR' and `XCHARSET_FINAL'.
5501
5502         * character.h (Vcharset_japanese_jisx0212): New variable
5503         definition.
5504
5505 1999-09-01  MORIOKA Tomohiko  <tomo@etl.go.jp>
5506
5507         * mule-charset.c (Vcharset_ucs_bmp): New variable in UTF-2000.
5508         (charset_by_attributes): Delete array about direction.
5509         (latin_a_char_to_charset): New variable in UTF-2000.
5510         (latin_a_char_to_byte1): New variable in UTF-2000.
5511         (latin_a_char_to_byte2): New variable in UTF-2000.
5512         (Qucs_bmp): New variable.
5513         (next_allocated_1_byte_leading_byte): Use `Charset_ID' instead of
5514         `Bufbyte'.
5515         (next_allocated_2_byte_leading_byte): Likewise.
5516         (non_ascii_set_charptr_emchar): Likewise.
5517         (make_charset): Likewise; add `CHARSET_TYPE_128X128' and
5518         `CHARSET_TYPE_256X256' in UTF-2000; modify for
5519         `charset_by_attributes'.
5520         (get_unallocated_leading_byte): Use `Charset_ID' instead of `int'.
5521         (char-charset): Use `CHAR_CHARSET' instead of `CHAR_LEADING_BYTE'
5522         and `CHARSET_BY_LEADING_BYTE'.
5523         (syms_of_mule_charset): Set up `ucs-bmp'; move setting of
5524         `utf-2000-version' to `vars_of_mule_charset'.
5525         (vars_of_mule_charset): Modify for `charset_by_attributes'; don't
5526         define `leading-code-private-11' in UTF-2000; move setting of
5527         `utf-2000-version' from `syms_of_mule_charset'.
5528         (complex_vars_of_mule_charset): Set up charset `ucs-bmp' in
5529         UTF-2000.
5530
5531         * character.h (Charset_ID): New type.
5532         (LEADING_BYTE_UCS_BMP): New macro.
5533         (LEADING_BYTE_CONTROL_1): Changed from 0x8F to 0x81.
5534         (CHARSET_ID_OFFSET_94): New macro.
5535         (MIN_CHARSET_ID_PRIVATE_94): New macro.
5536         (MAX_CHARSET_ID_PRIVATE_94): New macro.
5537         (LEADING_BYTE_ASCII): Changed to use CHARSET_ID_OFFSET_94 and
5538         final-byte.
5539         (LEADING_BYTE_KATAKANA_JISX0201): Likewise.
5540         (LEADING_BYTE_LATIN_JISX0201): Likewise.
5541         (CHARSET_ID_OFFSET_96): New macro.
5542         (LEADING_BYTE_LATIN_ISO8859_1): Changed to use
5543         CHARSET_ID_OFFSET_96 and final-byte.
5544         (LEADING_BYTE_LATIN_ISO8859_2): Likewise.
5545         (LEADING_BYTE_LATIN_ISO8859_3): Likewise.
5546         (LEADING_BYTE_LATIN_ISO8859_4): Likewise.
5547         (LEADING_BYTE_GREEK_ISO8859_7): Likewise.
5548         (LEADING_BYTE_ARABIC_ISO8859_6): Likewise.
5549         (LEADING_BYTE_HEBREW_ISO8859_8): Likewise.
5550         (LEADING_BYTE_CYRILLIC_ISO8859_5): Likewise.
5551         (LEADING_BYTE_LATIN_ISO8859_9): Likewise.
5552         (LEADING_BYTE_THAI_TIS620): Likewise.
5553         (MIN_LEADING_BYTE_PRIVATE_1): Changed from 0x0D0 to 0xD0.
5554         (MAX_LEADING_BYTE_PRIVATE_1): Changed from 0x11f to 0xDF.
5555         (CHARSET_ID_OFFSET_94x94): New macro.
5556         (LEADING_BYTE_CHINESE_BIG5_1): Changed to use
5557         CHARSET_ID_OFFSET_94x94 and final-byte.
5558         (LEADING_BYTE_CHINESE_BIG5_2): Likewise.
5559         (MIN_LEADING_BYTE_PRIVATE_2): Likewise.
5560         (MAX_LEADING_BYTE_PRIVATE_2): Likewise.
5561         (LEADING_BYTE_JAPANESE_JISX0208_1978): Likewise.
5562         (LEADING_BYTE_CHINESE_GB2312): Likewise.
5563         (LEADING_BYTE_JAPANESE_JISX0208): Likewise.
5564         (LEADING_BYTE_KOREAN_KSC5601): Likewise.
5565         (LEADING_BYTE_JAPANESE_JISX0212): Likewise.
5566         (LEADING_BYTE_CHINESE_CCITT_GB): Likewise.
5567         (LEADING_BYTE_CHINESE_CNS11643_*): Likewise.
5568         (LEADING_BYTE_KOREAN_KPS9566): Likewise.
5569         (CHARSET_TYPE_128X128): New macro.
5570         (CHARSET_TYPE_256X256): New macro.
5571         (XCHARSET_PRIVATE_P): Delete unconditionally.
5572         (charset_by_attributes): Delete array about direction.
5573         (CHARSET_BY_LEADING_BYTE): Use `Charset_ID' instead of `int'.
5574         (CHARSET_BY_ATTRIBUTES): Modify for `charset_by_attributes'.
5575         (MIN_CHAR_94): New macro.
5576         (MAX_CHAR_94): New macro.
5577         (MIN_CHAR_96): New macro.
5578         (MAX_CHAR_96): New macro.
5579         (MIN_CHAR_94x94): New macro.
5580         (MAX_CHAR_94x94): New macro.
5581         (MIN_CHAR_96x96): New macro.
5582         (MAX_CHAR_96x96): New macro.
5583         (FIELD1_TO_PRIVATE_LEADING_BYTE): Use `CHARSET_ID_OFFSET_94x94'.
5584         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5585         (FIELD2_TO_PRIVATE_LEADING_BYTE): Use `(MIN_LEADING_BYTE_PRIVATE_1
5586         - 32)'.
5587         (FIELD2_TO_OFFICIAL_LEADING_BYTE): Use `LEADING_BYTE_ASCII'.
5588         (MIN_CHAR_FIELD2_OFFICIAL): Deleted.
5589         (MAX_CHAR_FIELD2_OFFICIAL): Deleted.
5590         (MIN_CHAR_OFFICIAL_TYPE9N): Deleted.
5591         (MAX_CHAR_PRIVATE_TYPE9N): Changed.
5592         (MAKE_CHAR): Use `XCHARSET_FINAL' instead of
5593         `XCHARSET_LEADING_BYTE' to make code-point.
5594         (latin_a_char_to_charset): New variable.
5595         (latin_a_char_to_byte1): New variable.
5596         (latin_a_char_to_byte2): New variable.
5597         (breakup_char_1): Use `latin_a_char_to_{charset|byte1|byte2}' for
5598         Latin Extended-A; use `CHARSET_BY_ATTRIBUTES' instead of
5599         `CHARSET_BY_LEADING_BYTE' to get charset for ISO-2022 characters.
5600
5601         * insdel.c (find_charsets_in_bufbyte_string): Use `Charset_ID'
5602         instead of `unsigned char'; use `MIN_LEADING_BYTE' instead of 128.
5603         (find_charsets_in_emchar_string): Likewise.
5604         (vars_of_insdel): Don't define local variable `i' in UTF-2000.
5605
5606         * file-coding.c (Fdecode_big5_char): Use `Charset_ID' instead of
5607         `int'.
5608         (decode_coding_iso2022): Likewise.
5609
5610         * toolbar-x.c (x_output_toolbar_button): Use `Charset_ID' instead
5611         of `unsigned char'.
5612
5613         * redisplay.c (redisplay_text_width_emchar_string): Use
5614         `Charset_ID' instead of `unsigned char'.
5615         (redisplay_frame_text_width_string): Likewise.
5616
5617         * glyphs.c (glyph_height_internal): Use `Charset_ID' instead of
5618         `unsigned char'.
5619
5620         * faces.h, faces.c (ensure_face_cachel_complete): Use `Charset_ID'
5621         instead of `unsigned char'.
5622         (face_cachel_charset_font_metric_info): Likewise.
5623
5624         * chartab.c (print_char_table): Use `Charset_ID' instead of `int'.
5625         (get_non_ascii_char_table_value): Likewise.
5626         (get_char_table): Likewise.
5627         (put_char_table): Likewise.
5628         (map_over_other_charset): Likewise.
5629         (map_char_table): Likewise.
5630
5631         * buffer.h (find_charsets_in_bufbyte_string): Use `Charset_ID'
5632         instead of `unsigned char'.
5633
5634 1999-08-31  MORIOKA Tomohiko  <tomo@etl.go.jp>
5635
5636         * character.h (PRE_LEADING_BYTE_PRIVATE_1): Deleted.
5637         (PRE_LEADING_BYTE_PRIVATE_2): Deleted.
5638
5639         * mule-charset.c (leading_code_private_11): Don't define in
5640         UTF-2000.
5641
5642         * mule-ccl.c (ccl_driver): Don't define `CCL_ReadMultibyteChar2'
5643         in UTF-2000 because it is not ported yet and not to use
5644         `PRE_LEADING_BYTE_PRIVATE_1' and `PRE_LEADING_BYTE_PRIVATE_2'.
5645
5646 1999-08-30  MORIOKA Tomohiko  <tomo@etl.go.jp>
5647
5648         * character.h (LEADING_BYTE_COMPOSITE): Deleted.
5649
5650 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5651
5652         * regex.c (re_compile_fastmap): Don't use `LEADING_BYTE_PREFIX_P'
5653         in UTF-2000.
5654
5655         * chartab.h (CHAR_TABLE_NON_ASCII_VALUE_UNSAFE): Use int instead
5656         of unsigned char to store leading-byte.
5657
5658         * chartab.c (get_non_ascii_char_table_value): Don't use
5659         `BREAKUP_CHAR_1_UNSAFE' in UTF-2000.
5660
5661         * file-coding.c (encode_coding_big5): Delete bogus implementation
5662         in UTF2000.
5663
5664         * character.h (LEADING_BYTE_*): Delete definition for
5665         non-UTF-2000.
5666         (LEADING_BYTE_PRIVATE_P): Deleted unconditionally.
5667         (LEADING_BYTE_PREFIX_P): Deleted.
5668         (PRIVATE_LEADING_BYTE_PREFIX): Deleted.
5669         (BUFBYTE_FIRST_BYTE_P): Delete definition for non-UTF-2000.
5670         (BUFBYTE_LEADING_BYTE_P): Deleted.
5671         (CHARSET_PRIVATE_P): Deleted unconditionally.
5672         (rep_bytes_by_first_byte): Deleted unconditionally.
5673         (REP_BYTES_BY_FIRST_BYTE): Delete definition for non-UTF-2000.
5674         (FIELD1_TO_PRIVATE_LEADING_BYTE): Likewise.
5675         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Likewise.
5676         (FIELD2_TO_PRIVATE_LEADING_BYTE): Likewise.
5677         (CHAR_FIELD2): Deleted.
5678         (CHAR_FIELD3): Deleted.
5679         (MAKE_CHAR): Delete definition for non-UTF-2000.
5680         (BREAKUP_CHAR_1_UNSAFE): Deleted.
5681         (breakup_char_1): New implementation.
5682         (CHAR_CHARSET): Use `BREAKUP_CHAR'.
5683         (CHAR_LEADING_BYTE): Use `CHAR_CHARSET'.
5684
5685 1999-08-29  MORIOKA Tomohiko  <tomo@etl.go.jp>
5686
5687         * character.h (REP_BYTES_BY_FIRST_BYTE): Change order of
5688         condition.
5689
5690 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5691
5692         * character.h (LEADING_BYTE_PRIVATE_P): Don't define in UTF2000.
5693         (CHARSET_PRIVATE_P): Likewise.
5694         (XCHARSET_PRIVATE_P): Likewise.
5695         (MAKE_CHAR): Don't use XCHARSET_PRIVATE_P in UTF2000.
5696
5697         * file-coding.c (encode_coding_ucs4): Delete bogus implement in
5698         UTF2000.
5699         (decode_coding_iso2022): Don't use XCHARSET_PRIVATE_P in UTF2000.
5700
5701 1999-08-28  MORIOKA Tomohiko  <tomo@etl.go.jp>
5702
5703         * character.h (LEADING_BYTE_*): Changed in UTF2000.
5704         (NUM_LEADING_BYTES): Changed from 128 to 256.
5705         (FIELD1_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5706         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Change value to 0x80 in
5707         UTF2000.
5708         (FIELD2_TO_PRIVATE_LEADING_BYTE): Change value to 0x80 in UTF2000.
5709
5710         * mule-charset.c (Vcharset_chinese_cns11643_3): New variable in
5711         UTF2000.
5712         (Vcharset_chinese_cns11643_4): New variable in UTF2000.
5713         (Vcharset_chinese_cns11643_5): New variable in UTF2000.
5714         (Vcharset_chinese_cns11643_6): New variable in UTF2000.
5715         (Vcharset_chinese_cns11643_7): New variable in UTF2000.
5716         (Qchinese_cns11643_3): New variable in UTF2000.
5717         (Qchinese_cns11643_4): New variable in UTF2000.
5718         (Qchinese_cns11643_5): New variable in UTF2000.
5719         (Qchinese_cns11643_6): New variable in UTF2000.
5720         (Qchinese_cns11643_7): New variable in UTF2000.
5721         (syms_of_mule_charset): Define `chinese-cns11643-3',
5722         `chinese-cns11643-4', `chinese-cns11643-5', `chinese-cns11643-6'
5723         and `chinese-cns11643-7' in UTF2000.
5724         (vars_of_mule_charset): Initialize
5725         next_allocated_2_byte_leading_byte by LEADING_BYTE_CHINESE_BIG5_2
5726         + 1 in UTF2000.
5727         (complex_vars_of_mule_charset): Setup charset
5728         `chinese-cns11643-3', `chinese-cns11643-4', `chinese-cns11643-5',
5729         `chinese-cns11643-6' and `chinese-cns11643-7' in UTF2000.
5730
5731 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5732
5733         * mule-charset.c: Move setting for `leading-code-private-11' from
5734         `syms_of_mule_charset' to `vars_of_mule_charset'.
5735
5736 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5737
5738         * mule-charset.h (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE'
5739         and `NUM_LEADING_BYTES' in assert.
5740
5741 1999-08-27  MORIOKA Tomohiko  <tomo@etl.go.jp>
5742
5743         * character.h (charset_by_leading_byte): Use `NUM_LEADING_BYTES'
5744         instead of 128.
5745         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' and
5746         `NUM_LEADING_BYTES' instead of 128.
5747
5748 1999-08-26  MORIOKA Tomohiko  <tomo@etl.go.jp>
5749
5750         * mule-charset.h (charset_by_leading_byte): Use
5751         `NUM_LEADING_BYTES' instead of 128.
5752         (CHARSET_BY_LEADING_BYTE): Use `MIN_LEADING_BYTE' instead of 128.
5753
5754         * mule-charset.c (charset_by_leading_byte): Use
5755         `NUM_LEADING_BYTES' instead of 128.
5756         (make_charset): Use `MIN_LEADING_BYTE' instead of 128.
5757
5758         * faces.h (FACE_CACHEL_FONT): Use `MIN_LEADING_BYTE' instead of
5759         128.
5760
5761 1999-08-25  MORIOKA Tomohiko  <tomo@etl.go.jp>
5762
5763         * mule-charset.c (syms_of_mule_charset): Update to
5764         0.4 (Shin-Imamiya).
5765
5766 1999-07-13 Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
5767
5768         * file-coding.c (encode_coding_sjis): New implementation for
5769         UTF2000.  (decode_coding_sjis): Ditto.
5770
5771 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5772
5773         * mule-charset.c, character.h (Bytecount rep_bytes_by_first_byte):
5774         Don't define in UTF2000.
5775
5776         * character.h: Include mule-charset.h if CHAR_IS_UCS4 is not
5777         defined.
5778
5779         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5780         mule-ccl.c, lstream.h, buffer.h: Include character.h in every
5781         MULE.
5782
5783 1999-06-17  MORIOKA Tomohiko  <tomo@etl.go.jp>
5784
5785         * config.h.in (CHAR_IS_UCS4): New macro.
5786
5787         * mule-charset.c (rep_bytes_by_first_byte): Modify for
5788         conventional MULE representation.
5789         (syms_of_mule_charset): Update to 0.3 (Imamiya).
5790
5791         * mule-charset.h: Reverted to original.
5792
5793         * redisplay-msw.c, objects-tty.c, objects-msw.c, mule-wnnfns.c,
5794         mule-ccl.c, lstream.h, buffer.h: Use "character.h" instead of
5795         "mule-charset.h" if CHAR_IS_UCS4 is defined.
5796
5797         * character.h: New file.
5798
5799         * file-coding.c (Fmake_coding_system): Set 1 to
5800         `codesys->fixed.size' if TYPE is `no-conversion' and UTF2000 is
5801         defined.
5802         (encode_coding_no_conversion): New implementation for UTF2000.
5803
5804         * file-coding.h (struct Lisp_Coding_System): Add new member
5805         `fixed.size'.
5806
5807 1999-06-16  MORIOKA Tomohiko  <tomo@etl.go.jp>
5808
5809         * file-coding.c (decode_coding_iso2022): Code-point arguments of
5810         `MAKE_CHAR' must be smaller than 0x80 in UTF2000.
5811         (encode_coding_iso2022): New implementation for UTF2000.
5812
5813 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5814
5815         * mule-canna.c (c2mu): New implementation for UTF2000.
5816         (m2c): Likewise.
5817
5818 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5819
5820         * file-coding.c (encode_coding_no_conversion): Modify for UTF2000.
5821
5822 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5823
5824         * file-coding.c (reset_encoding_stream): Set 0 to
5825         `str->iso2022.current_char_boundary' in UTF2000.
5826         (encode_utf8): Don't define in UTF2000.
5827         (encode_coding_utf8): New implementation for UTF-8 representation
5828         of UTF2000.
5829         (complex_vars_of_file_coding): Define coding-system `utf-8'.
5830
5831 1999-06-15  MORIOKA Tomohiko  <tomo@etl.go.jp>
5832
5833         * mule.c (vars_of_mule): Provide `utf-2000' in UTF2000.
5834
5835         * mule-charset.h (BUFBYTE_FIRST_BYTE_P): Modify for UTF-8 in
5836         UTF2000.
5837         (REP_BYTES_BY_FIRST_BYTE): Likewise.
5838
5839         * buffer.h (non_ascii_valid_char_p): Don't define in UTF2000.
5840
5841         * mule-charset.c (non_ascii_set_charptr_emchar): Don't define
5842         local variables `lb', `c1', `c2' and `charset' in UTF2000; encode
5843         as UTF-8 in UTF2000.
5844         (non_ascii_charptr_emchar): Decode as UTF-8 in UTF2000.
5845         (non_ascii_valid_char_p): Don't define in UTF2000.
5846         (non_ascii_charptr_copy_char): Add case 5 and 6 in UTF2000.
5847         (Lstream_get_emchar_1): Likewise.
5848         (utf-2000-version): New variable in UTF2000.
5849
5850         * lread.c (read_escape): Add new reader `u'.
5851
5852         * insdel.c (three_to_one_table): Don't define in UTF2000.
5853         (bufpos_to_bytind_func): Use `buf->text->mule_size' instead of
5854         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5855         UTF2000.
5856         (bytind_to_bufpos_func): Likewise.
5857         (buffer_mule_signal_inserted_region): Likewise.
5858         (vars_of_insdel): Don't initialize `three_to_one_table'.
5859         (init_buffer_text): Use `buf->text->mule_size' instead of
5860         `buf->text->mule_shifter' and `buf->text->mule_three_p' in
5861         UTF2000.
5862
5863         * file-coding.c (DECODE_ADD_BINARY_CHAR): New implementation for
5864         UTF-8 representation in UTF2000.
5865         (DECODE_ADD_UCS_CHAR): New macro in UTF2000.
5866         (decode_ucs4): Use `DECODE_ADD_UCS_CHAR' in UTF2000.
5867         (decode_coding_iso2022): Don't define local variable `lb' in
5868         UTF2000; don't use LEADING_BYTE in UTF2000; use
5869         `DECODE_ADD_UCS_CHAR' in UTF2000.
5870         (convert_to_external_format): Decode as UTF-8 in UTF2000.
5871
5872         * config.h.in (UTF2000): New macro.
5873
5874         * buffer.h (struct buffer_text): Add new member `mule_size' and
5875         don't add `mule_shifter' and `mule_three_p' in UTF2000.
5876         (valid_char_p): Return always 1 in UTF2000.
5877         (MAX_EMCHAR_LEN): 6 in UTF2000.
5878         (three_to_one_table): Don't define in UTF2000.
5879         (real_bufpos_to_bytind): Modify for UTF-8 representation in
5880         UTF2000.
5881         (real_bytind_to_bufpos): Likewise.
5882
5883         * alloc.c (Fmake_string): Add case 5 and 6 for UTF2000.
5884
5885 1999-06-10  MORIOKA Tomohiko  <tomo@etl.go.jp>
5886
5887         * mule-charset.c (rep_bytes_by_first_byte): Modified for character
5888         representation change.
5889         (Vutf_2000_version): New variable.
5890         (leading_code_private_11): New variable.
5891         (syms_of_mule_charset): Add new variables `utf-2000-version' and
5892         `leading-code-private-11'.
5893
5894         * mule-charset.h (LEADING_BYTE_CHINESE_CCITT_GB): New macro.
5895         (LEADING_BYTE_CHINESE_BIG5_1): Changed to 0x96 temporally.
5896         (LEADING_BYTE_CHINESE_CNS11643_1): Changed to 0x97.
5897         (LEADING_BYTE_CHINESE_CNS11643_2): Changed to 0x98.
5898         (LEADING_BYTE_CHINESE_CNS11643_3): New macro.
5899         (LEADING_BYTE_CHINESE_CNS11643_4): Likewise.
5900         (LEADING_BYTE_CHINESE_CNS11643_5): Likewise.
5901         (LEADING_BYTE_CHINESE_CNS11643_6): Likewise.
5902         (LEADING_BYTE_CHINESE_CNS11643_7): Likewise [but not used].
5903         (LEADING_BYTE_CHINESE_BIG5_2): Changed to 0x9D temporally.
5904         (LEADING_BYTE_KOREAN_KPS9566): New macro [but not used].
5905         (CHAR_FIELD1_MASK): Changed to (0x7F << 14).
5906         (MIN_CHAR_GREEK): New macro.
5907         (MAX_CHAR_GREEK): New macro.
5908         (MIN_CHAR_CYRILLIC): New macro.
5909         (MAX_CHAR_CYRILLIC): New macro.
5910         (MIN_CHAR_HEBREW): New macro.
5911         (MAX_CHAR_HEBREW): New macro.
5912         (MIN_CHAR_THAI): New macro.
5913         (MAX_CHAR_THAI): New macro.
5914         (MIN_CHAR_HALFWIDTH_KATAKANA): New macro.
5915         (MAX_CHAR_HALFWIDTH_KATAKANA): New macro.
5916         (CHAR_FIELD2_INTERNAL): New macro [renamed from `CHAR_FIELD2'.
5917         (CHAR_FIELD3_INTERNAL): New macro [renamed from `CHAR_FIELD3'.
5918         (FIELD1_TO_PRIVATE_LEADING_BYTE): Changed to 0xc0.
5919         (FIELD1_TO_OFFICIAL_LEADING_BYTE): Changed to 0x50.
5920         (CHAR_FIELD2): New inline function.
5921         (CHAR_FIELD3): New inline function.
5922         (MULE_CHAR_PRIVATE_OFFSET): New macro.
5923         (MIN_CHAR_OFFICIAL_TYPE9N): Shifted to `MULE_CHAR_PRIVATE_OFFSET'.
5924         (MIN_CHAR_PRIVATE_TYPE9N): Likewise.
5925         (MIN_CHAR_PRIVATE_TYPE9NX9N): Likewise.
5926         (MIN_CHAR_OFFICIAL_TYPE9NX9N): Likewise.
5927         (MIN_CHAR_COMPOSITION): Likewise.
5928         (CHAR_LEADING_BYTE): Modified for character representation change.
5929         (MAKE_CHAR): Likewise.
5930
5931         * lisp.h (Vcharset_latin_iso8859_1): New variable.
5932         (Vcharset_greek_iso8859_7): Likewise.
5933         (Vcharset_cyrillic_iso8859_5): Likewise.
5934         (Vcharset_hebrew_iso8859_8): Likewise.
5935         (Vcharset_thai_tis620): Likewise.
5936         (Vcharset_katakana_jisx0201): Likewise.
5937
5938 2007-10-07  Vin Shelton  <acs@xemacs.org>
5939
5940         * XEmacs 21.4.21 is released
5941
5942 2007-08-14  Marcus Crestani  <crestani@xemacs.org>
5943
5944         * s/sol2.h: Fix for GCC lossage not needed with SunOS 5.10.
5945
5946 2007-02-17  Stephen J. Turnbull  <stephen@xemacs.org>
5947
5948         * glyphs-eimage.c (png_instantiate_unwind): Avoid recursion.
5949         (png_instantiate): Initialize setjmp_buffer early, and avoid
5950         recursive entry to error handler.
5951
5952 2007-06-23  Stephen J. Turnbull  <stephen@xemacs.org>
5953
5954         * linuxplay.c (linux_play_data_or_file): More 64-bit tweaking, and
5955         a typo fix.
5956
5957 2007-05-12  Aidan Kehoe  <kehoea@parhasard.net>
5958
5959         * event-Xt.c (x_reset_modifier_mapping):
5960         * event-gtk.c (gtk_reset_modifier_mapping):
5961         Zero out the device's modifier map once we've freed it, to prevent
5962         a double free on a re-entrant call. 
5963
5964 2007-05-17  Vin Shelton  <acs@xemacs.org>
5965
5966         * linuxplay.c (linux_play_data_or_file): Fix playing sound on
5967         64-bit linux.  Patch from Hans de Graaff.
5968
5969 2007-05-02  Vin Shelton  <acs@xemacs.org>
5970
5971         * dumper.c (pdump): Don't close pdump_fd (already closed by
5972         fclose() call.  Patch from Steve Higham.
5973         * callproc.c (Fold_call_process_internal): Don't close fd1 if it's
5974         already closed.  Patch inspired by Steve Higham.
5975
5976 2007-05-01  Vin Shelton  <acs@xemacs.org>
5977
5978         * nt.c (mswindows_stat): Tie _S_IEXEC permission to read access.
5979         (mswindows_fstat): Ditto.
5980         * sysfile.h: Under Windows, define X_OK to be the same as R_OK.
5981
5982 2007-02-08  Adrian Aichner  <adrian@xemacs.org>
5983
5984         * postgresql.c: Update Steve Baur's email address by his request.
5985         * postgresql.h: Ditto.
5986
5987 2007-01-04  Vin Shelton  <acs@xemacs.org>
5988
5989         * fileio.c (check_writable): Check old-style readonly bit only for
5990         non-directories.
5991
5992 2006-12-25  Benson I. Margulies  <benson@dchbk.us>
5993
5994         * src/fileio.c (check_writable): 
5995         Cope with the fact that the read-only attribute trumps Windows NTFS
5996         ACLS.
5997
5998
5999 2006-12-09  Vin Shelton  <acs@xemacs.org>
6000
6001         * XEmacs 21.4.20 is released
6002
6003 2006-12-08  Nelson Ferreira  <njsf@sxemacs.org>
6004
6005         * src/fns.c (XMALLOC_OR_ALLOCA,free_malloced_ptr,XMALLOC_UNBIND):
6006         relocated the definitions to be used sooner in file.
6007         (concat,plists_differ,mapcar1,Fmapconcat,Fmapcar): Use
6008         XMALLOC_OR_ALLOCA macro instead of alloca to prevent stack
6009         overflow.
6010
6011 2006-11-29  Aidan Kehoe  <kehoea@parhasard.net>
6012
6013         * sound.c (init_native_sound):
6014         Only X11 and GTK devices can possibly not be on the console of the
6015         associated machine. Fixes a crash when init_native_sound is called
6016         on a msprinter device. 
6017
6018 2006-11-14  Stephen J. Turnbull  <stephen@xemacs.org>
6019
6020         * buffer.c (buffer-file-name): Document invariant.
6021         (buffer-file-truename): Sync wording to buffer-file-name.
6022         Thanks to Nelson Ferreira <nelson.ferreira@ieee.org> for report
6023         and discussion.
6024
6025 2006-11-19  Benson Margulies  <benson@dchbk.us>
6026
6027         * fileio.c: Add code to use full Win32 API to check for write
6028         access.  Win32 has the general design policy that you aren't
6029         supposed to ask this question, since security checks change
6030         depending on asynchronous processes.  Nonetheless, there is a way,
6031         by acting as if we are a server doing interpretive access
6032         control.
6033
6034 2006-07-31  Aidan Kehoe <kehoea@parhasard.net>
6035
6036         * bytecode.c: Use xnew_array instead of alloca.
6037
6038 2006-07-04  Vin Shelton  <acs@xemacs.org>
6039
6040         * redisplay-msw.c: Fix tiny, but crucial typo.
6041
6042 2006-06-22  Jerry James  <james@xemacs.org>
6043
6044         * EmacsShell-sub.c (ChangeManaged):
6045         * device-x.c (x_IO_error_handler): Do not dereference d if it is
6046         NULL.
6047         * dgif_lib.c (DGifCloseFile): Do not dereference GifFile before
6048         checking if it is NULL.  Also fix a memory leak.
6049         * dialog-x.c (dbox_selection_callback): Ensure f is non-NULL, then
6050         dereference it, not the other way around.
6051         * dumper.c (pdump_register_object): Fix off-by-one array bounds
6052         overflow check.
6053         * dumper.c (pdump_register_struct): Ditto.
6054         * editfns.c (Ftemp_directory): Don't let a copy from (long) path
6055         to (short) warnpath overflow warnpath.
6056         * extents.c (detach_all_extents): Call extent_list_delete_all with
6057         a non-NULL parameter only.
6058         * glyphs-widget.c (widget_query_geometry): Guard against possibly
6059         NULL width and height.
6060         * input-method-xlib.c (XIM_SetGeometry): Do not dereference f or
6061         xic before checking if they are NULL.
6062         * keymap.c (where_is_recursive_mapper): Don't throw away the newly
6063         allocated array.
6064         * md5.c (Fmd5): Check whether Lstream_read encountered an error.
6065         * nas.c (Err): Fix a memory leak.
6066         * redisplay-gtk.c (gtk_output_display_block): Fix a Dynarr leak.
6067         Don't create the buffer if there is nothing to do.
6068         * redisplay-msw.c (mswindows_output_display_block): Ditto.
6069         * redisplay-output.c (redisplay_output_layout): Ditto.
6070         * redisplay-tty.c (tty_output_display_block): Ditto.
6071         * redisplay-x.c (x_output_display_block): Ditto.
6072         * scrollbar-gtk.c (gtk_free_scrollbar_instance): Do not
6073         dereference instance->scrollbar_data if it is NULL.
6074         * scrollbar-x.c (x_free_scrollbar_instance): Ditto.
6075         * scrollbar-msw.c (mswindows_free_scrollbar_instance): Ditto, but
6076         for sb->scrollbar_data.
6077         * sound.c (init_native_sound): Avoid a buffer overflow by
6078         allocating a buffer with the appropriate size.
6079
6080 2006-05-08  Stephen J. Turnbull  <stephen@xemacs.org>
6081
6082         * EmacsShell-sub.c (RootGeometryManager):
6083         Change garbage to useful messages under DEBUG_GEOMETRY_MANAGEMENT.
6084         Based on a suggestion by Francois L'Archeveque.
6085
6086 2006-03-21  Malcolm Purvis  <malcolmp@xemacs.org>
6087
6088         * regex.c: Bump INIT_FAILURE_ALLOC and re_max_failures to the
6089         current values found in GNU Emacs.
6090
6091 2006-03-17  Vin Shelton  <acs@xemacs.org>
6092
6093         * dialog-msw.c (handle_directory_dialog_box): Don't declare
6094         Q_title here.  LOCAL_FILE_FORMAT_TO_TSTR requires an lvalue.
6095
6096         * glyphs-msw.c (read_bitmap_data): change 'initialized' to
6097         'hex_initialized' because it conflicts with 'initialized' in
6098         lisp.h.
6099
6100 2006-01-28  Vin Shelton  <acs@xemacs.org>
6101
6102         * XEmacs 21.4.19 is released
6103
6104 2006-01-20  Rick Rankin <rrankin1424-xemacs@yahoo.com>
6105
6106         * sysdir.h: Workaround missing d_ino field from 'struct dirent'.
6107
6108 2005-12-24  Aidan Kehoe  <kehoea@parhasard.net>
6109
6110         * objects-gtk.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from
6111         5000 to INT_MAX.
6112
6113 2005-12-05  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6114
6115         * database.c: Suppress compiler warning under Cygwin.
6116         * database.c: Removed __FreeBSD__ check, should be handled by
6117         HAVE_U_xxx_T defines.
6118
6119 2005-12-18  Malcolm Purvis  <malcolmp@xemacs.org>
6120
6121         * console.c (stuff_buffered_input): Compile body only if
6122         HAVE_TTY.
6123
6124 2005-05-10  Aidan Kehoe  <kehoea@parhasard.net>
6125
6126         * callproc.c: #include sysdir.h, so that any appropriate Mule
6127         magic happens with the chdir() call when calling a subprocess. 
6128
6129 2005-12-06  Aidan Kehoe  <kehoea@parhasard.net>
6130
6131         * mule-ccl.c (POSSIBLE_LEADING_BYTE_P): Add.
6132         * mule-ccl.c: Check that a character set exists before using it
6133         to create a character. 
6134
6135 2005-12-06  Vin Shelton  <acs@xemacs.org>
6136
6137         * objects-x.c (MAX_FONT_COUNT): Increase MAX_FONT_COUNT from 5000
6138         to INT_MAX.
6139
6140 2005-12-03  Vin Shelton <acs@xemacs.org>
6141
6142         * XEmacs 21.4.18 is released
6143
6144 2005-11-27  Kean Johnston <kean@armory.com>
6145
6146         * redisplay-tty.c (set_tty_modes):
6147         (reset_tty_modes): disable auto-margins if the terminal supports
6148         them.
6149         (init_tty_for_redisplay): fix cursor shape.
6150
6151 2005-04-05  Aidan Kehoe  <kehoea@parhasard.net>
6152
6153         * mule-ccl.c (ccl_driver): Calculate the charset and position code
6154         for control-1 characters properly, both when reading multibyte
6155         characters and writing them. 
6156
6157 2005-03-12  Aidan Kehoe  <kehoea@parhasard.net>
6158
6159         * config.h.in: Make HAVE_XTREGISTERDRAWABLE available. 
6160         * select-x.c (x_reply_selection_request): Use it; fix the bug we
6161         were seeing with incremental selection transfer failing. 
6162
6163 2005-11-26  Vin Shelton  <acs@xemacs.org>
6164
6165         * callproc.c (Fold_call_process_internal): Create the buffer if it
6166         does not already exist.  The original patch came from Ben Wing in
6167         http://list-archive.xemacs.org/xemacs-patches/200205/msg00117.html
6168
6169 2002-05-13  Adrian Aichner  <adrian@xemacs.org>
6170
6171         * callproc.c: Process-related docstring improvements spurred by
6172         Norbert Koch.
6173
6174 2005-11-25  Vin Shelton  <acs@xemacs.org>
6175
6176         * depend: Regenerated.
6177
6178 2005-07-11  Malcolm Purvis  <malcolmp@xemacs.org>
6179
6180         * glyphs-gtk.c:  Rename a local static variable because gcc 4.0
6181         says it clashes with a global with the same name.
6182
6183 2005-07-11  Atanu Ghosh <atanu@icsi.berkeley.edu>
6184
6185         * sysdll.c (dll_open): Under MacOS X return NULL under the
6186         filename is NULL.  Fixes problems finding local symbols under 10.4
6187         (Tiger)
6188
6189 2005-11-15  Dr. Volker Zell  <Dr.Volker.Zell@oracle.com>
6190         
6191         * config.h.in: New HAVE_U_INT*_T defines.
6192         
6193         * database.c: Only use u_int*_t typedefs if not already
6194         defined.
6195
6196 2005-04-07 15:08  Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
6197
6198         * src/process-unix.c (unix_open_network_stream): moved
6199           'portbuf' buffer out of an inner block as it is used in the
6200           entire function. With gcc4, the stack may get corrupted
6201           after leaving this block. This patches adjusts the size of
6202           the used buffer also; static '128' bytes are far too much
6203           currently and might not suffice for future architectures
6204           (e.g. for 512 bit ones ;)). Instead of, use only the really
6205           required space (max octets * ln(256)/ln(10) chars + space
6206           for '\0' and the sign)
6207
6208 2005-04-08  Aidan Kehoe  <kehoea@parhasard.net>
6209
6210         * callproc.c: Include sysdir.h, so any necessary Mule processing
6211         is done on the current directory name before starting a new
6212         process.
6213
6214 2005-04-06  Stephen J. Turnbull  <stephen@xemacs.org>
6215
6216         * chartab.c (Fchar_table_p):
6217         (Fget_range_char_table):
6218         (Fput_char_table):
6219         (Fmap_char_table):
6220         Describe range representation and fix typo.
6221
6222 2005-02-12  Vin Shelton  <acs@xemacs.org>
6223
6224         * emacs.c (shut_down_emacs): Advise users to send email to the
6225         xemacs-beta list instead of crashes@xemacs.org.
6226
6227 2005-02-03  David Evers  <extsw@appliedgenerics.com>
6228
6229         * process-unix.c (unix_send_process): Flush the last chunk, even
6230         when the pipe is blocked.
6231
6232 2005-02-06  Vin Shelton <acs@xemacs.org>
6233
6234         * XEmacs 21.4.17 is released
6235
6236 2005-01-31  Ben Wing  <ben@xemacs.org>
6237
6238         * emacs.c:
6239         Define assert_failed() always.
6240         * lisp.h:
6241         Always define ABORT().
6242
6243 2005-01-25  Ben Wing  <ben@xemacs.org>
6244
6245         * Makefile.in.in:
6246         * Makefile.in.in (%.o):
6247         Don't compile executable as Windows (-mwindows) under Cygwin.
6248         Semi-recent changes to Cygwin's executable-startup handling make
6249         it impossible to access the TTY this way.
6250
6251         Don't use special linker file under Cygwin (cygwin.sc) except
6252         when non-PDUMP (even in this case it is highly questionable); you
6253         get errors like
6254
6255       1 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening input console handle after exec, errno 13, Win32 error 5
6256    5820 [main] temacs 1364 fhandler_console::fixup_after_exec: error opening output console handle after exec, errno 13, Win32 error 5
6257
6258 2005-01-29  Ben Wing  <ben@xemacs.org>
6259
6260         Port this: 2003-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
6261
6262         * mule-charset.c (get_unallocated_leading_byte): Compiler quietus.
6263
6264 2005-01-29  Ben Wing  <ben@xemacs.org>
6265
6266         * bytecode.c (optimize_compiled_function):
6267         * print.c (FROB):
6268         * print.c (long_to_string):
6269         Add casts to avoid warning.
6270         
6271         * glyphs-eimage.c:
6272         Some really nasty hacks to allow TIFF and JPEG to both be compiled.
6273         #### The better solution is to move the TIFF and JPEG code to
6274         different files.
6275         
6276         * glyphs-msw.c (mswindows_xbm_instantiate):
6277         Define __STDC__ to avoid problems with compface.h.
6278         
6279         * EmacsFrame.c (EmacsFrameRecomputeCellSize):
6280         * EmacsShell-sub.c:
6281         * EmacsShell-sub.c (ABORT):
6282         * EmacsShell-sub.c (SuperClassRootGeometryManager):
6283         * EmacsShell-sub.c (RootGeometryManager):
6284         * EmacsShell.c:
6285         * EmacsShell.c (ABORT):
6286         * EmacsShell.c (EmacsShellUpdateSizeHints):
6287         * alloc.c (free_lcrecord):
6288         * alloca.c (i00afunc):
6289         * buffer.c (delete_from_buffer_alist):
6290         * buffer.c (MARKED_SLOT):
6291         * bytecode.c (execute_rare_opcode):
6292         * bytecode.c (optimize_byte_code):
6293         * bytecode.c (Ffetch_bytecode):
6294         * chartab.c (char_table_type_to_symbol):
6295         * chartab.c (Freset_char_table):
6296         * chartab.c (decode_char_table_range):
6297         * chartab.c (Fget_range_char_table):
6298         * chartab.c (check_valid_char_table_value):
6299         * chartab.c (map_char_table):
6300         * chartab.c (slow_map_char_table_fun):
6301         * chartab.c (chartab_instantiate):
6302         * cm.c (cmcheckmagic):
6303         * console-msw.c (DHEADER):
6304         * console.c (MARKED_SLOT):
6305         * data.c (finish_marking_weak_lists):
6306         * data.c (encode_weak_list_type):
6307         * debug.h (DASSERT):
6308         * device-gtk.c (gtk_init_device):
6309         * device-msw.c (mswindows_get_default_margin):
6310         * device-tty.c (tty_init_device):
6311         * device-x.c (get_device_from_display):
6312         * device-x.c (x_get_visual_depth):
6313         * doprnt.c (parse_doprnt_spec):
6314         * doprnt.c (get_doprnt_args):
6315         * dumper.c (pdump_get_indirect_count):
6316         * dumper.c (pdump_register_sub):
6317         * dumper.c (pdump_register_object):
6318         * dumper.c (pdump_register_struct):
6319         * dumper.c (pdump_dump_data):
6320         * dumper.c (pdump_reloc_one):
6321         * elhash.c (print_hash_table):
6322         * elhash.c (make_standard_lisp_hash_table):
6323         * elhash.c (hash_table_instantiate):
6324         * emacs.c:
6325         * emacs.c (Fforce_debugging_signal):
6326         * emacs.c (sort_args):
6327         * emacs.c (main):
6328         * emacs.c (assert_failed):
6329         * eval.c (throw_or_bomb_out):
6330         * eval.c (signal_1):
6331         * eval.c (Fsignal):
6332         * event-Xt.c:
6333         * event-Xt.c (emacs_Xt_mapping_action):
6334         * event-Xt.c (Xt_process_to_emacs_event):
6335         * event-msw.c:
6336         * event-stream.c (check_event_stream_ok):
6337         * event-stream.c (Fadd_timeout):
6338         * event-stream.c (Fadd_async_timeout):
6339         * event-stream.c (Fdiscard_input):
6340         * event-stream.c (execute_internal_event):
6341         * event-stream.c (Frecent_keys):
6342         * event-stream.c (extract_this_command_keys_nth_mouse_event):
6343         * event-stream.c (lookup_command_event):
6344         * event-unixoid.c (poll_fds_for_input):
6345         * events.c:
6346         * events.c (mark_event):
6347         * events.c (event_equal):
6348         * events.c (event_hash):
6349         * events.c (Fmake_event):
6350         * events.c (Fdeallocate_event):
6351         * events.c (event_chain_find_previous):
6352         * events.c (event_to_character):
6353         * events.c (format_event_object):
6354         * events.c (Fevent_type):
6355         * events.c (event_pixel_translation):
6356         * events.c (Fevent_properties):
6357         * extents.c (extent_in_region_p):
6358         * extents.c (print_extent):
6359         * extents.c (process_extents_for_insertion_mapper):
6360         * extents.c (report_extent_modification_mapper):
6361         * extents.c (glyph_layout_to_symbol):
6362         * faces.c (face_validate):
6363         * file-coding.c (eol_type_to_symbol):
6364         * file-coding.c (subsidiary_coding_system):
6365         * file-coding.c (Fcoding_system_type):
6366         * file-coding.c (Fcoding_system_property):
6367         * file-coding.c (mule_decode):
6368         * file-coding.c (mule_encode):
6369         * file-coding.c (encode_coding_ucs4):
6370         * file-coding.c (encode_coding_utf8):
6371         * file-coding.c (parse_iso2022_esc):
6372         * file-coding.c (encode_coding_iso2022):
6373         * fileio.c:
6374         * fns.c (concat):
6375         * fns.c (Fsubseq):
6376         * fns.c (mapcar1):
6377         * fns.c (Fbase64_encode_region):
6378         * fns.c (Fbase64_encode_string):
6379         * fns.c (Fbase64_decode_region):
6380         * fns.c (Fbase64_decode_string):
6381         * font-lock.c (find_context):
6382         * font-lock.c (context_to_symbol):
6383         * frame-gtk.c (gtk_set_frame_pointer):
6384         * frame-gtk.c (gtk_update_frame_external_traits):
6385         * frame-x.c (x_wm_mark_shell_size_user_specified):
6386         * frame-x.c (x_wm_mark_shell_position_user_specified):
6387         * frame-x.c (x_wm_set_shell_iconic_p):
6388         * frame-x.c (x_wm_set_cell_size):
6389         * frame-x.c (x_wm_set_variable_size):
6390         * frame-x.c (x_wm_store_class_hints):
6391         * frame-x.c (x_wm_maybe_store_wm_command):
6392         * frame-x.c (x_initialize_frame_size):
6393         * frame-x.c (x_update_frame_external_traits):
6394         * frame.c:
6395         * frame.c (delete_frame_internal):
6396         * frame.c (mouse_pixel_position_1):
6397         * frame.c (change_frame_size_1):
6398         * free-hook.c (check_free):
6399         * free-hook.c (check_realloc):
6400         * free-hook.c (note_block_input):
6401         * free-hook.c (log_gcpro):
6402         * gccache-gtk.c (gc_cache_lookup):
6403         * glyphs-eimage.c (tiff_memory_write):
6404         * glyphs-gtk.c (gtk_finalize_image_instance):
6405         * glyphs-gtk.c (init_image_instance_from_gdk_pixmap):
6406         * glyphs-gtk.c (init_image_instance_from_xbm_inline):
6407         * glyphs-gtk.c (gtk_xpm_instantiate):
6408         * glyphs-gtk.c (gtk_unmap_subwindow):
6409         * glyphs-gtk.c (gtk_map_subwindow):
6410         * glyphs-gtk.c (gtk_button_redisplay):
6411         * glyphs-msw.c:
6412         * glyphs-msw.c (init_image_instance_from_xbm_inline):
6413         * glyphs-x.c (init_image_instance_from_xbm_inline):
6414         * glyphs-x.c (extract_xpm_color_names):
6415         * glyphs-x.c (x_xpm_instantiate):
6416         * glyphs.c (get_image_instantiator_governing_domain):
6417         * glyphs.c (print_image_instance):
6418         * glyphs.c (image_instance_equal):
6419         * glyphs.c (image_instance_hash):
6420         * glyphs.c (encode_image_instance_type):
6421         * glyphs.c (make_image_instance_1):
6422         * glyphs.c (inherit_instantiate):
6423         * glyphs.c (image_instantiate):
6424         * glyphs.c (allocate_glyph):
6425         * glyphs.c (Fglyph_type):
6426         * glyphs.c (redisplay_subwindow):
6427         * glyphs.c (display_table_entry):
6428         * gtk-glue.c (xemacs_list_to_gtklist):
6429         * gtk-glue.c (xemacs_gtklist_to_list):
6430         * gtk-glue.c (xemacs_list_to_array):
6431         * gutter.c (SET_GUTTER_WAS_VISIBLE_FLAG):
6432         * gutter.c (gutter_was_visible):
6433         * gutter.c (get_gutter_coords):
6434         * input-method-xlib.c (get_XIM_input):
6435         * insdel.c (bufpos_to_bytind_func):
6436         * insdel.c (bytind_to_bufpos_func):
6437         * insdel.c (move_gap):
6438         * intl.c (x_get_composed_input):
6439         * keymap.c (keymap_lookup_directly):
6440         * keymap.c (keymap_delete_inverse_internal):
6441         * keymap.c (ensure_meta_prefix_char_keymapp):
6442         * keymap.c (accessible_keymaps_mapper_1):
6443         * keymap.c (where_is_recursive_mapper):
6444         * lisp.h:
6445         * lisp.h (ABORT):
6446         * lread.c (read_atom):
6447         * lstream.c (Lstream_delete):
6448         * lstream.c (make_lisp_buffer_stream_1):
6449         * macros.c (pop_kbd_macro_event):
6450         * malloc.c (malloc):
6451         * malloc.c (free):
6452         * marker.c (bi_marker_position):
6453         * marker.c (set_bi_marker_position):
6454         * menubar-gtk.c (menu_descriptor_to_widget_1):
6455         * menubar-msw.c (prune_menubar):
6456         * menubar-x.c (set_frame_menubar):
6457         * mule-charset.c (get_unallocated_leading_byte):
6458         * mule-charset.h (CHAR_LEADING_BYTE):
6459         * native-gtk-toolbar.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6460         * nt.c (init_environment):
6461         * nt.c (generate_inode_val):
6462         * ntproc.c (delete_child):
6463         * ntproc.c (_sys_read_ahead):
6464         * ntproc.c (create_child):
6465         * objects.c (color_instantiate):
6466         * objects.c (font_instantiate):
6467         * objects.c (face_boolean_instantiate):
6468         * print.c (printing_major_badness):
6469         * process-nt.c (nt_send_process):
6470         * process-unix.c (unix_send_process):
6471         * process.c (get_process):
6472         * ralloc.c (obtain):
6473         * ralloc.c (relinquish):
6474         * ralloc.c (relocate_blocs):
6475         * ralloc.c (resize_bloc):
6476         * ralloc.c (r_alloc_free):
6477         * ralloc.c (r_re_alloc):
6478         * ralloc.c (r_alloc_thaw):
6479         * ralloc.c (init_ralloc):
6480         * ralloc.c (Free_Addr_Block):
6481         * ralloc.c (r_alloc):
6482         * redisplay-gtk.c (gtk_output_display_block):
6483         * redisplay-msw.c (mswindows_output_display_block):
6484         * redisplay-output.c (get_next_display_block):
6485         * redisplay-output.c (get_cursor_size_and_location):
6486         * redisplay-output.c (redisplay_output_layout):
6487         * redisplay-output.c (redisplay_clear_region):
6488         * redisplay-tty.c (tty_output_display_block):
6489         * redisplay-x.c (x_output_display_block):
6490         * redisplay.c (add_propagation_runes):
6491         * redisplay.c (add_glyph_rune):
6492         * redisplay.c (create_text_block):
6493         * redisplay.c (add_margin_runes):
6494         * redisplay.c (create_left_glyph_block):
6495         * redisplay.c (create_right_glyph_block):
6496         * redisplay.c (create_string_text_block):
6497         * redisplay.c (regenerate_window):
6498         * redisplay.c (REGEN_INC_FIND_START_END):
6499         * redisplay.c (redisplay_frame):
6500         * redisplay.c (point_in_line_start_cache):
6501         * regex.c:
6502         * regex.c (ABORT):
6503         * regex.c (re_compile_fastmap):
6504         * regex.c (re_match_2_internal):
6505         * regex.c (regerror):
6506         * scrollbar-gtk.c (gtk_scrollbar_loop):
6507         * scrollbar-gtk.c (scrollbar_cb):
6508         * scrollbar-gtk.c (gtk_update_frame_scrollbars):
6509         * scrollbar-msw.c (mswindows_handle_scrollbar_event):
6510         * scrollbar-x.c (x_update_scrollbar_instance_status):
6511         * scrollbar-x.c (x_scrollbar_loop):
6512         * scrollbar-x.c (x_update_frame_scrollbars):
6513         * search.c (search_command):
6514         * search.c (Fmatch_data):
6515         * select-x.c (motif_clipboard_cb):
6516         * signal.c (interrupt_signal):
6517         * specifier.c (specifier_add_spec):
6518         * specifier.c (specifier_instance_from_inst_list):
6519         * specifier.c (specifier_instance):
6520         * specifier.h:
6521         * specifier.h (struct specifier_methods):
6522         * strftime.c (add_num_time_t):
6523         * sunplay.c (init_device):
6524         * symbols.c (Fsetplist):
6525         * symbols.c (do_symval_forwarding):
6526         * symbols.c (store_symval_forwarding):
6527         * symbols.c (Fset):
6528         * symbols.c (Fbuilt_in_variable_type):
6529         * symbols.c (decode_magic_handler_type):
6530         * symbols.c (handler_type_from_function_symbol):
6531         * syntax.c (update_syntax_cache):
6532         * sysdep.c (init_baud_rate):
6533         * toolbar-gtk.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6534         * toolbar-msw.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6535         * toolbar-x.c (SET_TOOLBAR_WAS_VISIBLE_FLAG):
6536         * toolbar.c (get_toolbar_coords):
6537         * ui-gtk.c (build_gtk_boxed):
6538         * ui-gtk.c (describe_gtk_arg):
6539         * ui-gtk.c (gtk_type_to_lisp):
6540         * ui-gtk.c (lisp_to_gtk_type):
6541         * ui-gtk.c (lisp_to_gtk_ret_type):
6542         * ui-gtk.c (lisp_to_flag):
6543         * unexnt.c (read_in_bss):
6544         * unexnt.c (map_in_heap):
6545         * window.c (real_window):
6546         * window.c (window_display_lines):
6547         * window.c (window_display_buffer):
6548         * window.c (set_window_display_buffer):
6549         * window.c (window_modeline_height):
6550         * window.c (unshow_buffer):
6551         * window.c (window_loop):
6552         * window.c (Fget_lru_window):
6553         * window.c (Fsplit_window):
6554         * window.c (Fset_window_configuration):
6555         * window.c (saved_window_index):
6556         * xgccache.c (gc_cache_lookup):
6557         abort() -> ABORT().  Eliminate preprocessor games with abort()
6558         since it creates huge problems in VC7, solvable only by including
6559         massive amounts of files in every compile (and not worth it).
6560
6561         * sysdep.c:
6562         * sysproc.h:
6563         Inclusion of process.h does not need to be before lisp.h any more.
6564         Move later and remove comment about abort().
6565
6566 2005-01-26  Arnaud Giersch  <arnaud.giersch@free.fr>
6567
6568         * regex.c (re_match_2_internal):
6569         Correctly initialize loop which clears uninitialized registers.
6570
6571 2005-01-28  Vin Shelton  <acs@xemacs.org>
6572
6573         * sheap.c (more_static_core): Applied Ben's version of the long
6574         string patch.
6575
6576 2005-01-24  Vin Shelton  <acs@xemacs.org>
6577
6578         * sheap.c (more_static_core): Reformatted printf string so
6579         gcc-3.3.3 will compile this on Cygwin.
6580
6581 2004-02-22  Stephen J. Turnbull  <stephen@xemacs.org>
6582
6583         * console.c (function_key_map): Reference `key-binding'.
6584
6585         * keymap.c (Vkey_translation_map): Improve docstring.
6586
6587 2004-03-30  Zajcev Evgeny  <zevlg@yandex.ru>
6588
6589         * window.c: Declare `allow_deletion_of_last_visible_frame' extern.
6590         * window.c (window_loop): [fix] Take into account
6591         `allow-deletion-of-last-visible-frame' variable.
6592         * window.c (replace-buffer-in-windows): Ditto.
6593
6594 2004-12-15  Stephen J. Turnbull  <stephen@xemacs.org>
6595
6596         * EmacsManager.c (EmacsManagerChangeSize): Respect XtGeometryNo.
6597
6598 2005-01-20  Malcolm Purvis  <malcolmp@xemacs.org>
6599
6600         * event-gtk.c: Recognise AltGr as a valid modifier.
6601
6602 2005-01-12  Ville Skyttä  <scop@xemacs.org>
6603
6604         * console-x.h: #include X11/keysym.h before xintrinsic.h.
6605
6606 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6607
6608         Fix backreference bug caught by test suite.
6609
6610         * regex.c (regex_compile):
6611         Make backref duplicate internal register.
6612
6613 2005-01-13  Stephen J. Turnbull  <stephen@xemacs.org>
6614
6615         Documentation, code clarification, and warning suppression.
6616         
6617         * regex.c (regex_compile):
6618         Improve comments.
6619         (re_match_2_internal):
6620         Improve comments and avoid redundant braces.  [Most of the big hunk
6621         at l. 4710 is indentation; use diff -w to see the real changes.]
6622         (alt_match_null_string_p):
6623         (common_op_match_null_string_p):
6624         Avoid shadowing global on Mac OS X 10.4, at least.
6625
6626 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6627
6628         * regex.c (regcomp): Fix "unsigned comparison" warning (maybe
6629         introduced with shy groups fix).  [Already applied, probably
6630         with the second "fix shy groups" patch of 2004-10-07.] 
6631
6632 2005-01-10  Steve Youngs  <steve@sxemacs.org>
6633
6634         From Andrey Slusar <anrays@gmail.com>:
6635
6636         * unexelf.c: define `Elfw(type)' for FreeBSD alpha and amd64.
6637
6638 2004-11-21  Malcolm Purvis  <malcolmp@xemacs.org>
6639
6640         * Makefile (RECURSIVE_MAKE): Removed.
6641         * Makefile (RECURSIVE_MAKE_ARGS): New.  The new method for
6642         handling parallel builds.
6643
6644 2004-09-08  Malcolm Purvis  <malcolmp@xemacs.org>
6645
6646         * Makefile.in.in: Enable support for parallel builds.
6647
6648 2005-01-09  Steve Youngs  <steve@sxemacs.org>
6649
6650         From Andrey Slusar <anrays@gmail.com>:
6651
6652         * s/freebsd.h (LIBS_SYSTEM): Only set to "-lutil -lxpg4" if
6653         FreeBSD version is >= 199701 _and_ < 600006.
6654
6655 2005-01-06  Zajcev Evgeny <zevlg@yandex.ru>
6656
6657         * scrollbar.c (compute_scrollbar_instance_usage):
6658         Only call device method compute_scrollbar_instance_usage() if it
6659         is defined.
6660
6661 2004-12-05  Vin Shelton <acs@xemacs.org>
6662
6663         * XEmacs 21.4.16 is released
6664
6665 2004-12-04  Vin Shelton  <acs@xemacs.org>
6666
6667         * depend: Regenerated.
6668
6669 2004-10-07  Stephen J. Turnbull  <stephen@xemacs.org>
6670
6671         * regex.c (re_match_2_internal): Map internal to external
6672         registers.  Fixes bug identified by Steve Youngs 2004-09-30
6673         <microsoft-free.87ekkjhj7t.fsf@youngs.au.com>.
6674
6675 2004-09-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
6676
6677         * buffer.c (Frecord_buffer): Make sure the argument is buffer
6678         to fix a crash.  Also, check the buffer is live and it
6679         really exists in buffer_list.  If the buffer is not in the list,
6680         prepend it.
6681
6682 2004-09-08  Stephen J. Turnbull  <stephen@xemacs.org>
6683
6684         Fix shy groups by implementing recording of all groups for
6685         repetition and backtracking.  Backport from 21.5.
6686         
6687         * regex.h (struct re_pattern_buffer): Add members re_ngroups,
6688         external_to_internal_register, external_to_internal_register_size,
6689         and update comments for re_nsub.
6690
6691         * regex.c (re_opcode_t): Update comments.
6692         (print_compiled_pattern): Ouput external_to_internal_register,
6693         external_to_internal_register_size, and re_ngroups for debugging.
6694         (INIT_REG_TRANSLATE_SIZE): New manifest constant.
6695         (regex_compile): Update header comment.
6696         Ensure that all groups are recorded so that repeat matches and
6697         backtracking work correctly.  Comment related warning for groups >
6698         255.
6699         (re_search_2): Construct map of API indexes (which count only
6700         nonshy groups) to internal register numbers, and keep it updated.
6701
6702 2004-07-27  Malcolm Purvis  <malcolmp@xemacs.org>
6703
6704         * frame-gtk.c (gtk_make_frame_visible):
6705         * frame-gtk.c (gtk_make_frame_invisible): Use map/unmap instead of
6706         show/hide.  This is what X uses and is prevents previously hidden
6707         widgets from suddenly reappearing.
6708         * gtk-xemacs.c (gtk_xemacs_paint):
6709         * gtk-xemacs.c (gtk_xemacs_draw):
6710         * gtk-xemacs.c (gtk_xemacs_expose): Only operate if the widget is
6711         drawable.
6712         * scrollbar-gtk.c (gtk_update_scrollbar_instance_status): Force
6713         size and location changes so that they can be seen before the next
6714         idle event.  Without this rapid changes to scrollbar properties
6715         are not seen.
6716
6717 2004-07-02  Malcolm Purvis  <malcolmp@xemacs.org>
6718
6719         * console-gtk.h:
6720         * console-gtk.h (struct gtk_frame):
6721         * console-gtk.h (FRAME_GTK_WIDGET_INSTANCE_HASH_TABLE):
6722           Add hash tables track tab_control callback data.
6723           Added #defines for GTK object data names.
6724           Declaration of gtk_widget_to_frame().
6725         * event-gtk.c (enqueue_gtk_dispatch_event) No longer static:
6726         * frame-gtk.c (gtk_widget_to_frame): New.
6727         * frame-gtk.c (gtk_create_widgets):
6728         * frame-gtk.c (allocate_gtk_frame_struct):
6729         * frame-gtk.c (gtk_mark_frame):
6730         Manage frame callbakc hash tables.
6731         * glyphs-gtk.c (gtk_map_subwindow): Fix size and moving bugs.
6732         * glyphs-gtk.c (gtk_redisplay_widget): Use correct size for widgets.
6733         * glyphs-gtk.c (gtk_widget_instantiate_1): Force reconsideration
6734         of widget size.
6735         * glyphs-gtk.c (gtk_widget_query_geometry): New
6736         * glyphs-gtk.c (gtk_register_gui_item): New
6737         * glyphs-gtk.c (gtk_add_tab_item): New
6738         * glyphs-gtk.c (gtk_tab_control_callback): New
6739         * glyphs-gtk.c (gtk_tab_control_instantiate): New
6740         * glyphs-gtk.c (gtk_tab_control_redisplay): Set notebook page.
6741         Use correct list when loading item.
6742         * glyphs-gtk.c (image_instantiator_format_create_glyphs_gtk):
6743         Register new methods.
6744         * gtk-xemacs.c (gtk_xemacs_size_allocate): Use XEmacs size, not
6745         default size, for widgets.
6746         * gui-x.c:  Improved comment.
6747         * menubar-gtk.c (__generic_button_callback): Use
6748         gtk_widget_to_frame instead of __get_channel.
6749         * scrollbar-gtk.c:
6750         * ui-gtk.c: Use symbolic names for GTK object data.
6751
6752 2004-06-23  Ilya N. Golubev <gin@mo.msk.ru>
6753
6754         * s/usg5-4.h (NSIG): Define only inside emacs binary.
6755
6756 2002-03-04  Stephen J. Turnbull  <stephen@xemacs.org>
6757
6758         * fileio.c (Fwrite_region_internal): Document use of start == Qnil.
6759
6760 2004-06-16  Malcolm Purvis  <malcolmp@xemacs.org>
6761
6762         * malloc.c (morecore): siz is a long because in some architectures
6763         (eg ia-64) an int cannot hold the address range.  Additional patch
6764         from the SuSe distribution.
6765
6766 2004-06-13  Malcolm Purvis  <malcolmp@xemacs.org>
6767
6768         * emacs.c:
6769         * malloc.c: lim_data is a long because in some architectures
6770         (eg ia-64) an int cannot hold the address range.
6771         * mem-limits.h: lim-data is a long.  Linux uses getrlimit()
6772         instead of ulimit() because ulimit() always returns -1.
6773
6774 2004-06-09  Stephen J. Turnbull  <stephen@xemacs.org>
6775
6776         * search.c: Reenable an ansync semaphore.  Remove bogus comments.
6777
6778 2004-06-11  David Kastrup  <dak@gnu.org>
6779
6780         * search.c (match_limit): Don't flag an error if match-data
6781         exceeding the allocated search_regs.num_regs gets requested, just
6782         return Qnil.
6783
6784 2003-07-21  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6785
6786         * glyphs-gtk.c (gtk_xpm_instantiate): Rewrite the XPM data to
6787         replace symbolic color entries with the real colors specified in
6788         xpm-color-symbols, before passing the XPM to gtk.
6789         * glyphs-gtk.h: Use the generic pixmap_image_instance.mask for masks,
6790         instead of a GTK specific field, so that it is used in by generic
6791         code.
6792
6793 2004-05-05  Chuck Hines <chuck.hines@baesystems.com>
6794
6795        * dgif_lib.c (DGifSlurp): Changed do-while to while to stop
6796         coredump from deref of NULL ptr (ExtData)
6797
6798 2004-04-19  Jerry James  <james@xemacs.org>
6799
6800         * data.c (sign_extend_lisp_int): Use INT_VALBITS instead of
6801         VALBITS to compute the location of the sign bit.
6802         * event-stream.c (Fcurrent_event_timestamp): Replace incorrect use
6803         of VALBITS with EMACS_INT_MAX.
6804         * events.c (Fevent_timestamp): Ditto.
6805         * events.c (TIMESTAMP_HALFSPACE): Change VALBITS to INT_VALBITS to
6806         compute the halfway point to timestamp wraparound.
6807         * floatfns.c (float_to_int): Compare against EMACS_INT_MAX and
6808         EMACS_INT_MIN instead of using VALBITS.
6809         * floatfns.c (Flogb): Use EMACS_INT_MIN instead of building an
6810         incorrect number with VALBITS.
6811         * fns.c (Frandom): Correct number of integer bits in docstring.
6812         Use INT_VALBITS instead of VALBITS to compute the denominator.
6813         * sysdep.c (get_random): Use INT_VALBITS instead of VALBITS to
6814         build random numbers.
6815
6816 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6817         * event-gtk.c:
6818         * event-gtk.c (gtk_event_to_emacs_event):
6819         * menubar-gtk.c:
6820         * menubar-gtk.c (gtk_xemacs_menubar_class_init):
6821         * menubar-gtk.c (gtk_xemacs_menubar_size_request):
6822         * menubar-gtk.c (gtk_xemacs_accel_label_get_type):
6823         * menubar-gtk.c (gtk_xemacs_set_accel_keys):
6824         * menubar-gtk.c (__activate_menu):
6825         * menubar-gtk.c (convert_underscores):
6826         * menubar-gtk.c (remove_underscores):
6827         * menubar-gtk.c (menu_convert):
6828         * menubar-gtk.c (menu_descriptor_to_widget_1):
6829         * menubar-gtk.c (menu_descriptor_to_widget):
6830         * menubar-gtk.c (menu_can_reuse_widget):
6831         * menubar-gtk.c (menu_create_menubar):
6832         * menubar-gtk.c (gtk_popup_menu):
6833         * menubar-gtk.c (Fgtk_build_xemacs_menu):
6834         Added support for Gtk menu bar and menu item mnemonics.
6835
6836 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6837
6838         * sysdll.c: (dll_function): Added support for finding symbols in
6839         Darwin shared libraries as well in Darwin bundles.
6840         * sysdll.c (image_for_address): New
6841         * sysdll.c (my_find_image): New
6842         * sysdll.c (search_linked_libs): New
6843
6844 2004-03-23  Malcolm Purvis  <malcolmpurvis@optushome.com.au>
6845
6846         * ui-gtk.c (__internal_callback_marshal): Marshalling data to
6847         return to GTK requires a different API to marshalling data to use
6848         as GTK parameters.
6849         * ui-gtk.c (lisp_to_gtk_ret_type): New.
6850
6851 2004-03-08  Lutz Euler  <lutz.euler@freenet.de>
6852
6853         * lstream.c (Lstream_pseudo_close): Fix test for LSTREAM_FL_IS_OPEN.
6854
6855 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6856
6857         * glyphs.c (process_image_string_instantiator):
6858         (Fset_console_type_image_conversion_list):
6859         Stop GCC from warning about shadowing of `exp'.
6860
6861         * redisplay-x.c (x_output_string): Fix unsigned lossage.
6862
6863 2004-02-19  Stephen J. Turnbull  <stephen@xemacs.org>
6864
6865         * regex.c (re_match_2_internal): Shut up GCC about syn1, syn2.
6866
6867 2004-02-03  Vin Shelton  <acs@xemacs.org>
6868
6869         * glyphs.c (image_instance_layout): Remove pointless assertion.
6870         * regex.c (regex_grow_registers): Return type is void.
6871
6872 2004-02-02  Vin Shelton <acs@xemacs.org>
6873
6874         * XEmacs 21.4.15 is released
6875
6876 2004-01-30  Glynn Clements  <glynn.clements@virgin.net>
6877
6878         * device-x.c (x_error_handler): Don't call stderr_out
6879
6880 2003-11-07  Katsumi Yamaoka <yamaoka@jpl.org>
6881
6882         * buffer.c (other-buffer): Clarify documentation of order of
6883         arguments for FSF Emacs.
6884
6885 2003-10-11  Olivier Galibert  <galibert@pobox.com>
6886
6887         * window.c (Fdelete_window): Dirty the mirror structure _before_
6888         marking the window deleted.
6889
6890 2003-09-15  Jerry James  <james@xemacs.org>
6891
6892         * event-msw.c (debug_mswin_messages): Conditionally compile
6893         messages missing from the Cygwin headers.
6894
6895 2003-06-16  Stephen J. Turnbull  <stephen@xemacs.org>
6896
6897         * data.c (eq_with_ebola_notice): Fix typo in comment.
6898         (Ftrue_list_p): Improve docstring.
6899
6900 2003-10-13  Stephen J. Turnbull  <stephen@xemacs.org>
6901
6902         * frame-x.c (x_update_frame_external_traits): Fix XtSetArg idiom.
6903
6904 2003-09-27  Stephen J. Turnbull  <stephen@xemacs.org>
6905
6906         * search.c (trivial_regexp_p): Regexps containing "\{" are
6907         nontrivial.  Thanks to Manfred Bartz for reporting the bug and
6908         Stefan Monnier for suggesting a diagnosis.
6909
6910 2003-09-25  Stephen J. Turnbull  <stephen@xemacs.org>
6911
6912         * elhash.c (make-hash-table): Clarify use of :test #'equal.
6913
6914 2003-09-12  Stephen J. Turnbull  <stephen@xemacs.org>
6915
6916         * search.c (Fsearch_forward):
6917         (Fsearch_backward):
6918         Document negative count.
6919
6920 2003-09-13  Stephen J. Turnbull  <stephen@xemacs.org>
6921
6922         * regex.c (re_max_failures): Bump to 20000 for REGEX_MALLOC, too.
6923
6924 2003-09-13  Martin Buchholz  <martin@xemacs.org>
6925
6926         * s/sol2.h: Use OS_RELEASE=os_release_major*100+os_release_minor
6927
6928 2003-09-15  Vin Shelton  <acs@xemacs.org>
6929
6930         * .gdbinit (pobj): Remove Ilya's fix that was only intended for
6931         21.5.
6932
6933 2003-09-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
6934
6935         * regex.c (TRANSLATE_EXTENDED_UNSAFE): Remove.
6936         (re_search_2): Match the first byte of Bufbyte, not Emchar.
6937         (re_match_2_internal): Use TRANSLATE instead of
6938         TRANSLATE_EXTENDED_UNSAFE.  The latter was a hack to bypass
6939         non-ASCII char case conversion.
6940
6941 2003-09-08  Mike Sperber  <mike@xemacs.org>
6942
6943         * symbols.c (Fvariable_binding_locus): Add, as per suggestion from
6944         RMS at: http://article.gmane.org/gmane.emacs.pretest.bugs/1010
6945
6946 2003-06-14  Ilya N. Golubev  <gin@mo.msk.ru>
6947
6948        * .gdbinit (pobj): fix printing of symbol name.
6949
6950 2003-08-01  Ilya N. Golubev  <gin@mo.msk.ru>
6951
6952         * frame-x.c (x_layout_widgets): When resizing is about to cause
6953         frame size slip, mark it for redisplay.
6954
6955 2003-08-18  Jerry James  <james@xemacs.org>
6956
6957         * opaque.h: Remove unused (X)OPAQUE_MARKFUN definitions.
6958
6959 2003-09-03  Vin Shelton <acs@xemacs.org>
6960
6961         * XEmacs 21.4.14 is released
6962
6963 2003-08-15  Stephen J. Turnbull  <stephen@xemacs.org>
6964
6965         * config.h.in (REGEX_MALLOC): Make it configure'able.
6966
6967 2003-08-14  Andrew Begel  <abegel@CS.Berkeley.EDU>
6968
6969         * config.h.in: Add HAVE_DYLD to indicate Darwin/MacOSX dynamic
6970         linking.
6971         * sysdll.c (dll_init):
6972         * sysdll.c (dll_open):
6973         * sysdll.c (dll_close):
6974         * sysdll.c (dll_function):
6975         * sysdll.c (dll_variable):
6976         * sysdll.c (dll_error):
6977         Add support for loading bundles using Darwin/MacOSX
6978         native API.
6979
6980 2003-08-12  Stephen J. Turnbull  <stephen@xemacs.org>
6981
6982         * process.c (start-process-internal): Document coding systems.
6983
6984 2003-07-30  Jerry James  <james@xemacs.org>
6985
6986         * sysdll.c: configure sets HAVE_DLD_INIT, not HAVE_INIT_DLD.
6987
6988 2003-07-31  René Kyllingstad  <listmailxemacs@kyllingstad.com>
6989
6990         * event-msw.c (mswindows_enqueue_mouse_button_event):
6991         * event-msw.c (mswindows_wnd_proc):
6992           enqueue button event when scrollwheel event isn't handled by 
6993           mswindows_handle_mousewheel_event, such as when the scrollbars
6994           are not showing.
6995
6996 2003-07-29  Stephen J. Turnbull  <stephen@xemacs.org>
6997
6998         * EmacsFrame.c (emacsFrameClassRec): Motif groks not XtCompress*.
6999
7000 2003-03-24  Stephen J. Turnbull  <stephen@xemacs.org>
7001
7002         * database.c (Fopen_database): Don't use DB_AUTO_COMMIT.
7003
7004 2003-03-21  Stephen J. Turnbull  <stephen@xemacs.org>
7005
7006         * regex.c (re_match_2_internal): Fix matching degenerate word
7007         boundaries.
7008
7009 2003-05-25  XEmacs Build Bot <builds@cvs.xemacs.org>
7010
7011         * XEmacs 21.4.13 is released
7012
7013 2003-03-20  Stephen J. Turnbull  <stephen@xemacs.org>
7014
7015         * config.h.in (INTPTR_T_IN_CYGWIN_TYPES_H): 
7016         * lisp.h (<inttypes.h>):
7017         Cygwin defines these types in <cygwin/types.h>.  Don't duplicate
7018         the definition.
7019
7020 2003-03-15  Martin Buchholz  <martin@xemacs.org>
7021
7022         * dumper.c (pdump_load): Pdump'ed XEmacs can't find its .dmp file.
7023         Scenario: Prepend ~/bin to PATH; then `mkdir ~/bin/xemacs'
7024         Result: "temacs can only be run in -batch mode."
7025         Fix: Check xemacs executable candidate for directory-ness.
7026
7027 2003-03-03  Robert Pluim  <rpluim@bigfoot.com>
7028
7029         * database.c: Don't use the u_int8_t etc typedefs on FreeBSD,
7030           they conflict with <sys/types.h>.
7031
7032 2003-02-14  Martin Buchholz  <martin@xemacs.org>
7033
7034         * database.c: Berkeley DB wants __STDC__ to be defined.
7035
7036 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7037
7038         * EmacsFrame.c: Use symbolic name `NotUseful' in lieu of `0'.
7039
7040 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7041
7042         * process-unix.c (unix_send_process): Fix C++ compile error.
7043
7044 2003-02-25  Andrew Begel  <abegel@cs.berkeley.edu>
7045
7046         * Added .dylib as an acceptable shared library file extension
7047         * to support MacOSX.
7048
7049 2003-02-01  Martin Buchholz  <martin@xemacs.org>
7050
7051         * EmacsFrameP.h (EmacsFramePart):
7052         Kludge to allow compiling with Motif1, but linking with Motif2.
7053
7054 2003-01-28  Martin Buchholz  <martin@xemacs.org>
7055
7056         * config.h.in (_ALL_SOURCE): Guard against multiple definition.
7057
7058
7059 2003-02-23  Stephen J. Turnbull  <stephen@xemacs.org>
7060
7061         * config.h.in (DLSYM_NEEDS_UNDERSCORE): Define on darwin.
7062
7063 2003-02-06  Andrew Begel  <abegel@CS.Berkeley.EDU>
7064
7065         * sysdll.c: Included lisp.h to define needed alloca_array.
7066
7067 2003-02-13  Martin Buchholz  <martin@xemacs.org>
7068
7069         Make XEmacs redisplay 10 times faster.
7070         If, that is, you're using a slow X connection and MoveOpaque.
7071         Use compress_exposure = XtExposeCompressMaximal | XtExposeNoRegion.
7072         Use compress_motion = TRUE.
7073         * EmacsFrame.c (emacsFrameClassRec): 
7074         * EmacsShell-sub.c (EMACS_SHELL_CLASS_REC):
7075         * EmacsManager.c (emacsManagerClassRec):
7076         * xintrinsicp.h: Make sure XtExposeNoRegion is defined.
7077
7078 2003-01-30  Vin Shelton  <acs@xemacs.org>
7079
7080         * s/linux.h (ORDINARY_LINK): define ORDINARY_LINK for linux.
7081
7082 2003-01-17  Stephen J. Turnbull  <stephen@xemacs.org>
7083
7084         * glyphs-eimage.c (tiff_memory_seek): Lobotomize unsigned typedef.
7085         Patch by Martin Buchholz.
7086
7087 2003-01-16  Stephen J. Turnbull  <stephen@xemacs.org>
7088
7089         * glyphs-eimage.c (tiff_instantiate): Fix unsigned comparison.
7090         Thanks to icc for warning and Martin Buchholz for reporting.
7091
7092 2003-01-29  Vin Shelton <acs@xemacs.org>
7093
7094         Patch courtesy of Andrew Begel <abegel@cs.berkeley.edu>
7095
7096         * dynarr.c (Dynarr_realloc): memcpy copies number of bytes, so
7097         remember to multiply by the element size.
7098
7099 2003-01-15  Stephen J. Turnbull  <stephen@xemacs.org>
7100
7101         * XEmacs 21.4.12 "Portable Code" is released.
7102
7103 2003-01-14  Sergey Okhapkin <sos@prospect.com.ru>
7104
7105         * Makefile.in.in (ldflags): re-order sections for gcc 3.2.
7106         * s/cygwin.sc: new linker file.
7107
7108 2003-01-14  Stephen J. Turnbull  <stephen@xemacs.org>
7109
7110         Build fixes courtesy Martin Buchholz <martin@xemacs.org>:
7111
7112         * redisplay-x.c (x_output_string): Use X11-specified types.
7113         * syntax.c, syntax.h (SYNTAX_CODE): Use enum syntaxcode, not int.
7114         * emacs.c (__free_hook): Use typeof with Intel compiler.
7115         * config.h.in (alloca.h): Quick safe hack to please Intel compiler.
7116
7117 2003-01-08  Andy Piper  <andy@xemacs.org>
7118
7119         * unexcw.c (copy_executable_and_dump_data_section): Set the stack
7120         reserve size during unexec().
7121
7122 2003-01-07  Daiki Ueno  <daiki@xemacs.org>
7123
7124         * process-unix.c (unix_create_process): Don't let outchannel block.
7125
7126 2003-01-05  Rick Rankin  <rick_rankin@yahoo.com>
7127
7128         * emacs.c: Include "syswindows.h" when compiling under Cygwin.
7129         Needed for IsBadReadPtr().
7130
7131 2003-01-03  Stephen J. Turnbull  <stephen@xemacs.org>
7132
7133         * XEmacs 21.4.11 "Native Windows TTY Support" is released.
7134
7135 2002-12-14  Ben Wing  <ben@xemacs.org>
7136
7137         * callint.c: Declaration error.
7138         * dumper.c (pdump):
7139         * dumper.c (pdump_load): Warning fix.
7140         * process.c: GCPRO error.
7141         * glyphs.c (unmap_subwindow):
7142         * glyphs.c (map_subwindow): Parenthesizing errors with ! and &&.
7143         * event-stream.c (maybe_kbd_translate): Wrong argument to
7144         character_to_event().
7145
7146         * alloc.c (garbage_collect_1):
7147         * emacs.c:
7148         * emacs.c (debug_can_access_memory):
7149         * emacs.c (fatal_error_signal):
7150         * emacs.c (mswindows_handle_hardware_exceptions):
7151         * emacs.c (main_1):
7152         * emacs.c (main):
7153         * emacs.c (assert_failed):
7154         * emacs.c (syms_of_emacs):
7155         * lisp.h:
7156         * print.c:
7157         * print.c (std_handle_out_va):
7158         * print.c (write_string_to_stdio_stream):
7159         * print.c (write_fmt_string):
7160         * print.c (printing_badness):
7161         * print.c (printing_major_badness):
7162         * print.c (print_internal):
7163         * print.c (debug_print_no_newline):
7164         * print.c (debug_backtrace):
7165         Be more defensive in handling bad values when printing.  Add code
7166         from trunk involving inhibit_non_essential_printing_operations.
7167         When going down or in debug_print(), don't do external conversion
7168         and such and try really, really hard when printing to avoid core
7169         dumping.  Add force-debugging-signal, debug_break().
7170
7171 2002-12-12  Stephen J. Turnbull  <stephen@xemacs.org>
7172
7173         * dumper.c (pdump_load): Include sysdep.h; retry with truename.
7174         Analysis and original patch by Vin Shelton <acs@xemacs.org>.
7175
7176 2002-12-02  Greg Allen  <greg_allen@westlb-systems.co.uk>
7177
7178         * database.c: Fix open_database. Berkeley DB API has changed in
7179         4.1. see: http://www.sleepycat.com/docs/ref/upgrade.4.1/fop.html
7180
7181 2002-11-26  Stephen J. Turnbull  <stephen@xemacs.org>
7182
7183         * specifier.c (Fvalid_specifier_type_p): Typo in comment.
7184
7185 2002-11-13  Stephen J. Turnbull  <stephen@xemacs.org>
7186
7187         * event-Xt.c (Xt_timeout):
7188         (Xt_timeout_callback):
7189         (emacs_Xt_add_timeout):
7190         (emacs_Xt_remove_timeout):
7191         (Xt_timeout_to_emacs_event):
7192         Turn completed_timeouts from a stack into a queue.  Fixes
7193         deadlocks <15829.21626.171573.994716@sinisa.nasamreza.org>.
7194
7195 2002-11-07  Wolfram Gloger  <wg@malloc.de>
7196
7197         * alloc.c (reinit_alloc_once_early): Disable mmap in Doug Lea malloc.
7198         * emacs.c (main): Assert that mmap'd allocation is disabled.
7199
7200 2002-10-14  Andy Piper  <andy@xemacs.org>
7201
7202         * glyphs-widget.c (layout_query_geometry): add in fiddle
7203         factor. Include border text in width layout calculation.
7204         (layout_layout): use BORDER_FIDDLE_FACTOR instead of 10.
7205
7206 2002-11-02  Stephen J. Turnbull  <stephen@xemacs.org>
7207
7208         * XEmacs 21.4.10 "Military Intelligence" is released.
7209
7210 2002-10-17  Raymond Toy  <toy@rtp.ericsson.se>
7211
7212         * nas.c: Update for NAS 1.6 and later, from Jon Trulson.  Was
7213         using the NAS private array SoundFileInfo that no longer exists in
7214         NAS 1.6 and later.  Preserve backward compatibility with NAS 1.5a
7215         and earlier.  This is broken for some versions between 1.5a and
7216         1.5f.
7217
7218 2002-10-10  Stephen J. Turnbull  <stephen@xemacs.org>
7219
7220         * realpath.c (win32_readlink): Try to fix truename of wildcard bug.
7221
7222         * emacs.c (shut_down_emacs): Improve crash message.
7223
7224 2002-10-09  Stephen J. Turnbull  <stephen@xemacs.org>
7225
7226         * file-coding.c (determine_real_coding_system): Check for coding
7227         cookie in first LINES_TO_CHECK lines (currently 2).  Cater to
7228         shebangs and Python PEP 263.
7229
7230 2002-10-08  Andy Piper  <andy@xemacs.org>
7231
7232         * glyphs-widget.c (layout_query_geometry): only resize dynamically
7233         if static sizes haven't been set.
7234
7235 2002-08-30  Mike Alexander  <mta@arbortext.com>
7236
7237         * event-msw.c (winsock_closer): Use closesocket, not CloseHandle
7238         to close a socket.
7239
7240 2002-10-03  Stephen J. Turnbull  <stephen@xemacs.org>
7241
7242         * callproc.c (child_setup): 21.4 doesn't have retry_close.
7243
7244 2002-09-20  Mike Sperber <mike@xemacs.org>
7245
7246         (This partially gets back my patch from 2002-07-20 without the
7247         bug.)
7248         * callproc.c (child_setup): Remove Ben's comment noting confusion
7249         over the file descriptors >= 3: close_process_descs() doesn't
7250         close those.  Fix fd range to go up to MAXDESC-1 instead of 64.
7251         * process-unix.c (unix_create_process): Call
7252         begin_dont_check_for_quit to inhibit unwanted interaction (and
7253         thus breaking of X event synchronicity) in the child.
7254
7255 2002-09-26  Golubev I. N.  <gin@mo.msk.ru>
7256
7257         * frame-x.c (x_delete_frame): do not call XtDisplay on a destroyed
7258         widget.
7259
7260 2002-08-20  Ben Sigelman  <bhsigelm@cs.brown.edu>
7261
7262         * event-Xt.c (drain_X_queue): loop over while(XEventsQueued())
7263         instead of while(XtAppPending()&XtIMXEvent).  Upon a gdm logout,
7264         the xemacs process did not exit, but looped infinitely here.  This
7265         fixes that problem.
7266
7267 2002-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
7268
7269         * font-lock.c (SYNTAX_START_STYLE, SYNTAX_END_STYLE): Quiet GCC.
7270         (find_context): Improve comments.
7271
7272         * regex.c (re_compile_fastmap):  Gratuitous #ifdef comment fixes.
7273         (re_match_2): An XCHAR_TABLE operation was missing.
7274
7275         Many of the following changes were inspired by Andy Piper's (now
7276         obsolete) patch to make syntax-table text property lookup optional.
7277
7278         [Documentation]
7279
7280         * syntax.h (top level): Document semantics of syntax flags.
7281         * syntax.c (comstr_start, Fforward_comment): Improve comments.
7282         * syntax.c, syntax.h (top level): Document syntax cache better in
7283         comments.
7284
7285         [Instrument syntax caching (temporary change)]
7286
7287         * syntax.h (enum syntax_cache_statistics_functions, struct
7288         syntax_cache_statistics, SCS_STATISTICS_SET_FUNCTION,
7289         SYNTAX_CACHE_STATISTICS_COUNT_INIT): New types and macros.
7290         * syntax.c (scan_words, Fforward_comment, scan_lists,
7291         Fbackward_prefix_characters):
7292         * font-lock.c (find_context):
7293         Use them to instrument syntax caching. 
7294         * syntax.c (struct syntax_cache_statistics, scs_statistics,
7295         syntax_cache_statistics_function_names): New type and variables.
7296         * syntax.c (update_syntax_cache): Update and report statistics.
7297
7298         [Major syntax cache optimizations]
7299
7300         syntax.c (lookup_syntax_properties): Default off.
7301
7302         * syntax.h (UPDATE_SYNTAX_INTERNAL): New, implements UPDATE_SYNTAX*.
7303         * syntax.c (update_syntax_cache):
7304         Move init test from update_syntax_cache to UPDATE_SYNTAX_INTERNAL.
7305
7306         [Minor syntax cache optimizations and code clarifications]
7307
7308         * syntax.h (SYNTAX_COMMENT_BITS, SYNTAX_START_P, SYNTAX_END_P,
7309         SYNTAX_STYLES_MATCH_START_P, SYNTAX_STYLES_MATCH_1CHAR_P,
7310         SYNTAX_STYLES_MATCH_END_P, STYLE_FOUND_1CHAR_P, STYLE_FOUND_P,
7311         SYNTAX_COMMENT_MASK_END, SYNTAX_COMMENT_MASK_START,
7312         SYNTAX_COMMENT_1CHAR_MASK): Remove redundant argument `table'.
7313         (Code clarification.)
7314
7315         * syntax.c (scan_words, find_end_of_comment, scan_sexps_forward,
7316         scan_lists): Compute code from syncode, use Boolean macros instead
7317         of redundant masking operations.  (Code clarification; any decent
7318         compiler can do this optimization.)
7319
7320         * syntax.c (scan_lists): Rearrange switches (case Sstring_fence)
7321         for clarity.
7322
7323         * syntax.h, syntax.c (NEXT_SINGLE_PROPERTY_CHANGE,
7324         PREVIOUS_SINGLE_PROPERTY_CHANGE, update_syntax_cache): Conditionally
7325         use F*_single_property_change instead of F*_extent_change.
7326         Currently F*_single_property_change is _much_ less efficient.
7327
7328         * dired.c (Fdirectory_files): Qt not valid in syntax_cache.object.
7329         * syntax.h (SETUP_SYNTAX_CACHE_FOR_OBJECT):  Initialize
7330         syntax_cache.object properly, don't leave Qt or Qnil.
7331         (SYNTAX_CACHE_BYTE_TO_CHAR): Use SETUP_SYNTAX_CACHE_FOR_OBJECT.
7332         * syntax.c (update_syntax_cache): Use BUFFERP and STRINGP, not
7333         tests for Qt or Qnil.
7334
7335 2002-09-21  Stephen J. Turnbull  <stephen@xemacs.org>
7336
7337         * redisplay.c (point_in_line_start_cache): 
7338         * extents.c (print_extent_1):
7339         Fix warnings.
7340
7341         * extents.c (Fset_extent_property): Document `syntax-table' property.
7342
7343         * extents.h (Fnext_single_property_change): EXFUN it.
7344
7345 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7346
7347         * search.c (clear_unused_search_regs): New static function.
7348         (search_buffer): 
7349         (simple_search): 
7350         (boyer_moore):
7351         Use it.  Fixes "stale match data" bug reported by Martin Stjernholm.
7352         Minor clarifications in comments.
7353
7354         * regex.c (re_match_2_internal): Ensure no stale submatches.
7355
7356 2002-09-09  Stephen J. Turnbull  <stephen@xemacs.org>
7357
7358         * event-Xt.c (enqueue_focus_event): Add missing prototype.
7359
7360 2002-08-29  Jerry James  <james@xemacs.org>
7361
7362         * lisp.h: structrures -> structures.
7363
7364 2002-06-03  Andy Piper  <andy@xemacs.org>
7365
7366         * frame.c (frame_conversion_internal): add conversion appropriate
7367         for setting frame dimensions in pixels.
7368
7369         * console.h (struct console_methods): add device-specific widget
7370         layout functions.
7371
7372         * emacs.c (main_1): initialize glyph vars.
7373
7374         * event-Xt.c (handle_focus_event_1): call handle_focus_event_2
7375         (handle_focus_event_2): new function. Allow focus to
7376         be set to a particular window and widget.
7377         (enqueue_focus_event): new function. Create a
7378         synthetic focus event.
7379         (emacs_Xt_handle_magic_event): call
7380         handle_focus_event_2.
7381
7382         * frame.c (Fset_frame_pixel_height): new function. Allow
7383         pixel-based sizing. Does the right thing on character-oriented
7384         displays.
7385         (Fset_frame_pixel_width): ditto.
7386         (Fset_frame_pixel_size): ditto.
7387         (syms_of_frame): declare.
7388
7389         * general-slots.h: add :vertically-justify and
7390         :horizontally-justify.
7391
7392         * glyphs-msw.c (xbm_create_bitmap_from_data): warning fix.
7393         (mswindows_widget_border_width): new function.
7394         (mswindows_combo_box_instantiate): set border widths.
7395         (console_type_create_glyphs_mswindows): declare.
7396
7397         * glyphs-widget.c:
7398         (check_valid_justification): allow vertical and horizontal
7399         justification.
7400         (widget_border_width): new function. Call device methods.
7401         (widget_instance_border_width): ditto.
7402         (logical_unit_height): new function. Determine the height of a
7403         logical-unit. Logical units are intended to provide grid-like
7404         layout for subcontrols in a layout. If the layout is
7405         :vertically-justify top then subcontrols will be positioned on
7406         logical-unit boundaries, thus allowing adjacent subcontrols to
7407         line up.
7408         (widget_logical_unit_height): ditto for widgets.
7409         (redisplay_widget): misc cleanup.
7410         (widget_spacing): new function. Call device specific
7411         methods. Intended to be the default gap between adjacent widgets.
7412         (widget_query_geometry): use new spacing functions to determine
7413         appropriate geometry.
7414         (initialize_widget_image_instance): initialize horizontal and
7415         vertical justification.
7416         (widget_instantiate): use logica-units where appropriate for
7417         sizing large widgets.
7418         (button_query_geometry): use widget_instance_border_width.
7419         (tree_view_query_geometry): ditto.
7420         (tab_control_query_geometry): ditto.
7421         (edit_field_query_geometry): new function.
7422         (layout_update): pick up :justify, :horizontally-justify and
7423         :vertically-justify none of which worked previously. :justify is
7424         used as a fallback for both horizontal and vertical justification.
7425         (layout_query_geometry): use logical units to size appropriately.
7426         (layout_layout): ditto.
7427         (Fwidget_logical_to_character_width): new function. Allow users to
7428         convert from logical units to characters so that frame sizes can
7429         be set appropriately.
7430         (Fwidget_logical_to_character_height): ditto.
7431         (syms_of_glyphs_widget): declare.
7432         (image_instantiator_edit_fields): add edit_field_query_geometry.
7433         (VALID_LAYOUT_KEYWORDS): declare :vertically-justify and
7434         :horizontally-justify.
7435         (specifier_vars_of_glyphs_widget): new function. Declare
7436         Vwidget_border_width which is not yet used.
7437
7438         * glyphs-x.c (x_map_subwindow): enqueue appropriate focus events.
7439         (x_widget_border_width): new function.
7440         (x_widget_instantiate): create a sensible name for widgets.
7441         (console_type_create_glyphs_x): declare x_widget_border_width.
7442
7443         * glyphs.h (DEFAULT_WIDGET_BORDER_WIDTH): new macro.
7444         (struct Lisp_Image_Instance): add :vertically-justify and
7445         :horizontally-justify.
7446         (LAYOUT_JUSTIFY_TOP): new.
7447         (IMAGE_INSTANCE_SUBWINDOW_H_JUSTIFY): new.
7448         (ROUND_UP): new macro. Round argument up to next integral
7449         interval.
7450
7451         * redisplay-output.c (redisplay_output_layout): misc formatting.
7452
7453         * symsinit.h: declare specifier_vars_of_glyphs_widget.
7454
7455 2002-08-23  Stephen J. Turnbull  <stephen@xemacs.org>
7456
7457         * XEmacs 21.4.9 "Informed Management" is released.
7458
7459 2002-08-19  Andy Piper  <andy@xemacs.org>
7460
7461         * fileio.c (Ffile_truename): on cygwin using win32 normalize to
7462         win32 format.
7463
7464         * realpath.c (xrealpath): normalize drive spec also so that dir
7465         sep chars are not mixed on cygwin.
7466
7467 2002-08-06  Jerry James  <james@xemacs.org>
7468
7469         * window.c (Fsplit_window): Count only half of the divider width
7470         against the left window when splitting horizontally. 
7471
7472 2002-06-24  Andy Piper  <andy@xemacs.org>
7473
7474         * toolbar-gtk.c (GTK_OUTPUT_BUTTONS_LOOP): output button if whole
7475         toolbar was cleared.
7476
7477         * toolbar-msw.c (mswindows_clear_frame_toolbars): new
7478         function. Split out from mswindows_output_frame_toolbars.
7479         (mswindows_output_frame_toolbars): move clear pieces to
7480         mswindows_output_frame_toolbars.
7481
7482         * toolbar-gtk.c (gtk_clear_frame_toolbars): new function. Split
7483         out from gtk_output_frame_toolbars.
7484         (gtk_output_frame_toolbars): move clear pieces to
7485         gtk_clear_frame_toolbars.
7486
7487         * toolbar-x.c (X_OUTPUT_BUTTONS_LOOP): always output buttons when
7488         the frame is cleared. How this ever worked before is a mystery.
7489         (x_output_frame_toolbars): Only output toolbars.
7490         (x_clear_frame_toolbars): new. Clear previous toolbar locations.
7491
7492         * gutter.c (update_gutter_geometry):
7493         Mark frame layout changed.
7494         (update_frame_gutter_geometry, update_frame_gutters):
7495         Respect frame_layout_changed.
7496
7497         * console.h (struct console_methods): add
7498         clear_frame_toolbars_method.
7499
7500         * redisplay.c (redisplay_frame): call
7501         update_frame_toolbars_geometry and re-order update_frame_toolbars.
7502
7503         * toolbar.h: declare update_frame_toolbars_geometry.
7504
7505         * toolbar.c (update_frame_toolbars_geometry): new function. Split
7506         out from update_frame_toolbars.  Call clear_frame_toolbars.
7507         (update_frame_toolbars): only output, do not change geometry.
7508
7509         * redisplay.c: add frame_layout_changed.
7510
7511         * redisplay.h: add frame_layout_changed.
7512         (CLASS_RESET_CHANGED_FLAGS): set it.
7513         (GLOBAL_RESET_CHANGED_FLAGS): ditto.
7514         (CLASS_REDISPLAY_FLAGS_CHANGEDP): test it.
7515         (GLOBAL_REDISPLAY_FLAGS_CHANGEDP): ditto.
7516
7517         * device.h (struct device): add frame_layout_changed.
7518         (MARK_DEVICE_FRAME_LAYOUT_CHANGED): new.
7519
7520         * frame.h (struct frame): add frame_layout_changed.
7521         (MARK_FRAME_LAYOUT_CHANGED): new.
7522
7523 2002-06-30  Mike Alexander  <mta@arbortext.com>
7524
7525         * event-msw.c (mswindows_need_event): Don't wait for a new message
7526         if the queue is not empty.  Suggested by Paul Moore.
7527
7528 2002-06-12  Andy Piper  <andy@xemacs.org>
7529
7530         * frame-msw.c (msprinter_init_frame_3): calculate the frame size
7531         for printing on accurately.
7532
7533 2002-06-09  Rick Rankin <rick_rankin@yahoo.com>
7534
7535         * event-msw.c (mswindows_wnd_proc): Add a handler for the
7536         WM_ACTIVATE message. Make sure that the frame is visible if the
7537         window is visible. This seemss to fix the problem where XEmacs
7538         appears to freeze after switching desktops with certain virtual
7539         window managers.
7540         (debug_output_mswin_message): Added code to output message
7541         parameters for WM_WINDOWPOSCHANGED, 
7542         WM_WINDOWPOSCHANGING, WM_MOVE, and WM_SIZE messages.
7543
7544 2002-05-25  Andy Piper  <andy@xemacs.org>
7545
7546         * select-x.c (vars_of_select_x): Fix docstring of
7547         x-selection-strict-motif-ownership
7548
7549 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7550
7551         * keymap.c (get_keymap):
7552         Add comment about do_autoload GCPROs own args.
7553
7554 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7555
7556         * bytecode.c (execute_optimized_program): check_opcode ifdef
7557         ERROR_CHECK_BYTE_CODE.
7558
7559 2002-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
7560
7561         Thanks to Ben Wing and Michael Sperber.
7562
7563         * eval.c (Fcommand_execute):
7564         (Feval):
7565         (Ffuncall):
7566         (Fmacroexpand_internal):
7567         (function_argcount):
7568         callint.c (Fcall_interactively):
7569         Add comment about do_autoload GCPROs own args.
7570
7571         * (do_autoload): GCPRO both args as well as local Lisp_Object.
7572
7573         * eval.c (Ffuncall): Extra braces to placate GCC.
7574
7575 2002-08-10  Stephen J. Turnbull  <stephen@xemacs.org>
7576
7577         * backtrace.h (grow_specpdl):
7578         (SPECPDL_RESERVE):
7579         * EmacsFrame.c (EmacsFrameSetValues):
7580         * eval.c (grow_specpdl):
7581         * ExternalShell.c (hack_event_masks_1):
7582         * glyphs-x.c (convert_EImage_to_XImage): 
7583         (x_finalize_image_instance):
7584         * ralloc.c (page_size):
7585         (r_alloc_sbrk):
7586         * xgccache.c (gc_cache_hash):
7587         Fix unsigned comparison warnings.
7588
7589 2002-07-29  Jerry James  <james@xemacs.org>
7590
7591         * lread.c (locate_file): Any nonnegative return value indicates
7592         success if MODE is nonnegative.
7593
7594 2002-08-03  Brian A Palmer  <bpalmer@rescomp.Stanford.EDU>
7595
7596         * emacs.c (Fsplit_string_by_char): Make 2nd arg SEPCHAR a required
7597         argument. 
7598
7599 2002-07-17  Stephen J. Turnbull  <stephen@xemacs.org>
7600
7601         * process-unix.c (unix_send_process): #ifdef the coding_stream member.
7602
7603         * dumper.c (pdump_get_indirect_count):
7604         (pdump_scan_by_alignment):
7605         (pdump_dump_root_struct_ptrs):
7606         (pdump_dump_rtables):
7607         (pdump_dump_root_objects):
7608         (pdump):
7609         * nas.c (WaveOpenDataForReading):
7610         * fns.c (print_bit_vector):
7611         * font-lock.c (SINGLE_SYNTAX_STYLE):
7612         * glyphs.c (check_for_ignored_expose):
7613         (find_matching_subwindow):
7614         * glyphs-eimage.c:
7615         * imgproc.c (get_histogram):
7616         * redisplay.c (point_in_line_start_cache):
7617         * redisplay-output.c (redisplay_unmap_subwindows):
7618         * symbols.c (defsymbol_massage_name_1):
7619         (defkeyword_massage_name):
7620         (deferror_massage_name_and_message):
7621         * redisplay-x.c (x_output_string): 
7622         * emacs.c (run_temacs_argv_size, run_temacs_args_size):
7623         * frame.h (struct frame):
7624         * filelock.c (current_lock_owner):
7625         * doprnt.c (emacs_doprnt_1):
7626         * lisp.h (struct Lisp_Bit_Vector):
7627         (DO_REALLOC):
7628         Fix warnings.
7629
7630 2002-02-13  Ben Wing  <ben@xemacs.org>
7631
7632         * event-stream.c (reset_key_echo):
7633         * event-stream.c (reset_this_command_keys):
7634         * event-stream.c (execute_command_event):
7635         If console is dead as a result of C-x 5 0, then post-command stuff
7636         needs to be careful and do only non-console-specific stuff.
7637
7638 2002-07-01  Mike Sperber <mike@xemacs.org>
7639
7640         * process-unix.c (unix_send_process): Mark coding_outstream as
7641         non-open upon SIGPIPE.
7642
7643         * event-stream.c (Fnext_event): Reorder switch cases to something
7644         that makes sense.
7645
7646 2001-08-13  Dmitry Astapov  <adept@umc.com.ua>
7647
7648         * event-Xt.c (maybe_define_x_key_as_self_inserting_character):
7649         Don't bogusly reinitialize ascii_character property.
7650
7651 2002-07-08  Mike Sperber <mike@xemacs.org>
7652
7653         * process.c (Fstart_process_internal): Do error checking before we
7654         fork off the child, so the child can't muck with the state of the
7655         parent.
7656
7657 2002-07-08  Mike Sperber <mike@xemacs.org>
7658
7659         * ralloc.c (init_ralloc): Allocate properly for pdump.
7660
7661 2002-06-12  Andy Piper  <andy@xemacs.org>
7662
7663         * glyphs.c (query_string_geometry): check the string.
7664
7665         * glyphs-widget.c (widget_logical_unit_height): cope with nil
7666         widget names.
7667
7668 2002-06-17  Jerry James  <james@xemacs.org>
7669
7670         * sysdll.c: Remove RTLD_GLOBAL initialization.
7671         * sysdll.c (dll_open): Do not use RTLD_GLOBAL.
7672
7673 2002-06-25  Stephen J. Turnbull  <stephen@xemacs.org>
7674
7675         * search.c (skip_chars): Port Ben's crash fix and efficiency patch.
7676
7677 2002-05-16  Mathias Grimmberger  <mgri@zaphod.sax.de>
7678
7679         * sysdep.c (sys_rename): Make sys_rename work for the case where
7680         Windows rename sets errno to EACCES if target file exists.
7681
7682 2002-05-21  Jonathan Harris  <jonathan@xemacs.org>
7683
7684         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7685         Fix detection of metric units to work on Win95
7686
7687 2002-05-21  Stephen J. Turnbull  <stephen@xemacs.org>
7688
7689         * syswindows.h: #define LOCALE_RETURN_NUMBER.  Why, I don't know.
7690
7691 2002-04-25  Andy Piper  <andy@xemacs.org>
7692
7693         * redisplay.c (create_text_block): Remove extra comment trailer.
7694
7695 2002-04-24  Andy Piper  <andy@xemacs.org>
7696
7697         * redisplay.c (create_text_block): Don't actually add propagation
7698         data if the line ends after we have added a glyph.
7699
7700 2002-04-22  Andy Piper  <andy@xemacs.org>
7701
7702         * extents.c (extent_fragment_update): check for glyphs we have
7703         previously displayed.
7704         * extents.c (print_extent_1): warning removal.
7705         * extents.h: change prototype.
7706         * redisplay-output.c (redisplay_normalize_glyph_area): calculate
7707         widths correctly for wide glyphs.
7708         * redisplay.c (position_redisplay_data_type): add end_glyph_width.
7709         * redisplay.c (prop_type): add PROP_GLYPH.
7710         * redisplay.c (struct prop_block): add glyph type
7711         * redisplay.c (add_glyph_rune): when adding part of a glyph add it
7712         to the propagation data.
7713         * redisplay.c (create_text_block): if there is a glyph in the
7714         propagation data use it to salt extent_fragment_update.
7715         * redisplay.c (create_string_text_block): ditto.
7716
7717 2002-04-13  Nix  <nix@esperi.demon.co.uk>
7718
7719         * redisplay.h (struct rune): Add ascent, descent, and yoffset fields.
7720         * redisplay-output.c (compare_runes): Compare them.
7721         * redisplay.c: Update copyright date.
7722         * redisplay.c (pos_data): Add need_baseline_computation field.
7723         * redisplay.c (add_glyph_rune): Update ascent, descent, and
7724         need_baseline_computation; zero yoffset. Set max_pixmap_height
7725         for all pixmaps, not just automatically positioned ones.
7726         * redisplay.c (calculate_yoffset): New, compute yoffset values.
7727         * redisplay.c (calculate_baseline): New, compute textual baseline.
7728         * redisplay.c (add_glyph_rune): Call them.
7729         * redisplay.c (create_text_block): Likewise.
7730         * redisplay.c (create_overlay_glyph_block): Likewise.
7731         * redisplay.c (add_margin_runes): Likewise.
7732         * redisplay.c (create_string_text_block): Likewise. Fix tabdamage.
7733
7734         * redisplay.h: (redisplay_calculate_display_boxes): Change prototype.
7735         * redisplay-output.c (redisplay_calculate_display_boxes): Use yoffset.
7736         * redisplay-msw.c (mswindows_output_blank): Pass 0 as yoffset.
7737         * redisplay-msw.c (mswindows_output_string): Likewise.
7738         * redisplay-msw.c (mswindows_output_display_block): Pass yoffset.
7739         * redisplay-gtk.c (gtk_output_display_block): Likewise.
7740         * redisplay-x.c (x_output_display_block): Likewise.
7741
7742 2002-03-28  Ben Wing  <ben@xemacs.org>
7743
7744         * redisplay.c: Fixed bug in redisplay
7745         w.r.t. hscroll/truncation/continuation glyphs causing jumping up
7746         and down of the lines, since they're bigger than the line
7747         size. (It was seen most obviously when there's a horizontal scroll
7748         bar, e.g. do C-h a glyph or something like that.) The problem was
7749         that the glyph-contrib-p setting on glyphs was ignored even if it
7750         was set properly, which it wasn't until now.
7751
7752 2002-04-24  Andy Piper  <andy@xemacs.org>
7753
7754         * lisp.h (Dynarr_end): Fix definition.
7755
7756 2002-02-06  Adrian Aichner  <adrian@xemacs.org>
7757
7758         * redisplay.c (mark_redisplay): Remove call to
7759         update_frame_window_mirror.
7760
7761 2001-11-15  Andy Piper  <andy@xemacs.org>
7762
7763         * win32.c (Fmswindows_shell_execute): fix handling of URL's under
7764         cygwin (again).
7765
7766 2002-02-13  Andy Piper  <andy@xemacs.org>
7767
7768         * event-msw.c (mswindows_wnd_proc): only mark the frame visible if
7769         we did in fact enqueue the XM_MAPFRAME event.
7770
7771 2002-01-15  Adrian Aichner  <adrian@xemacs.org>
7772
7773         * event-msw.c (mswindows_wnd_proc): Add handling of WM_SHOWWINDOW
7774         to fix problem switching between virtual desktops under virtuawin
7775         virtual window manager.
7776
7777 2001-07-30  Adrian Aichner  <adrian@xemacs.org>
7778
7779         * event-msw.c: Typo fix.
7780         * event-msw.c (mswindows_wnd_proc): Set FRAME_VISIBLE_P after
7781         magic XM_MAPFRAME event has been sent.
7782
7783 2001-11-23  Andy Piper  <andy@xemacs.org>
7784
7785         * event-msw.c (mswindows_wnd_proc): Don't pump mousewheel events.
7786
7787 2001-11-21  Andy Piper  <andy@xemacs.org>
7788
7789         * scrollbar-msw.c (mswindows_handle_mousewheel_event): cope with
7790         mouse events outside the frame.
7791
7792 2002-03-20  Andy Piper  <andy@xemacs.org>
7793
7794         * menubar-msw.c (mswindows_popup_menu): warning removal.
7795         * dialog-msw.c (dialog_popped_down): ditto.
7796
7797 2001-12-11  Andy Piper  <andy@xemacs.org>
7798
7799         * dialog-msw.c (dialog_popped_down): new function. unset popup_up_p.
7800         * dialog-msw.c (mswindows_make_dialog_box_internal): set
7801         popup_up_p.
7802         * menubar-msw.c (unsafe_handle_wm_initmenupopup_1): ditto.
7803         * menubar-msw.c (mswindows_handle_wm_command): ditto.
7804         * menubar-msw.c (mswindows_popup_menu): ditto.
7805
7806 2001-10-29  Andy Piper  <andy@xemacs.org>
7807
7808         * dialog-msw.c (handle_directory_dialog_box): quit if the user
7809         cancels.
7810
7811 2002-01-03  Andy Piper  <andy@xemacs.org>
7812
7813         * realpath.c (ABS_LENGTH): dtrt for cygwin systems using drive
7814         letters.
7815         (xrealpath): ditto.
7816
7817 2002-03-29  Jonathan Harris  <jonathan@xemacs.org>
7818
7819         * device-msw.c (plist_get_margin): Add arg specifying mm or inches
7820         * device-msw.c (plist_set_margin): Fix multiplicand used for mm
7821         * device-msw.c (mswindows_handle_page_setup_dialog_box):
7822         Detect and handle case where machine is set up for metric units
7823
7824 2002-04-02  Andy Piper  <andy@xemacs.org>
7825
7826         * dired-msw.c (mswindows_get_files): 
7827         * nt.c (mswindows_stat): SetErrorMode() so that file errors are
7828         completely handled by XEmacs. Suggested by Thomas Vogler
7829         <mail@thomas-vogler.de>.
7830
7831 2001-11-14  Andy Piper  <andy@xemacs.org>
7832
7833         * nt.c (REG_ROOT): change registry key to XEmacs.
7834
7835 2002-04-27  Andy Piper  <andy@xemacs.org>
7836
7837         * glyphs-msw.c (mswindows_widget_instantiate): remove dead-code.
7838
7839 2002-04-26  Andy Piper  <andy@xemacs.org>
7840
7841         * glyphs-msw.c (mswindows_map_subwindow): observe :initial-focus
7842         behavior.
7843
7844 2002-03-14  Mike Alexander  <mta@arbortext.com>
7845
7846         * event-msw.c (mswindows_unwait_process): New, remove process from
7847         wait list
7848         * process-nt.c (nt_finalize_process_data): Call
7849         mswindows_unwait_process
7850         * console-msw.h: Declare mswindows_unwait_process
7851
7852 2002-05-14  Stephen J. Turnbull  <stephen@xemacs.org>
7853
7854         * editfns.c (Fdecode_time):
7855         (Fformat_time_string):
7856         Check for invalid time.  Thanks to Nick Pakoulin <npak@ispras.ru>.
7857         (make_time): Warning elimination (change arg name).
7858
7859 2001-11-24  Andy Piper  <andy@xemacs.org>
7860
7861         * window.c (Fsplit_window): Doc return type.
7862
7863 2002-04-01  Andy Piper  <andy@xemacs.org>
7864
7865         * emacs.c (Fkill_emacs): Only output message box in interactive
7866         mode.
7867
7868 2002-04-26  Andy Piper  <andy@xemacs.org>
7869  
7870         * config.h.in: pull in 21.5.x change to stop alloca warnings under
7871         cygwin.
7872
7873 2002-03-18  Gregory Steuck  <greg-xemacs-patch@nest.cx>
7874
7875         * unexelf.c:  Use ELFSIZE or define from _LP64 to indicate a 64
7876         bit platform.
7877
7878 2002-05-09  Stephen J. Turnbull  <stephen@xemacs.org>
7879
7880         * XEmacs 21.4.8 "Honest Recruiter" is released.
7881
7882 2002-05-07  Nix  <nix@esperi.demon.co.uk>
7883
7884         Supersedes 2002-04-17 patch.
7885
7886         * process.h (PROCESS_LIVE_P): Use the process status as
7887         evidence of health, not the state of the input stream.
7888         (PROCESS_READABLE_P): Say if the process is readable
7889         from. (It may be dead nonetheless.)
7890         (CHECK_READABLE_PROCESS): Test for that condition.
7891
7892         * process.c (create_process): Use PROCESS_READABLE_P.
7893         (read_process_output, set_process_filter): Likewise.
7894
7895         * process.c (Fprocess_input_coding_system): Use CHECK_READABLE_PROCESS.
7896         (Fset_process_input_coding_system, Fprocess_coding_system): Likewise.
7897
7898         This code is #if 0'd, this is not the time to add new functions:
7899
7900         * process.c (Fprocess_readable_p): Report readability status.
7901         * process.c (Qprocess_readable_p): New, associated symbol...
7902         * process.c (syms_of_process): ... initialize it.
7903
7904 2002-05-04  Stephen J. Turnbull  <stephen@xemacs.org>
7905
7906         * XEmacs 21.4.7 "Economic Science" is released.
7907
7908 2002-04-17  Nix  <nix@esperi.demon.co.uk>
7909
7910         * process.h (PROCESS_LIVE_P): Use the process status as
7911         evidence of health, not the state of the input stream.
7912
7913 2002-04-30  Charles G. Waldman <cgw@xemacs.org>
7914
7915         * sysdep.c (sys_siglist): change "signum" to "signal"
7916
7917 2001-04-21  Martin Buchholz  <martin@xemacs.org>
7918
7919         * s/darwin.h: New file.
7920         Thanks to Greg Parker <gparker@cs.stanford.edu>.
7921         
7922 2002-04-23  Andreas Jaeger  <aj@suse.de>
7923
7924         * s/linux.h (LIB_STANDARD): Define correctly for x86-64 and s390x
7925         which use lib64 for 64-bit libs.
7926         (START_FILES): Likewise.
7927
7928 2002-02-11  Mike Sperber  <mike@xemacs.org>
7929
7930         * device-x.c: 
7931         (x_IO_error_handler):
7932         (x_init_device): Temporarily keep device in static variable
7933         `device_being_initialized' so we can recover gracefully from
7934         internal XOpenDevice failure.  (XOpenDevice is documented to
7935         return NULL on failure, but sometimes calls the IO error handler
7936         instead.)
7937
7938 2002-01-31  John H. Palmieri  <palmieri@math.washington.edu>
7939
7940         * dired.c (Ffile_name_all_completions): Change documentation --
7941         remove reference to completion-ignored-extensions.
7942         * dired.c (vars_of_dired): Change documentation for
7943         completion-ignored-extensions -- remove reference to
7944         file-name-all-completions.
7945
7946 2002-03-06  Jerry James  <james@xemacs.org>
7947
7948         * emodules.c (emodules_load): Fix multiple loading of same module.
7949
7950 2002-01-25  Andrew Begel <abegel@cs.berkeley.edu>
7951         * sysdll.c (dll_open): Changed to use RTLD_NOW instead of
7952         RTLD_LAZY to avoid incorrect symbol binding when using nested
7953         shared libraries on Solaris.
7954
7955 2002-02-12  Stephen J. Turnbull  <stephen@xemacs.org>
7956
7957         * fileio.c (Ffind_file_name_handler): Improve docstring.
7958
7959 2002-01-20  Stephen J. Turnbull  <stephen@xemacs.org>
7960
7961         * fns.c (Fmapconcat): Improve docstring.
7962
7963 2002-01-03  Eric Gillespie, Jr.  <epg@pretzelnet.org>
7964
7965         * device-gtk.c: Add prototype for
7966         emacs_gtk_selection_clear_event_handle.
7967         (gtk_init_device): Call gtk_selection_add_target for CLIPBOARD
7968         selection.  Setup signal handler for "selection_clear_event"
7969         (emacs_gtk_selection_clear_event_handle).
7970
7971         * select-gtk.c (emacs_gtk_selection_clear_event_handle): Handle
7972         other applications owning the clipboard (based on
7973         x_handle_selection_clear).
7974
7975 2001-12-23  William M. Perry  <wmperry@gnu.org>
7976
7977         * menubar-gtk.c (gtk_popup_menu)  Add sanity checks, fix crash.
7978         
7979 2002-01-04  Martin Buchholz  <martin@xemacs.org>
7980
7981         * keymap.c (define_key_alternate_name): Parenthesize EQ.
7982
7983 2001-12-17  Stephen J. Turnbull  <stephen@xemacs.org>
7984
7985         * XEmacs 21.4.6 "Common Lisp" is released.
7986
7987 2001-12-16  Torsten Duwe  <duwe@caldera.de>
7988
7989         * search.c (Freplace_match): Add missing sub-expression functionality.
7990
7991         * buffer.c (decode_buffer): Add a check for pointer type to
7992         decode_buffer, before gcc's CSE optimization reorders a
7993         dereference in front of the allow_string test.
7994
7995 2001-11-16  Darryl Okahata  <darrylo@xemacs.org>
7996
7997         * window.c (window_loop): Fix bug that sometimes prevented
7998         window_loop() from iterating across multiple devices.  Also, at
7999         Ben's request, changed infloop-detecting code to abort() instead
8000         of silently terminating window_loop().
8001
8002 2001-11-21  Stephen J. Turnbull  <stephen@xemacs.org>
8003
8004         Based on analysis and patch by Simon Josefson <jas@extundo.com>.
8005         * editfns.c (make_time): New function.
8006         (Fencode_time): Use it instead of wasteful_word_to_lisp.
8007         * lisp.h (make_time): Prototype and comment it.
8008         * dired.c (wasteful_word_to_lisp): Deprecate.
8009         (Ffile_attributes): Use make_time() instead of wasteful_word_to_lisp().
8010
8011 2001-10-31  Kyle Jones  <kyle_jones@wonderworks.com>
8012
8013         * fileio.c (auto_save_1): Use current coding system, not
8014         escape-quoted.
8015
8016 2001-11-13  Ben Wing  <ben@xemacs.org>
8017
8018         * window.c:
8019         * window.c (window_truncation_on):
8020         * window.c (syms_of_window):
8021         truncate-partial-width-windows should respect the buffer being
8022         displayed, like other redisplay vars.
8023
8024 2001-11-13  Hirokazu FUKUI  <hfukui@sannet.ne.jp>
8025
8026         * event-stream.c (Fread_key_sequence): save current buffer.
8027
8028 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8029
8030         * ntheap.c (_heap_init): Don't redefine in VS.NET (MSC >= 1300).
8031
8032 2001-10-29  Andrew Begel  <abegel@eecs.berkeley.edu>
8033
8034         * alloc.c (lcrecord_stats): Add space for types defined in modules.
8035
8036 2001-10-26  Mike Alexander  <mta@arbortext.com>
8037
8038         * event-msw.c (slurper_free_shared_data_maybe): Free the pipe handle.
8039
8040 2001-10-25  Andy Piper  <andy@xemacs.org>
8041
8042         * ChangeLog:
8043         * dialog-msw.c (handle_directory_proc): new function.
8044          (handle_directory_dialog_box): new fucntion.
8045          (handle_file_dialog_box): use new directory dialog support.
8046          (mswindows_make_dialog_box_internal): ditto.
8047         * event-msw.c (mswindows_wnd_proc): minor fix to scrollbar event
8048         handling.
8049         (mswindows_find_frame): make global.
8050         * fileio.c (Fexpand_file_name): build fix.
8051         * general-slots.h: add Qdirectory.
8052         * scrollbar-msw.c (mswindows_handle_scrollbar_event): fix focus
8053         handling.
8054         * syswindows.h (LOCAL_TO_WIN32_FILE_FORMAT): fix problem with
8055         cygwin not leaving win32 paths unchanged.
8056         * win32.c (Fmswindows_cygwin_to_win32_path): new function. Use the
8057         cygwin runtime to do path conversion.
8058         (Fmswindows_shell_execute): fix cygwin handling of URLs.
8059         (syms_of_win32): add new function.
8060         * window.c (window_loop): build fix.
8061
8062 2001-10-15  Andy Piper  <andy@xemacs.org>
8063
8064         (Fmswindows_shell_execute): fix handling of URL's under cygwin.
8065
8066 2001-10-23  Stephen J. Turnbull  <stephen@xemacs.org>
8067
8068         * XEmacs 21.4.5 "Civil Service" is released.
8069
8070 2001-04-08  Danny Colascione  <qtmstr@optonline.net>
8071
8072         * glyphs-x.c: Force buffer-tab highlight update when moving the
8073         buffer, avoiding an ugly black border, used for keyboard focus
8074         indication, on a widget that can never have keyboard focus, the
8075         buffer tab.
8076
8077 2001-08-30  Daiki Ueno  <ueno@unixuser.org>
8078
8079         * process-unix.c (unix_open_multicast_group): Remove too much
8080         conversion between host and network byte order.
8081
8082 2001-09-10  Nix  <nix@esperi.demon.co.uk>
8083
8084         * src/buffer.c (kill_buffer): Undedicate windows showing BUF
8085         before replacing them.
8086
8087         * src/window.c (window_loop): Implement new UNDEDICATE_BUFFER
8088         operation.
8089
8090         * src/window.c (undedicate_windows): Use it.
8091         * src/window.h: Add prototype.
8092
8093 2001-09-17  Ben Wing  <ben@xemacs.org>
8094
8095         * fileio.c (normalize_filename):
8096         * fileio.c (Fexpand_file_name):
8097         Fix various C++ compile errors in Andy's recent code.
8098         
8099         * callint.c (Fcall_interactively):
8100         * editfns.c (Ftemp_directory):
8101         * editfns.c (Fuser_full_name):
8102         * emacs.c (argmatch):
8103         * lread.c (locate_file_map_suffixes):
8104         * redisplay-x.c (x_ring_bell):
8105         Fix sign-compare warnings.
8106         
8107 2001-09-08  Andy Piper  <andy@xemacs.org>
8108
8109         * fileio.c (normalize_filename): copied from nt.c
8110         * (Ffile_name_directory): enable win32 paths under cygwin.
8111         * (Ffile_name_nondirectory): ditto.
8112         * (directory_file_name): ditto.
8113         * (Fexpand_file_name): ditto.
8114         * (Ffile_truename): ditto.
8115         * (Fsubstitute_in_file_name): ditto.
8116         * (Ffile_name_absolute_p): ditto.
8117         * (Ffile_readable_p): ditto.
8118
8119 2001-09-08  Andy Piper  <andy@xemacs.org>
8120
8121         * device-msw.c (mswindows_finish_init_device): remove dde
8122         initialization.
8123         * device-msw.c (mswindows_init_dde): factor out from
8124         mswindows_finish_init_device()
8125         * device-msw.c (init_mswindows_very_early): new function
8126         initialize but don't enable dde.
8127         * emacs.c (main_1): call init_mswindows_very_early.
8128         * event-msw.c:
8129         * event-msw.c (mswindows_dde_callback): only execute when we are
8130         ready.
8131         * symsinit.h: declare init_mswindows_very_early.
8132
8133 2001-05-02  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8134
8135         [sjt: This has been in 21.5 for months with no complaints.]
8136
8137         * console.h (struct console_methods): Added flags member.
8138         (CONSOLE_IMPLEMENTATION_FLAGS): Defined.
8139         (CONMETH_IMPL_FLAG):
8140         (CONSOLE_IMPL_FLAG): Macro to check implememntation flags.
8141         Defined XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8142
8143         * device.c (window_system_pixelated_geometry): Use the above macros.
8144
8145         * device.h (DEVICE_IMPL_FLAG): Macro to check a device
8146         implememntation flag.
8147         * device.h (DEVICE_DISPLAY_P): Use it.
8148
8149         * frame.c (delete_frame_internal): Use the above macro.
8150
8151         * redisplay.c (redisplay_device): Use it.
8152         (redisplay_device): Obey XDEVIMPF_DONT_PREEMPT_REDISPLAY.
8153         (redisplay_frame): Ditto.
8154
8155         * device-msw.c (mswindows_device_implementation_flags): Removed.
8156         (msprinter_device_implementation_flags): Removed.
8157         (console_type_create_device_mswindows): Removed references to
8158         implementation_flags methods, set implementation flags here.
8159         (console_type_create_device_mswindows): Added XDEVIMPF_DONT_PREEMPT.
8160
8161         * device-gtk.c (gtk_device_implementation_flags): Removed method.
8162         (console_type_create_device_gtk): Removed method declaration.
8163         Added commented out statement which semantically matches the
8164         commented out statement in the above removed method.
8165
8166 2001-04-14  Gordon Sadler  <gbsadler1@lcisp.com>
8167
8168         The attached patch fixes a few warnings. 
8169
8170         * src/emacs.c: prototype console_type_create_select_gtk for GTK only
8171         * src/frame-gtk.c: guard against GNOME calls in GTK only
8172         * src/redisplay-gtk.c: include <sys/poll.h> #ifdef HAVE_POLL
8173         * src/select-gtk.c: prototype lisp_to_time
8174
8175 2001-06-08  Ben Wing  <ben@xemacs.org>
8176
8177         ------ gc-in-window-procedure fixes ------
8178         
8179         * alloc.c:
8180         * alloc.c (struct post_gc_action):
8181         * alloc.c (register_post_gc_action):
8182         * alloc.c (run_post_gc_actions):
8183         * alloc.c (garbage_collect_1):
8184         Create "post-gc actions", to avoid those dreaded "GC during window
8185         procedure" problems.
8186
8187         * event-msw.c:
8188         Abort, clean and simple, when GC in window procedure.  We want
8189         to flush these puppies out.
8190
8191         * glyphs-msw.c:
8192         * glyphs-msw.c (finalize_destroy_window):
8193         * glyphs-msw.c (mswindows_finalize_image_instance):
8194         Use a post-gc action when destroying subwindows.
8195
8196         * lisp.h:
8197         Declare register_post_gc_action().
8198
8199         * scrollbar-msw.c:
8200         * scrollbar-msw.c (unshow_that_mofo):
8201         Use a post-gc action when unshowing scrollbar windows, if in gc.
8202
8203         * redisplay.c (mark_redisplay):
8204         Add comment about the utter evilness of what's going down here.
8205
8206         ------ cygwin setitimer fixes ------
8207         
8208         * Makefile.in.in (sheap_objs):
8209         * Makefile.in.in (profile_objs):
8210         * Makefile.in.in (objs):
8211         Compile profile.c only when HAVE_SETITIMER.
8212         
8213         * nt.c (mswindows_sigset):
8214         * nt.c (mswindows_sighold):
8215         * nt.c (mswindows_sigrelse):
8216         * nt.c (mswindows_sigpause):
8217         * nt.c (mswindows_raise):
8218         * nt.c (close_file_data):
8219         Style fixes.
8220         
8221         * nt.c:
8222         Move setitimer() emulation to win32.c, because Cygwin needs it too.
8223         
8224         * profile.c:
8225         * profile.c (Fstart_profiling):
8226         * profile.c (Fstop_profiling):
8227         Make sure we don't compile if no setitimer().  Use qxe_setitimer()
8228         instead of just plain setitimer().
8229         
8230         * signal.c:
8231         * signal.c (set_one_shot_timer):
8232         * signal.c (alarm):
8233         Define qxe_setitimer() as an encapsulation around setitimer() --
8234         call setitimer() directly unless Cygwin or MS Win, in which case
8235         we use our simulated version in win32.c.
8236         
8237         * systime.h:
8238         * systime.h (struct itimerval):
8239         * systime.h (ITIMER_REAL):
8240         Prototype mswindows_setitimer() and qxe_setitimer().  Long
8241         comment about "qxe" and the policy regarding encapsulation.
8242
8243         * win32.c:
8244         * win32.c (setitimer_helper_proc):
8245         * win32.c (setitimer_helper_period):
8246         * win32.c (setitimer_helper):
8247         * win32.c (mswindows_setitimer):
8248         Move setitimer() emulation here, so Cygwin can use it.
8249         Rename a couple of functions and variables to be longer and more
8250         descriptive.  In setitimer_helper_proc(), send the signal
8251         using either mswindows_raise() or (on Cygwin) kill().  If for
8252         some reason we are still getting lockups, we'll change the kill()
8253         to directly invoke the signal handlers.
8254
8255         ------ windows shell fixes ------
8256         
8257         * callproc.c:
8258         * ntproc.c:
8259         Comments about how these two files must die.
8260
8261         * callproc.c (init_callproc):
8262         On MS Windows, init shell-file-name from SHELL, then COMSPEC,
8263         not just COMSPEC. (more correct and closer to FSF.) Don't
8264         force a value for SHELL into the environment. (Comments added
8265         to explain why not.)
8266         
8267         * nt.c (init_user_info):
8268         Don't shove a fabricated SHELL into the environment.  See above.
8269
8270 2001-06-01  Ben Wing  <ben@xemacs.org>
8271
8272         * Makefile.in.in (ldflags):
8273         eliminate that pesky "defaulting to 00401000" warning.
8274         * nt.h:
8275         eliminate warnings.
8276
8277 2001-06-15  Golubev I. N.  <gin@mo.msk.ru>
8278
8279         * s/sco5.h (FORCE_ALLOCATE_PTY_THE_OLD_FASHIONED_WAY): #define.
8280         * process-unix.c (allocate_pty): #ifndef "modern" pty allocation.
8281
8282 2001-04-24  Jerry James <james@xemacs.org>
8283
8284         * faces.h: pass parameters to Fadd_spec_to_specifier in the
8285         correct order.
8286
8287 2001-06-01  Ben Wing  <ben@xemacs.org>
8288
8289         * event-msw.c (debug_mswin_messages):
8290         conditionalize the messages that were causing compile errors.
8291         (if only macros could generate #ifdef statements ...)
8292
8293 2001-07-28  Stephen J. Turnbull  <stephen@xemacs.org>
8294
8295         * XEmacs 21.4.4 "Artificial Intelligence" is released.
8296
8297 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8298
8299         * event-msw.c (mswindows_wnd_proc): Add GC debugging assert.
8300
8301 2001-07-22  Stephen J. Turnbull  <stephen@xemacs.org>
8302
8303         * config.h.in (IPV6_CANONICALIZE): New #define for --with-ipv6-lookup.
8304         * process-unix.c (unix_canonicalize_host_name):
8305         sysdep.c (init_system_name):
8306         Use it to conditionally support IPv6 canonicalization.
8307
8308 2001-05-31  Paul Stodghill  <stodghil@cs.cornell.edu>
8309
8310         * event-msw.c:
8311         Cygwin does not define WM_IME_xxx. Modify the #if's accordingly.
8312
8313 2001-05-19  Paul Krause  <paulkrause1@mediaone.net>
8314
8315         * scrollbar-msw.c: Fixes a crash that occurs on Windows when an
8316         attempt is made to scroll when no scroll bar is available.
8317
8318 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8319
8320         * input-method-motif.c (XIM_delete_frame): New callback.
8321         (XIM_init_frame): Register it.  (Reapplied by SJT, it somehow
8322         got deleted from 21.4.3.)
8323
8324 2001-06-01  Ben Wing  <ben@xemacs.org>
8325
8326         * nt.c (mswindows_utime):
8327         * nt.c (close_file_data):
8328         fix off-by-one-indirection error.
8329
8330 2001-05-29  Adrian Aichner  <adrian@xemacs.org>
8331
8332         * fileio.c: Include nt.h.  Remove lisp_string_set_file_times()
8333         because set_file_times() now takes Lisp_Object path, instead of
8334         char*.
8335         * nt.c: Include buffer.h.
8336         * nt.c (convert_from_time_t): New.
8337         * nt.c (mswindows_utime): New.  Use utime, since SetFileTime does
8338         not set mtime correctly.
8339         * nt.h: Declare mswindows_utime().
8340         * sysdep.c (set_file_times): set_file_times() now takes Lisp_Object
8341         path, instead of char*.
8342         * systime.h: Include <sys/utime.h> on WIN32_NATIVE.
8343
8344 2001-05-30  Ben Wing  <ben@xemacs.org>
8345
8346         For 21.4:
8347
8348         (Stephen, just take all event-msw.c patches.  This includes
8349         the "iconify" fix below.)
8350
8351         * event-msw.c:
8352         * event-msw.c (mswindows_dequeue_dispatch_event):
8353         * event-msw.c (assert):
8354         * event-msw.c (emacs_mswindows_quit_p):
8355         * event-msw.c (debug_mswin_messages):
8356         * event-msw.c (debug_output_mswin_message):
8357         * event-msw.c (vars_of_event_mswindows):
8358         Fix yet more problems with C-g handling.
8359         Implement debug-mswindows-events.
8360         
8361 2001-05-24  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
8362
8363         * event-msw.c (WM_DROPFILES): Use correct type for OLE characters.
8364         
8365 2001-05-23  Ben Wing  <ben@xemacs.org>
8366
8367         * event-msw.c (winsock_writer):
8368         * event-msw.c (winsock_closer):
8369         prior kludgy code was clobbering the buffer, thinking it was
8370         "unused" space to store an unneeded return value; instead, use
8371         the variable we've already got staring us in the face.
8372
8373 2001-05-17  Andy Piper  <andy@xemacs.org>
8374
8375         * sysfile.h: don't assume that file attributes are boolean
8376
8377 2001-05-23  Ben Wing  <ben@xemacs.org>
8378
8379         * device-msw.c (msprinter_init_device):
8380         signal an error rather than crash with an unavailable network
8381         printer (from Mike Alexander).
8382         
8383         * event-msw.c:
8384         * event-msw.c (struct winsock_stream):
8385         * event-msw.c (winsock_writer):
8386         * event-msw.c (winsock_closer):
8387         * event-msw.c (make_winsock_stream_1):
8388         cleanup headers.  fix (hopefully) an error with data corruption
8389         when sending to a network connection.
8390
8391         * fileio.c (Fexpand_file_name): Fix evil code that attempts
8392         to handle the ~user prefix by (a) always assuming we're referencing
8393         ourselves and not even verifying the user -- hence any file with
8394         a tilde as its first char is invalid! (b) if there wasn't a slash
8395         following the filename, the pointer was set *past* the end of
8396         file and we started reading from uninitialized memory.  Now we
8397         simply treat these as files, always.
8398
8399         * buffer.c (common_init_complex_vars_of_buffer): comment change.
8400         
8401 2001-05-19  Ben Wing  <ben@xemacs.org>
8402
8403         * eval.c: doc comment about gcpro'ing in record_unwind_protect.
8404
8405         * process-nt.c:
8406         * process-nt.c (vars_of_process_nt):
8407         remove unused mswindows-quote-process-args.  rec for 21.4.
8408         
8409 2001-05-12  Ben Wing  <ben@xemacs.org>
8410
8411         * event-msw.c (mswindows_dde_callback):
8412         * event-msw.c (mswindows_wnd_proc):
8413         eliminate cygwin warnings.
8414
8415 2001-05-06  Ben Wing  <ben@xemacs.org>
8416
8417         * console-msw.h:
8418         * device-msw.c:
8419         * device-msw.c (print_dialog_worker):
8420         * device-msw.c (mswindows_handle_print_dialog_box):
8421         * device-msw.c (syms_of_device_mswindows):
8422         * dialog-msw.c (mswindows_make_dialog_box_internal):
8423         * general-slots.h:
8424         implement printing the selection when it's selected.
8425
8426 2001-05-20  Drazen Kacar  <dave@arsdigita.com>
8427
8428         * glyphs-gtk.c (gtk_resource_instantiate): C++ comment -> #if 0
8429
8430 2001-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
8431
8432         * lisp.h (EMACS_INT_MAX): This should be one bit less since
8433         EMACS_INT is signed.
8434
8435 2001-04-15  Michael Lausch  <mla@1012surf.net>
8436
8437         * scrollbar-gtk.c (gtk_create_scrollbar_instance): Call
8438         gtk_widget_request_size() to give scrollbar >0 width for
8439         GTK >1.2.8.
8440
8441 2001-05-30  William M. Perry  <wmperry@gnu.org>
8442
8443         * event-gtk.c: Check for buttons as modifier keys.
8444
8445 2001-05-25  Craig Lanning  <CraigL@Knology.net>
8446
8447         * s\mingw32.h:
8448         Properly find MinGW's <process.h> inside Cygwin's restructured
8449         include directories.  Don't try to include <cygwin/version.h>
8450         since we are dropping support for MinGW in versions of Cygwin
8451         earlier than b21.
8452         * nt.c:
8453         Drop support for MinGW in versions of Cygwin before b21.
8454         * sysdep.c:
8455         Properly find MinGW's <process.h> inside Cygwin's restructured
8456         include directories.
8457         * syswindows.h:
8458         Drop support for MinGW in versions of Cygwin before b21.
8459         * unexcw.c:
8460         Even though a.out.h is no longer detected by configure, allow
8461         MinGW to use it until we figure out how to do the job with Win32.
8462
8463 2001-07-11  Matt Tucker  <tuck@whistlingfish.net>
8464
8465         * syntax.c (find_start_of_comment):
8466         Fix `unbalanced parentheses' bug when dealing with mixed comment
8467         styles in c++/java/etc. mode
8468
8469 2001-05-29  Mike Alexander  <mta@arbortext.com>
8470
8471         * console-msw.h (FRAME_MSPRINTER_CHARHEIGHT): Unswap
8472         FRAME_MSPRINTER_CHARWIDTH and FRAME_MSPRINTER_CHARHEIGHT
8473
8474 2001-05-17  Andrew Begel  <abegel@eecs.berkeley.edu>
8475
8476         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Add needed cast.
8477
8478 2001-03-31  Mike Sperber <mike@xemacs.org>
8479
8480         * search.c (Freplace_match): Support FSF-style specification of
8481         match subexpression when applied to a buffer.
8482
8483 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8484
8485         * event-stream.c (is_scrollbar_event): add missing semicolon
8486
8487 2001-05-22  Isaac Hollander  <ysh@mindspring.com>
8488
8489         * Makefile.in.in: Use TAR macro instead of hardcoding
8490           tar.  Allows use of GNU tar instead of system tar
8491
8492 2001-05-27  Karl M. Hegbloom  <karlheg@hegbloom.net>
8493
8494         * event-stream.c (is_scrollbar_event): add missing semicolon
8495
8496 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8497
8498         * XEmacs 21.4.3 "Academic Rigor" is released.
8499
8500 2001-05-17  Stephen J. Turnbull  <stephen@xemacs.org>
8501
8502         * regex.c: Define DECLARE_NOTHING when "lisp.h" is not included.
8503
8504 2001-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
8505
8506         * buffer.c (Vcase_fold_search): Remove obsolete
8507           comment about non ASCII case-fold-search.  This
8508           bug has been fixed by case-table changes.
8509
8510 2001-05-11  Stephen J. Turnbull  <stephen@xemacs.org>
8511
8512         * event-msw.c: Restore include of events-mod.h.
8513
8514 2001-04-22   zhaoway  <zw@debian.org>
8515
8516         * event-stream.c (is_scrollbar_event): Noop returning 0 if
8517         !HAVE_SCROLLBARS.
8518
8519 2001-05-10  Stephen J. Turnbull  <stephen@xemacs.org>
8520
8521         * XEmacs 21.4.2 "Developer-Friendly Unix APIs" is released.
8522
8523 2001-05-08  Yoshiaki Kasahara  <kasahara@nc.kyushu-u.ac.jp>
8524
8525         * mule-charset.c (Fmake_charset): Add missing else.
8526
8527 2001-04-23  Ben Wing  <ben@xemacs.org>
8528
8529         * event-msw.c (FAKE_MOD_QUIT):
8530         * event-msw.c (mswindows_dequeue_dispatch_event):
8531         * event-msw.c (mswindows_wnd_proc):
8532         * event-msw.c (emacs_mswindows_quit_p):
8533         Get critical quit working.
8534
8535 2001-05-05  Ben Wing  <ben@xemacs.org>
8536
8537         * console-msw.h:
8538         * device-msw.c:
8539         * device-msw.c (mswindows_get_default_margin):
8540         * frame-msw.c (mswindows_size_frame_internal):
8541         * frame-msw.c (msprinter_init_frame_1):
8542         * frame-msw.c (vars_of_frame_mswindows):
8543         Change top/bottom margin defaults to 0.5 inches.
8544
8545 2001-05-01  Martin Buchholz  <martin@xemacs.org>
8546
8547         Fix link error with gcc 3.0 on Linux.
8548         * terminfo.c (UP): Remove.
8549         * terminfo.c (BC): Remove.
8550         * terminfo.c (PC): Remove.
8551         They weren't used, and in any case, these symbols should be
8552         defined in the *library*.
8553
8554 2001-05-03  Martin Buchholz  <martin@xemacs.org>
8555
8556         * s/aix4.h: Fix crash with xlc -O3.
8557         Improve comment explaining how -O3 works.
8558
8559 2001-04-15  Ben Wing  <ben@xemacs.org>
8560
8561         * event-stream.c:
8562         * event-stream.c (Fnext_event):
8563         * event-stream.c (is_scrollbar_event):
8564         * event-stream.c (execute_command_event):
8565         Better fix for Yoshiki's `C-x @ h <scrollbar-drag> x causes a
8566         crash' problem.  His fix introduces other problems.  We filter
8567         out scrollbar events specifically, making them somewhat invisible
8568         to command-building, and not appearing in `this-command-keys'.
8569         More work is still needed (see comments in event-stream.c), but
8570         this fixes all the major problems.
8571
8572 2001-04-20  Ben Wing  <ben@xemacs.org>
8573
8574         * .cvsignore: Added stuff for Windows.
8575
8576 2001-04-28  Ben Wing  <ben@xemacs.org>
8577
8578         * buffer.c (Ferase_buffer):
8579         * editfns.c (buffer_insert1):
8580         * editfns.c (Finsert_before_markers):
8581         * editfns.c (Finsert_string):
8582         * editfns.c (Finsert_char):
8583         * editfns.c (Fdelete_region):
8584         * editfns.c (Fwiden):
8585         * editfns.c (Fnarrow_to_region):
8586         remove bogus lines setting zmacs_region_stays to 0.
8587         
8588 2001-04-15  Gunnar Evermann  <ge204@eng.cam.ac.uk>
8589
8590         * process-unix.c (unix_open_network_stream): If connect() fails
8591         invalidate file descriptor after closing it.
8592
8593 2001-03-08  Mike Alexander  <mta@arbortext.com>
8594
8595         * event-msw.c (mswindows_need_event_in_modal_loop):
8596         Don't dispatch a message if we didn't get one.
8597         (mswindows_need_event):
8598         Terminate the correct process when one exits instead of the first
8599         one on Vprocess_list and look for process termination when in
8600         mswindows_protect_modal_loop.
8601
8602 2001-04-19  Stephen J. Turnbull  <stephen@xemacs.org>
8603
8604         * XEmacs 21.4.1 "Copyleft" is released.
8605
8606 2001-04-19  Glynn Clements  <glynn.clements@virgin.net>
8607
8608         * input-method-motif.c (XIM_delete_frame): New callback.
8609         (XIM_init_frame): Register it.
8610
8611 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8612
8613         * XEmacs 21.4.0 "Solid Vapor" is released.
8614
8615 2001-04-15  Ben Wing  <ben@xemacs.org>
8616
8617         * cmdloop.c (call_command_loop):
8618         Fix braino in bit-rotting code.
8619         
8620 2001-04-07  Hrvoje Niksic  <hniksic@arsdigita.com>
8621
8622         * extents.c (Fset_extent_endpoints): Force creation of extent info
8623         in buffer_or_string.
8624
8625         * extents.c (process_extents_for_insertion_mapper): Correctly
8626         check for open-open zero-length extents.
8627
8628 2001-04-16  Stephen J. Turnbull  <stephen@xemacs.org>
8629
8630         * lisp.h: New typedefs Memory_count, Element_count.
8631         * regex.c:
8632         * regex.h:
8633         Sign-compare warning elimination: several unsigned -> signed.
8634         Based on work by Ben Wing <ben@xemacs.org>.
8635
8636 2001-04-14  Stephen J. Turnbull  <stephen@xemacs.org>
8637
8638         * XEmacs 21.2.47 "Zephir" is released.
8639
8640 2001-04-02  Jan Vroonhof  <jan@xemacs.org>
8641
8642         * redisplay.c (add_bufbyte_string_runes): Update data->bytepos
8643
8644 2001-04-03  Mike Sperber <mike@xemacs.org>
8645
8646         * search.c: Revert previous patch due because of release.
8647
8648 2001-03-30  Ben Wing  <ben@xemacs.org>
8649
8650         * s\cygwin32.h:
8651         Add missing killpg prototype.
8652
8653         * elhash.c:
8654         Add a comment about fixing problems when a new entry is added
8655         while mapping.
8656
8657         * frame-msw.c (mswindows_init_frame_1):
8658         Fix compile warnings.
8659
8660         * menubar.c (vars_of_menubar):
8661         Provide `menu-accelerator-support' to indicate that we properly
8662         support %_ in menu specifications, so that package code can
8663         conditionalize on this (and remove %_ from menu specifications
8664         on older versions).
8665
8666         * event-msw.c:
8667         * scrollbar-msw.c:
8668         * scrollbar-msw.c (can_scroll):
8669         * scrollbar-msw.h:
8670         Fix handling of mouse wheel under Windows to follow standards --
8671         now scrolls window under pointer, not selected window.
8672
8673 2001-03-31  Mike Sperber <mike@xemacs.org>
8674
8675         * search.c (Freplace_match): Support FSF-style specification of
8676         match subexpression when applied to a buffer.
8677
8678 2001-03-15  Martin Buchholz  <martin@xemacs.org>
8679
8680         * keymap.c (Fmap_keymap): map-keymap explicitly allows a mapping
8681         function to modify KEYMAP, so map over a copy of the hash table.
8682
8683 2001-03-21  Martin Buchholz <martin@xemacs.org>
8684
8685         * XEmacs 21.2.46 "Urania" is released.
8686
8687 2001-03-20  Dan Holmsand  <dan@eyebee.com>
8688
8689         * realpath.c (xrealpath): Make file-truename work with symlinks to
8690         /cygdrive paths on cygwin. Always lowercase drive-letters on
8691         native windows.
8692         (cygwin_readlink): Don't try to find canonical filename unless
8693         file exists.
8694
8695 2001-03-15  Stephen J. Turnbull  <stephen@xemacs.org>
8696
8697         * ChangeLog: Log GTK merge.
8698
8699         * dumper.c:
8700         * select-x.c:
8701         * specifier.c:
8702         * symeval.h:
8703         Revert gratuitous whitespace changes from GTK merge.
8704
8705         * emacs.c: Document end of complex #ifdef @ l. 1495.
8706
8707
8708 2001-03-12  Andy Piper  <andy@xemacs.org>
8709
8710         * mingw32.h: unfortunately cygnus changed mingw32 -> mingw so we
8711         have to do likewise.
8712
8713 2001-03-12  Andy Piper  <andy@xemacs.org>
8714
8715         * sysdep.c: we only support mingw now.
8716
8717 2001-03-09  Andy Piper  <andy@xemacs.org>
8718
8719         * unexcw.c (copy_executable_and_dump_data_section): making approx
8720         overrun a warning only.
8721
8722 2001-03-10  William M. Perry  <wmperry@aventail.com>
8723
8724         * faces.c (complex_vars_of_faces): Rewrote the font mucking to
8725         satisfy Stephen's identical-after-cpp plea.
8726
8727 2001-03-02  Ben Wing  <ben@xemacs.org>
8728
8729         * cmds.c:
8730         * cmds.c (Fforward_char):
8731         * syntax.c:
8732         * window.c:
8733
8734         Augment documentation of the most common motion commands to make
8735         note of the shifted-motion support.
8736         
8737 2001-03-02  Ben Wing  <ben@xemacs.org>
8738
8739         * nt.c (mswindows_fstat):
8740         * nt.c (mswindows_stat):
8741         * search.c (boyer_moore):
8742         Fix compile warnings under Windows.
8743         
8744         * sysdep.c (sys_readdir):
8745         Fix buggy filename-conversion code under Mule.
8746
8747 2001-03-09  William M. Perry  <wmperry@aventail.com>
8748
8749         * Makefile.in.in:
8750         * config.h.in:
8751         * console.c:
8752         * console.h:
8753         * device.c:
8754         * device.h:
8755         * dragdrop.c:
8756         * emacs.c:
8757         * event-stream.c:
8758         * events.c:
8759         * events.h:
8760         * faces.c:
8761         * frame.h:
8762         * general-slots.h:
8763         * glyphs.c:
8764         * gutter.c:
8765         * inline.c:
8766         * lisp.h:
8767         * lrecord.h:
8768         * make-src-depend:
8769         * redisplay-output.c:
8770         * redisplay.c:
8771         * symsinit.h:
8772         * sysfile.h:
8773         * toolbar.c:
8774         * window.c:
8775         The Great GTK Merge.
8776
8777         * ChangeLog.GTK:
8778         * console-gtk.c:
8779         * console-gtk.h:
8780         * device-gtk.c:
8781         * emacs-marshals.c:
8782         * emacs-widget-accessors.c:
8783         * event-gtk.c:
8784         * frame-gtk.c:
8785         * gccache-gtk.c:
8786         * gccache-gtk.h:
8787         * glade.c:
8788         * glyphs-gtk.c:
8789         * glyphs-gtk.h:
8790         * gtk-glue.c:
8791         * gtk-xemacs.c:
8792         * gtk-xemacs.h:
8793         * gui-gtk.c:
8794         * gui-gtk.h:
8795         * menubar-gtk.c:
8796         * native-gtk-toolbar.c:
8797         * objects-gtk.c:
8798         * objects-gtk.h:
8799         * redisplay-gtk.c:
8800         * scrollbar-gtk.c:
8801         * scrollbar-gtk.h:
8802         * select-gtk.c:
8803         * toolbar-gtk.c:
8804         * ui-byhand.c:
8805         * ui-gtk.c:
8806         * ui-gtk.h:
8807         The Great GTK Merge: new files.
8808
8809 2001-02-26  Ben Wing  <ben@xemacs.org>
8810
8811         Reapplied Lstream change.
8812
8813 2001-02-26  Ben Wing  <ben@xemacs.org>
8814
8815         Undid the last change, since it is more controversial than I
8816         thought.  It should be back in at some point soon.
8817         
8818 2001-02-25  Ben Wing  <ben@xemacs.org>
8819
8820         * buffer.c:
8821         * callproc.c (Fold_call_process_internal):
8822         * event-msw.c (ntpipe_slurp_reader):
8823         * event-msw.c (ntpipe_shove_writer):
8824         * event-msw.c (winsock_reader):
8825         * event-msw.c (winsock_writer):
8826         * file-coding.c:
8827         * file-coding.c (detect_eol_type):
8828         * file-coding.c (detect_coding_type):
8829         * file-coding.c (determine_real_coding_system):
8830         * file-coding.c (Fdetect_coding_region):
8831         * file-coding.c (decoding_reader):
8832         * file-coding.c (decoding_writer):
8833         * file-coding.c (mule_decode):
8834         * file-coding.c (Fdecode_coding_region):
8835         * file-coding.c (encoding_reader):
8836         * file-coding.c (encoding_writer):
8837         * file-coding.c (mule_encode):
8838         * file-coding.c (Fencode_coding_region):
8839         * file-coding.c (detect_coding_sjis):
8840         * file-coding.c (decode_coding_sjis):
8841         * file-coding.c (encode_coding_sjis):
8842         * file-coding.c (detect_coding_big5):
8843         * file-coding.c (decode_coding_big5):
8844         * file-coding.c (encode_coding_big5):
8845         * file-coding.c (detect_coding_ucs4):
8846         * file-coding.c (decode_coding_ucs4):
8847         * file-coding.c (encode_coding_ucs4):
8848         * file-coding.c (detect_coding_utf8):
8849         * file-coding.c (decode_coding_utf8):
8850         * file-coding.c (encode_coding_utf8):
8851         * file-coding.c (detect_coding_iso2022):
8852         * file-coding.c (decode_coding_iso2022):
8853         * file-coding.c (encode_coding_iso2022):
8854         * file-coding.c (decode_coding_no_conversion):
8855         * file-coding.c (encode_coding_no_conversion):
8856         * glyphs-x.c (write_lisp_string_to_temp_file):
8857         * gpmevent.c (tty_get_foreign_selection):
8858         * lisp.h:
8859         * lstream.c:
8860         * lstream.c (Lstream_flush_out):
8861         * lstream.c (Lstream_adding):
8862         * lstream.c (Lstream_write_1):
8863         * lstream.c (Lstream_write):
8864         * lstream.c (Lstream_raw_read):
8865         * lstream.c (Lstream_read_more):
8866         * lstream.c (Lstream_read):
8867         * lstream.c (Lstream_unread):
8868         * lstream.c (Lstream_fputc):
8869         * lstream.c (stdio_reader):
8870         * lstream.c (stdio_writer):
8871         * lstream.c (filedesc_reader):
8872         * lstream.c (filedesc_writer):
8873         * lstream.c (lisp_string_reader):
8874         * lstream.c (struct fixed_buffer_stream):
8875         * lstream.c (make_fixed_buffer_input_stream):
8876         * lstream.c (make_fixed_buffer_output_stream):
8877         * lstream.c (fixed_buffer_reader):
8878         * lstream.c (fixed_buffer_writer):
8879         * lstream.c (struct resizing_buffer_stream):
8880         * lstream.c (resizing_buffer_writer):
8881         * lstream.c (dynarr_writer):
8882         * lstream.c (lisp_buffer_reader):
8883         * lstream.c (lisp_buffer_writer):
8884         * lstream.h:
8885         * lstream.h (lstream_implementation):
8886         * lstream.h (struct lstream):
8887         * md5.c (Fmd5):
8888         * process-nt.c (nt_send_process):
8889         * process-unix.c (unix_send_process):
8890         
8891         Correct Lstream lossage due to mixing of signed and unsigned
8892         quantities.  All Lstream uses of size_t and ssize_t are now a
8893         single signed data type Lstream_data_count.  This fixes problems
8894         under Windows with sending large quantities of data to a process,
8895         and may well fix other subtle bugs.
8896
8897 2001-02-23  Martin Buchholz <martin@xemacs.org>
8898
8899         * XEmacs 21.2.45 "Thelxepeia" is released.
8900
8901 2001-02-21  Martin Buchholz  <martin@xemacs.org>
8902
8903         * lisp-union.h (XSETINT): 
8904         (XSETCHAR):
8905         (XSETOBJ): 
8906         Reverse previous change of 2001-02-06.
8907
8908 2001-02-20  Matt Tucker  <tuck@whistlingfish.net>
8909
8910         Fix `VALID_BYTIND_P' crashes in regex.c when using narrowed
8911         buffers.
8912         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8913         * syntax.h (SYNTAX_CACHE_OBJECT_BYTE_TO_CHAR):
8914         Add `BI_BUF_BEGV' to bytepos before calculating bufpos.
8915         * regex.c (POS_AS_IN_BUFFER): removed
8916         * regex.c (re_search_2):
8917         * regex.c (re_match_2):
8918         Don't use an offset of 1 when calculating buffer positions, since
8919         `BI_BUF_BEGV' does it already.
8920
8921 2001-02-18  Wim Dumon  <wim@easics.be>
8922
8923         * insdel.c (prepare_to_modify_buffer): Also check for
8924         supersession when clash-detection is enabled. 
8925
8926 2001-02-17  Matt Tucker  <tuck@whistlingfish.net>
8927
8928         * regex.c (re_match_2_internal):
8929         Convert temp characters from 'const unsigned char' to 're_char'.
8930         Fix crashing bug with extended characters under mule.
8931         * syntax.c (Qsyntax_table): Moved from vars_of_syntax to
8932         syms_of_syntax. Use defsymbol to define. Fixes hanging bug with
8933         font-lock, pdump, and new syntax-table code.
8934         * syntax.c (find_start_of_comment):
8935         (find_end_of_comment):
8936         (forward-comment):
8937         Fix crashing bugs involving moving beyond end of buffer.
8938         * syntax.c (find_start_of_comment):
8939         Fixed logic to allow proper detection of cases where the same
8940         character is used to end both a two-char comment start and a
8941         two-char comment end sequence. Fixes `(forward-comment -1)'.
8942         * syntax.c (find_start_of_comment):
8943         Return position just past last comment-end character for all cases
8944         (previously was only done for two-char comment-end sequences).
8945         * syntax.c (forward-comment):
8946         Take value returned from `find_end_of_comment', rather than
8947         incrementing it.
8948         * syntax.h (SYNTAX_CACHE_BYTE_TO_CHAR):
8949         Properly deal with BUFFERP (syntax_cache.object)
8950
8951 2001-02-17  Martin Buchholz  <martin@xemacs.org>
8952
8953         * alloc.c (Fgarbage_collect): 
8954         * alloc.c (make_bit_vector_from_byte_vector):
8955         -Wsign-compare-correctness.
8956
8957 2001-02-16  Martin Buchholz  <martin@xemacs.org>
8958
8959         * lisp-union.h (XSETINT): Eliminate unnecessary temp var.
8960         (XSETCHAR): Likewise.
8961         (XSETOBJ): Likewise.
8962
8963 2001-02-15  Martin Buchholz  <martin@xemacs.org>
8964
8965         * mule-canna.c (canna-func-delete_previous): 
8966         Rename to canna-func-delete-previous.
8967
8968 2001-02-14  Martin Buchholz  <martin@xemacs.org>
8969
8970         * mule-ccl.c (ccl_driver): Warning suppression.  Use countof.
8971
8972 2001-02-13  Matt Tucker  <tuck@whistlingfish.net>
8973
8974         * font-lock.c (find_context): Fix C++ compile errors introduced by
8975         recent patch
8976
8977 2001-02-13  Martin Buchholz  <martin@xemacs.org>
8978
8979         * s/aix4.h: Later versions of IBM C compiler need a bug workaround
8980         pragma, but earlier ones barf on the same pragma.
8981
8982 2001-02-06  Mike Sperber <mike@xemacs.org>
8983
8984         * emacs.c (complex_vars_of_emacs): Add `mule-lisp-directory' and
8985         `configure-mule-lisp-directory'.
8986
8987 2001-02-12  Martin Buchholz  <martin@xemacs.org>
8988
8989         Make sure dump-id.c is compiled in the same way as other .c's.
8990         Fixes pdump compilation failure with HP's cc, which defaults to K&R.
8991         * dump-id.h: Remove.
8992         * emacs.c: Move dump-id.h into dumper.h.
8993         * dumper.h: Move dump-id.h into dumper.h.
8994         * Makefile.in.in:
8995         Use standard .c.o rule for building dump-id.o.
8996         Remove preprocessor flags from link command.
8997         Add dump-id.o to ${otherobjs} if PDUMP.
8998
8999 2001-02-07  Matt Tucker  <tuck@whistlingfish.net>
9000
9001         Port FSF 20.7 syntax table improvements.
9002         * syntax.c.
9003         * syntax.h.
9004
9005         Fixups for new syntax table stuff.
9006         * dired.c: Include syntax.c.
9007         (Fdirectory_files): Initialize regex_match_object and
9008         regex_emacs_buffer.
9009         * extents.h: EXFUN Fnext_extent_change, Fprevious_extent_change,
9010         and Fget_char_property.
9011
9012         Use ported FSF 20.7 syntax table improvements.
9013         * font-lock.c.
9014         * regex.c.
9015         * search.c.
9016         
9017 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9018
9019         * regex.c (Boolean): Renamed to `re_bool', to avoid conflict with
9020         Unixware's enum boolean from sys/types.h.
9021
9022 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9023
9024         Fix support for building with latest Purify.
9025         * Makefile.in.in (PURIFY_LIBS): Remove thread flags.
9026         (PURIFY_FLAGS): Likewise.
9027
9028 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9029
9030         * fileio.c (lisp_string_set_file_times): New.
9031         * fileio.c (Fcopy_file): Use it.
9032         Fixes bug:
9033         (copy-file filename non-ascii-filename t t)
9034         ==> No such file or directory, non-ascii-filename
9035
9036 2001-02-10  Martin Buchholz  <martin@xemacs.org>
9037
9038         * glyphs-x.c (generate_cursor_fg_bg): Avoid a warning.
9039         USHRT_MAX seems clearer than ~0 anyways.
9040
9041 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9042
9043         dumper improvements.  Inspired by Olivier.
9044         * dumper.c (pdump_max_align): New.
9045         * dumper.c (pdump_add_entry): Use pdump_max_align.
9046         * dumper.c (pdump_get_entry_list): Likewise.
9047         * dumper.c (pdump_scan_by_alignment): Likewise.
9048         Don't iterate through unnecessary alignments.
9049         * dumper.c (pdump_file_get): No need to align result of malloc().
9050         * dumper.c (pdump_mallocadr): Remove.  
9051         The result of malloc() is guaranteed to be maximally aligned.
9052         * dumper.c: s/elmt/elt/g;
9053         * dumper.c (pdump_object_table): Allocate dynamically, not statically.
9054         * dumper.c (pdump_alert_undump_object): Likewise.
9055         * dumper.c (pdump_align_table): 
9056         Don't support alignments > 64.
9057         Store ALIGNOF's, not shift counts, in table.
9058
9059 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9060
9061         * s/mingw32.h (HAVE_STRUCT_UTIMBUF): Remove.
9062         * s/windowsnt.h (HAVE_STRUCT_UTIMBUF): Remove.
9063         * systime.h: Use HAVE_UTIME.
9064         * sysdep.c (struct utimbuf): Remove.
9065         * sysdep.c (set_file_times): Prefer utime() to utimes().
9066         * config.h.in (HAVE_UTIME): New.
9067         * config.h.in (HAVE_UTIME_H): Remove.
9068         * config.h.in (HAVE_STRUCT_UTIMBUF): Remove.
9069
9070 2001-02-09  Martin Buchholz  <martin@xemacs.org>
9071
9072         * s/aix4.h: Hide #pragmas inside #ifndef NOT_C_CODE.
9073
9074 2001-02-08  Martin Buchholz  <martin@xemacs.org>
9075
9076         * s/irix6-0.h: Use the standard system memmove, not bcopy.
9077
9078 2001-02-08  Martin Buchholz <martin@xemacs.org>
9079
9080         * XEmacs 21.2.44 "Thalia" is released.
9081
9082 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9083
9084         Fixes crashes in kill-emacs on some systems.
9085         * process-unix.c (unix_kill_child_process):
9086         It's OK for kill() to fail with ESRCH.
9087
9088 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9089
9090         Contortions to make .gdbinit tricks work on most systems.
9091         * alloc.c (dbg_inhibit_dbg_symbol_deletion): Keep debugger info.
9092         * alloc.c (dbg_valmask): Make non-const.
9093         * alloc.c (dbg_typemask): Make non-const.
9094         * alloc.c (dbg_USE_UNION_TYPE): Make non-const.
9095         * alloc.c (dbg_valbits): Make non-const.
9096         * alloc.c (dbg_gctypebits): Make non-const.
9097         * .gdbinit (decode_object): Make it work with AIX cc.
9098
9099 2001-02-06  Martin Buchholz  <martin@xemacs.org>
9100
9101         * elhash.c (make_general_lisp_hash_table):
9102         Use simpler and more efficient calloc to clear entries.
9103
9104 2001-02-07  Martin Buchholz  <martin@xemacs.org>
9105
9106         * window.c (window_scroll): Work around an AIX C compiler bug.
9107         Fixes 'scroll-up' does nothing problem with xlC.
9108
9109 2001-02-05  Martin Buchholz  <martin@xemacs.org>
9110
9111         * .gdbinit: Remove obsolete comment.
9112
9113 2001-01-31  Mike Alexander  <mta@arbortext.com>
9114
9115         * select.c (Fown_selection_internal): Set owned_p for device
9116         method correctly.
9117
9118 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9119
9120         Port to g++ 2.97.
9121         "not" cannot be used as a macro name as it is an operator in C++
9122         * config.h.in: Stop #defining `not'.
9123         * chartab.c (check_category_char): not ==> not_p
9124         * chartab.h: Likewise.
9125         * regex.c (re_match_2_internal): Likewise.
9126
9127 2001-02-02  Martin Buchholz  <martin@xemacs.org>
9128
9129         * lisp-disunion.h: Fix up comments.
9130
9131 2001-01-31  Martin Buchholz  <martin@xemacs.org>
9132
9133         * keymap.c (define_key_check_and_coerce_keysym):
9134         (syms_of_keymap):
9135         Support mouse-6 and mouse-7 bindings in the obvious way.
9136
9137 2001-02-01  Martin Buchholz  <martin@xemacs.org>
9138
9139         * m/hp9000s300.h (UNEXEC): Check for HPUX, not !BSD.
9140
9141 2001-01-30  Martin Buchholz  <martin@xemacs.org>
9142
9143         Previous patch changing DEFVAR_INT to use EMACS_INT was incomplete.
9144         Previous patch missed DEFVAR_INT_MAGIC.
9145         Make sure future DEFVAR_foo use correct types.
9146         * symeval.h (DEFVAR_SYMVAL_FWD_FIXNUM): New.
9147         * (DEFVAR_SYMVAL_FWD_INT): Add type checking.
9148         * (DEFVAR_SYMVAL_FWD_OBJECT): Add type checking.
9149         * (DEFVAR_INT_MAGIC): Use DEFVAR_SYMVAL_FWD_FIXNUM.
9150         * (DEFVAR_INT): Likewise.
9151         * redisplay.c (vertical_clip): Should be of type Fixnum.
9152         * redisplay.c (horizontal_clip): Likewise.
9153         * lisp.h (dump_add_opaque_int): New.
9154         (dump_add_opaque_fixnum): New.
9155
9156 2001-01-29  Andy Piper  <andy@xemacs.org>
9157
9158         * glyphs-widget.c (check_valid_int_or_function): allow symbols
9159         since they can be eval'ed
9160
9161 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9162
9163         * lisp.h (ALIGNOF): Make it work on non-gcc C++ compilers.
9164         Oops, XEmacs redefines `class'.  Use `typename' instead.
9165
9166 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9167
9168         * dumper.c: Fix C++ compile errors.
9169
9170 2001-01-29  Martin Buchholz  <martin@xemacs.org>
9171
9172         * tparam.c: Use correct prototypes.
9173
9174 2001-01-28  Martin Buchholz  <martin@xemacs.org>
9175
9176         * sysproc.h: #include util.h for NetBSD's openpty.
9177
9178 2001-01-27  Martin Buchholz  <martin@xemacs.org>
9179
9180         More 64-bit correctness.
9181         The C value of a DEFVAR_INT should be of type EMACS_INT, not int.
9182         Use a typedef `fixnum' for the type used for DEFVAR_INT.
9183         Fix up comments.
9184         This finally finishes the 64-bit SGI port.
9185         Fixes things like (let ((gc-cons-threshold most-positive-fixnum)) ...).
9186         * symbols.c: Fix up comments and type casts.
9187         * symbols.c (do_symval_forwarding): s/int/Fixnum/g
9188         * symbols.c (store_symval_forwarding): s/int/Fixnum/g
9189         * symeval.h (Fixnum): New type.
9190         * symeval.h (symbol_value_type): Fix up comment.
9191
9192         * commands.h:
9193         * nt.c:
9194         * emacs.c:
9195         * data.c:
9196         * redisplay.c:
9197         * abbrev.c:
9198         * dired-msw.c:
9199         * event-Xt.c:
9200         * eldap.c:
9201         * window.c:
9202         * sound.c:
9203         * event-stream.c:
9204         * eval.c:
9205         * buffer.c:
9206         * mule-canna.c: A million DEFVAR_INTs here...
9207         * mule-canna.c (count_char): s/int */Fixnum */g in arglist.
9208         * extents.c:
9209         * cmdloop.c:
9210         * lisp.h:
9211         * select-x.c:
9212         * console-x.h:
9213         * event-msw.c:
9214         * mule-wnnfns.c:
9215         * hpplay.c:
9216         * ralloc.c:
9217         * alloc.c:
9218         * keymap.c:
9219         * profile.c:
9220         s/int/Fixnum/g in DEFVAR_INT declarations.
9221
9222 2001-01-26  Martin Buchholz  <martin@xemacs.org>
9223
9224         Port pdump to SGI alignment-sensitive environment.
9225         Lisp Object sizeof methods now return aligned sizes.  Rely on that.
9226         Eliminate is_lrecord since Lisp_Objects sizeof methods are now all
9227         properly aligned.
9228         Define and use aligned reading and writing macros.
9229         Use buffered stdio instead of posix i/o for faster dumping.
9230         Eliminate kludgy 256 byte space for header.
9231         Read and write from dump file using structs for alignment safety.
9232         * dumper.c (pdump_align_stream): New.
9233         * dumper.c (PDUMP_ALIGN_OUTPUT): New.
9234         * dumper.c (PDUMP_READ_ALIGNED): New.
9235         * dumper.c (PDUMP_WRITE_ALIGNED): New.
9236         * dumper.c (pdump_static_Lisp_Object): New struct.
9237         * dumper.c (pdump_static_pointer): New struct.
9238         * dumper.c (pdump_entry_list_element): Remove is_lrecord member.
9239         * dumper.c (pdump_add_entry): Remove is_lrecord parameter.
9240         * dumper.c (pdump_dump_data): Rely on sizeof method alignment.
9241         * dumper.c (pdump_allocate_offset): Rely on sizeof method alignment.
9242
9243         * dumper.c (pdump_backtrace):
9244         * dumper.c (pdump_get_indirect_count):
9245         * dumper.c (pdump_register_object):
9246         * dumper.c (pdump_register_struct):
9247         * dumper.c (pdump_reloc_one):
9248         * dumper.c (pdump_scan_by_alignment):
9249         * dumper.c (pdump_dump_from_root_struct_ptrs):
9250         * dumper.c (pdump_dump_opaques):
9251         * dumper.c (pdump_dump_rtables):
9252         * dumper.c (pdump_dump_from_root_objects):
9253         * dumper.c (pdump):
9254         * dumper.c (pdump_load_finish):
9255         Use aligned reading and writing.
9256
9257         * dumper.c (pdump_free): Make static.
9258         * dumper.c (pdump_hFile): Likewise.
9259         * dumper.c (pdump_hMap): Likewise.
9260
9261 2001-01-26  Martin Buchholz <martin@xemacs.org>
9262
9263         * XEmacs 21.2.43 "Terspichore" is released.
9264
9265 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9266
9267         Type fiddling for window_config.saved_windows_count
9268         * window.c (struct window_config): 
9269         Make saved_windows_count member unsigned.
9270         * window.c (sizeof_window_config_for_n_windows): 
9271         Make parameter unsigned.
9272         * window.c (mark_window_config):
9273         * window.c (window_config_equal):
9274         * window.c (free_window_configuration):
9275         * window.c (Fset_window_configuration):
9276         * window.c (count_windows):
9277         * window.c (Fcurrent_window_configuration):
9278         * window.c (reinit_vars_of_window):
9279         Update all callers and users.
9280
9281 2001-01-25  Martin Buchholz  <martin@xemacs.org>
9282
9283         Alignment correctness for flexible arrays.
9284         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF):
9285         Make alignment-correct. Add interesting comments.
9286         * alloc.c (size_vector):
9287         * alloc.c (make_vector_internal):
9288         * alloc.c (make_bit_vector_internal):
9289         * alloc.c (sweep_bit_vectors_1):
9290         * fns.c (size_bit_vector):
9291         Update all callers of FLEXIBLE_ARRAY_STRUCT_SIZEOF to add new arg.
9292         * window.c (sizeof_window_config_for_n_windows): 
9293         Use FLEXIBLE_ARRAY_STRUCT_SIZEOF.
9294
9295 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9296
9297         * lread.c (read1): Rename `fexp', which is #defined in SGI's math.h
9298
9299 2001-01-23  Andy Piper  <andy@xemacs.org>
9300
9301         * select.c (Fown_selection_internal): pass owned_p
9302
9303         * select-msw.c (mswindows_own_selection): New Signature.
9304
9305         * console.h (struct console_methods): add owned_p to
9306         _own_selection.
9307
9308         * select-x.c (x_own_selection): pass owned_p
9309         (hack_motif_clipboard_selection): use owned_p
9310         (vars_of_select_x): new variable -
9311         x_selection_strict_motif_ownership.
9312
9313 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9314
9315         * specifier.h (specifier_data_offset): Remove pointless parens.
9316         * glyphs.h (IMAGE_SPECIFIER_DATA): Likewise.
9317
9318 2001-01-24  Martin Buchholz  <martin@xemacs.org>
9319
9320         Make Lisp_Object sizeof methods be alignment-correct.
9321         pdump must restore objects to the same alignment as the C compiler
9322         assumes.  It really matters on SGIs.
9323         * lstream.c (aligned_sizeof_lstream): New.
9324         (sizeof_lstream): Use aligned_sizeof_lstream.
9325         (Lstream_new): Likewise.
9326         * opaque.c (aligned_sizeof_opaque): New.
9327         (sizeof_opaque): Use aligned_sizeof_opaque.
9328         (make_opaque): Likewise.
9329         * specifier.c (aligned_sizeof_specifier): New.
9330         (sizeof_specifier): Use aligned_sizeof_specifier.
9331         (make_specifier_internal): Likewise.
9332
9333 2001-01-23  Martin Buchholz  <martin@xemacs.org>
9334
9335         * lstream.h (struct lstream): Use max_align_t for trailing data.
9336         * specifier.h (struct Lisp_Specifier): Likewise.
9337
9338 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9339
9340         * mule-ccl.c (CCL_Extension): Renamed from CCL_Extention.
9341         (CCL_SUCCESS): Kludge to prevent Sun cc compiler warnings.
9342         (CCL_SUSPEND): Likewise.
9343         (CCL_INVALID_CMD): Likewise.
9344         (CCL_CALL_FOR_MAP_INSTRUCTION): Likewise.
9345         (ccl_driver): Likewise.
9346         (CCL_WRITE_CHAR): Macro hygiene.
9347         (CCL_WRITE_STRING): Macro hygiene.
9348
9349 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9350
9351         Port "portable" dumper to SunOS 4 and HP-UX.
9352         * s/aix4.h (AIX4): Move MAP_FAILED definition elsewhere.
9353         * emacs.c (main): PDUMP implies no RUN_TIME_REMAP.
9354         * dumper.c (pdump_file_get): Define MAP_FAILED if not already defined.
9355
9356 2001-01-22  Martin Buchholz  <martin@xemacs.org>
9357
9358         * lisp.h (ALIGNOF): A better definition for C++.
9359
9360 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9361
9362         Macro hygiene.
9363         Fix printf warnings: int format, long int arg.
9364         * regex.c (DECLARE_DESTINATION): Use DECLARE_NOTHING.
9365         (PUSH_FAILURE_POINT): Use correct printf formats.
9366         (POP_FAILURE_POINT): Use correct printf formats.  
9367         Use do {...} while (0)
9368
9369 2001-01-20  Martin Buchholz <martin@xemacs.org>
9370
9371         * XEmacs 21.2.42 "Poseidon" is released.
9372
9373 2001-01-20  Martin Buchholz  <martin@xemacs.org>
9374
9375         * console-x.h: typo fix du jour.  Remove #if 0'ed code.
9376
9377 2001-01-19  Martin Buchholz  <martin@xemacs.org>
9378
9379         De-kludgify FIXED_TYPE free list frobbing.
9380         Fix crashes on 64-bit platforms introduced by my patch of 2001-01-13.
9381         * alloc.c (DECLARE_FIXED_TYPE_ALLOC): Use Lisp_Free.
9382         * alloc.c (ALLOCATE_FIXED_TYPE_1): Use new definitions.
9383         * alloc.c (Lisp_Free): New pseudo lisp object definition.
9384         * alloc.c (LRECORD_FREE_P): New.
9385         * alloc.c (MARK_LRECORD_AS_FREE): New.
9386         * alloc.c (MARK_LRECORD_AS_NOT_FREE): New.
9387         * alloc.c (STRUCT_FREE_P): Deleted.
9388         * alloc.c (MARK_STRUCT_AS_FREE): Deleted.
9389         * alloc.c (MARK_STRUCT_AS_NOT_FREE): Deleted.
9390         * alloc.c (STRING_CHARS_FREE_P): New.
9391         * alloc.c (MARK_STRING_CHARS_AS_FREE): New.
9392         * alloc.c (PUT_FIXED_TYPE_ON_FREE_LIST): Use new definitions.
9393         * alloc.c (FREE_FIXED_TYPE): Use new definitions.
9394         * alloc.c (STRING_CHARS_FREE_P): Use new definitions.
9395         * alloc.c (resize_string): Use new definitions.
9396         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Use new definitions.
9397         * alloc.c (verify_string_chars_integrity): Use new definitions.
9398         * alloc.c (compact_string_chars): Use new definitions.
9399         * alloc.c: Update monster comments.
9400         * lrecord.h (lrecord_type): Add some new lrecord types for
9401         alloc.c's use.
9402
9403 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9404
9405         Improve alignment hackery.
9406         * lisp.h (ALIGNOF): Better definition for the non-gcc case.
9407         (max_align_t): Moved from opaque.h - general purpose.
9408         (ALIGN_PTR): Use size_t, not long.
9409         * opaque.h (max_align_t): Move to lisp.h.
9410
9411 2001-01-18  Norbert Koch  <nk@LF.net>
9412
9413         * gui.h: Fix and add prototypes to fix build problems.
9414
9415 2001-01-18  Martin Buchholz  <martin@xemacs.org>
9416
9417         temacs is going away, so `dump-temacs' is now a bad name.
9418         * .dbxrc (dump-temacs): Rename to `dmp'.
9419         * .gdbinit (dump-temacs): Rename to `dmp'.
9420
9421 2001-01-17  Andy Piper  <andy@xemacs.org>
9422
9423         * glyphs.c (print_image_instance): comment to make martin happy.
9424
9425         * glyphs-x.c (x_redisplay_widget): update faces after a frame
9426         change.
9427
9428         * glyphs-msw.c (mswindows_redisplay_widget): add code to cope with
9429         activation.
9430         (mswindows_tab_control_redisplay): warning suppression.
9431
9432         * glyphs-widget.c (widget_update): re-write to cope with updated
9433         items.
9434         (widget_instantiate): use new gui_item functions.
9435         (tab_control_update): deleted.
9436         (progress_gauge_update): deleted.
9437         (image_instantiator_progress_guage): take out update reference.
9438         (image_instantiator_tree_view): ditto.
9439         (image_instantiator_tab_control): ditto.
9440
9441         * gui.c (widget_gui_parse_item_keywords): new function. Do things
9442         Right the new way.
9443         (gui_item_add_keyval_pair): re-write to cope with descriptors and
9444         return whether anything was changed.
9445         (update_gui_item_keywords): as it sounds.
9446
9447         * gui.h: declare widget_gui_parse_item_keywords.
9448
9449         * fns.c (safe_copy_tree): new function taken from Fcopy_tree.
9450         (Fcopy_tree): use it. Stops infloop death in bogus instantiators.
9451
9452 2001-01-17  Martin Buchholz <martin@xemacs.org>
9453
9454         * XEmacs 21.2.41 "Polyhymnia" is released.
9455
9456 2001-01-16  Didier Verna  <didier@xemacs.org>
9457
9458         * glyphs.c (image_instantiate): don't use fallbacks when
9459         instantiating a face's background pixmap by inheritance.
9460
9461 2001-01-14  Mike Sperber <mike@xemacs.org>
9462
9463         * sysdep.c (start_of_data): PDUMP implies ORDINARY_LINK.
9464         Conditionalize accordingly.
9465
9466 2001-01-16  Martin Buchholz  <martin@xemacs.org>
9467
9468         * dumper.c (pdump_file_get): Fix a compiler warning.
9469
9470 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9471
9472         Make Purify happy when pdumping.
9473         * symbols.c (Fmake_variable_buffer_local): Make Purify happy, by
9474         iniitalizing all bits of new lisp object memory.
9475         * symbols.c (Fmake_local_variable): Likewise.
9476         * symbols.c (Fdontusethis_set_symbol_value_handler): Likewise.
9477         * symbols.c (Fdefvaralias): Likewise.
9478         * mule-charset.c (vars_of_mule_charset): Likewise.
9479
9480 2001-01-15  Martin Buchholz  <martin@xemacs.org>
9481         Add the `-nd' flag when running pre-dump operations under the debugger.
9482         * .dbxrc (run-temacs): Add `-nd'.
9483         * .dbxrc (update-elc): Likewise.
9484         * .dbxrc (dump-temacs): Likewise.
9485         * .gdbinit (run-temacs): Likewise.
9486         * .gdbinit (check-temacs): Likewise.
9487         * .gdbinit (update-elc): Likewise.
9488         * .gdbinit (dump-temacs): Likewise.
9489
9490 2001-01-14  Martin Buchholz  <martin@xemacs.org>
9491
9492         Allow building 64-bit executables on AIX with GNU malloc, e.g.
9493         export OBJECT_MODE=64
9494         configure --pdump --use-union-type=no
9495         * m/ibmrs6000.h (DATA_START): Define for 64-bit world.
9496         * gmalloc.c (__default_morecore): Remove pre-ANSI cruft.
9497
9498         * miscplay.c (sndcnv8U_2mono):
9499         Avoid two uses of `++' in the same expression.
9500         Suppresses a GCC warning.
9501
9502 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9503
9504         Make sure future compilers don't miscompile alloc.c.
9505         * alloc.c:
9506         (MARK_STRUCT_AS_FREE): Make aliasing-optimization-resistant.
9507         (MARK_STRUCT_AS_NOT_FREE): Make aliasing-optimization-resistant.
9508
9509 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9510
9511         * dumper.c: A little post-pdump-rename comment fixup.
9512
9513 2001-01-09  Jerry James  <james@eecs.ku.edu>
9514
9515         * lisp-disunion.h: Change LISP_TO_CVOID arg to match its use.
9516
9517 2001-01-13  Martin Buchholz  <martin@xemacs.org>
9518
9519         * *.[ch]: Globally rename symbols using the following `pdump-rename'
9520         script:
9521         #!/bin/sh
9522         replace_symbol () {
9523           (findn texi$; findn [ch]$) | xargs g -lw "$1" | xargs global-replace 's/(?<!_)\b'$1'\b(?!_)/'$2'/g'
9524         }
9525
9526         replace_symbol pdump_wire_lists pdump_weak_object_chains
9527         replace_symbol pdump_wire_list dump_add_weak_object_chain
9528
9529         replace_symbol pdump_wires pdump_root_objects
9530         replace_symbol pdump_wire dump_add_root_object
9531
9532         replace_symbol pdump_dump_wired pdump_dump_from_root_objects
9533         replace_symbol pdump_dump_structs pdump_dump_from_root_struct_ptrs
9534
9535         replace_symbol dumpstructinfos pdump_root_struct_ptrs
9536         replace_symbol dumpstructinfo_dynarr pdump_root_struct_ptr_dynarr
9537         replace_symbol dumpstructinfo pdump_root_struct_ptr
9538         replace_symbol dumpstruct dump_add_root_struct_ptr
9539
9540         replace_symbol dumpopaque dump_add_opaque
9541         replace_symbol dumpopaqueinfo_dynarr pdump_opaque_dynarr
9542         replace_symbol dumpopaqueinfos pdump_opaques
9543         replace_symbol dumpopaqueinfo pdump_opaque
9544
9545         replace_symbol nb_structdump nb_root_struct_ptrs
9546         replace_symbol nb_opaquedump nb_opaques
9547
9548         replace_symbol align_table pdump_align_table
9549         replace_symbol dump_header pdump_header
9550
9551         replace_symbol DUMP_SIGNATURE_LEN PDUMP_SIGNATURE_LEN
9552         replace_symbol DUMP_SIGNATURE PDUMP_SIGNATURE
9553
9554
9555 2001-01-12  Martin Buchholz  <martin@xemacs.org>
9556
9557         * s/aix4.h: Keep the C for AIX compiler from overaggressively
9558         optimizing bytecount_to_charcount().
9559
9560 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9561
9562         * config.h.in:
9563         (HAVE_DLFCN_H): Removed.
9564         * sysdll.c: Remove HAVE__DLOPEN, HAVE_DLFCN_H.
9565
9566 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9567
9568         Portable dumper maintainability improvements.
9569         * alloc.c (staticpro):
9570         * alloc.c (staticpro_nodump):
9571         * alloc.c (garbage_collect_1):
9572         * alloc.c (reinit_alloc_once_early):
9573         * alloc.c (init_alloc_once_early):
9574         * alloc.c: Move dumper functions to alloc.c.
9575         * dumper.c (pdump_backtrace):
9576         * dumper.c (pdump_dump_structs):
9577         * dumper.c (pdump_dump_opaques):
9578         * dumper.c (pdump_dump_rtables):
9579         * dumper.c (pdump_dump_wired):
9580         * dumper.c (pdump):
9581         * dumper.c (pdump_load_check):
9582         * dumper.c (pdump_load_finish):
9583         * dumper.c (pdump_file_unmap):
9584         * dumper.c (pdump_file_get):
9585         * dumper.c (pdump_resource_free):
9586         * dumper.c (pdump_resource_get):
9587         * dumper.c (pdump_file_free):
9588         * dumper.c (pdump_file_try):
9589         * dumper.c (pdump_load):
9590         Remove fixed size limits on staticpro(), staticpro_nodump(),
9591         dumpopaque(), dumpstruct() by using Dynarrs instead of static C arrays.
9592         Remove custom code for dumping lrecord_implementations_table - use
9593         dumpopaque instead.
9594         Remove (most of the) custom code for dumping staticpros - dump it
9595         like any other dynarr.
9596
9597         * alloc.h: Removed.  No longer useful, since dumper now more self-contained.
9598         * dumper.c: Moved functions from alloc.c.
9599         * alloc.c (dumpstruct): Moved to dumper.c.
9600         * alloc.c (dumpopaque): Likewise.
9601         * alloc.c (pdump_wire): Likewise.
9602         * alloc.c (pdump_wire_list): Likewise.
9603
9604         * lisp.h (Dynarr_sizeof): New.
9605         * lisp.h (Dynarr_begin): New.  Very slightly C++oid.
9606         * lisp.h (Dynarr_end): New.  Very slightly C++oid.
9607         * lisp.h (Lisp_Object_ptr_dynarr): New.  For staticpros.
9608
9609         * lisp.h (dumpstruct): Define to nothing if not PDUMPing.
9610         * lisp.h (dumpopaque): ditto.
9611         * lisp.h (pdump_wire): ditto.
9612         * lisp.h (pdump_wire_list): ditto.
9613
9614 2001-01-09  Martin Buchholz  <martin@xemacs.org>
9615
9616         * make-src-depend (PrintPatternDeps):
9617         Use `sort' to make output independent of perl version.
9618
9619 2001-01-08  Martin Buchholz  <martin@xemacs.org>
9620
9621         Port to Netbsd 1.5.
9622         * unexelf.c: Remove (never used) bogus Netbsd-specific cruft.
9623         * s/netbsd.c: Use unexelf.o if __ELF__ is defined.
9624
9625 2001-01-03  Didier Verna  <didier@xemacs.org>
9626
9627         * event-stream.c (emacs_handle_focus_change_preliminary): ensure
9628         that `focus_frame' is alive before thinking of calling
9629         `redisplay_redraw_cursor' on it.
9630
9631 2001-01-08  Martin Buchholz <martin@xemacs.org>
9632
9633         * XEmacs 21.2.40 is released.
9634
9635 2001-01-06  Golubev I. N.  <gin@mo.msk.ru>
9636
9637         * regex.c: Replace PREFETCH with REGEX_PREFETCH.
9638
9639 2001-01-06  Martin Buchholz  <martin@xemacs.org>
9640
9641         * alloc.c (dbg_valmask): Make const.
9642         * alloc.c (dbg_typemask): Make const.
9643         * alloc.c (dbg_USE_UNION_TYPE): Make const.
9644         * alloc.c (dbg_valbits): Make const.
9645         * alloc.c (dbg_gctypebits): Make const.
9646
9647 2001-01-06  Stephen J. Turnbull  <stephen@xemacs.org>
9648
9649         * redisplay-x.c (x_bevel_area):
9650         redisplay.h (struct rune):
9651         Typo fixes in comments.
9652
9653 2001-01-05  Andy Piper  <andy@xemacs.org>
9654
9655         * glyphs-x.c (x_redisplay_widget): use size changed for offset
9656         adjustment.
9657
9658         * menubar.c (menubar_visible_p_changed): don't mark frame changed.
9659
9660 2001-01-05  Martin Buchholz  <martin@xemacs.org>
9661
9662         * alloc.c (pure-bytes-used): Remove unused mendacious variable.
9663
9664         * mule-ccl.c (stack_idx_of_map_multiple):
9665         Non const global data must not be initialized!
9666         Found by MIYASHITA Hisashi.
9667
9668 2001-01-02  Andy Piper  <andy@xemacs.org>
9669
9670         * frame.c (change_frame_size): make sure frame size is always
9671         marked as changed.
9672
9673         * glyphs.c (image_instance_layout): minor code reuse.
9674
9675         * window.c (Fcurrent_window_configuration): revert previous
9676         change.
9677
9678 2001-01-02  Martin Buchholz  <martin@xemacs.org>
9679
9680         * glyphs.h:
9681         * glyphs.c (make_image_instance_cache_hash_table): Use ANSI prototypes.
9682
9683 2000-12-31  Andy Piper  <andy@xemacs.org>
9684
9685         * glyphs-x.c (x_unmap_subwindow): return focus to enclosing frame
9686         when widget gets unmapped.
9687
9688         * event-Xt.c (emacs_Xt_handle_widget_losing_focus): new
9689         function. Make sure widgets losing focus don't just drop it.
9690         (handle_focus_event_1): record the widget with focus.
9691
9692 2000-12-31  Andy Piper  <andy@xemacs.org>
9693
9694         * window.c (allocate_window): use
9695         make_image_instance_cache_hash_table.
9696         (make_dummy_parent): ditto.
9697         (Fset_window_configuration): ditto.
9698
9699         * glyphs.h (INSTANTIATOR_TYPE): new macro.  declare new functions.
9700
9701         * glyphs.c (process_image_string_instantiator): use
9702         INSTANTIATOR_TYPE.
9703         (get_image_instantiator_governing_domain): ditto.
9704         (normalize_image_instantiator): ditto.
9705         (instantiate_image_instantiator): ditto.
9706         (make_image_instance_1): ditto.
9707         (image_instantiate): ditto. Key on glyph *and* instantiator type.
9708         (instantiator_eq_equal): new function for use with instance hash
9709         tables.
9710         (instantiator_eq_hash): ditto.
9711         (make_image_instance_cache_hash_table): create a suitable hash
9712         table for storing image instances.
9713
9714         * elhash.h (hash_table_weakness): new internal weakness type
9715         HASH_TABLE_KEY_CAR_VALUE_WEAK.
9716         declare new functions.
9717
9718         * elhash.c (finish_marking_weak_hash_tables): introduce yet
9719         another weakness type for glyphs.
9720         (make_standard_lisp_hash_table): new function split out from
9721         make_general_lisp_hash_table.
9722         (make_lisp_hash_table): call make_standard_lisp_hash_table.
9723         (hash_table_instantiate): ditto.
9724         (Fmake_hash_table): ditto.
9725
9726 2000-12-31  Martin Buchholz <martin@xemacs.org>
9727
9728         * XEmacs 21.2.39 is released.
9729
9730 2000-12-29  Andy Piper  <andy@xemacs.org>
9731
9732         * menubar.c (menubar_visible_p_changed): signal the frame changed.
9733
9734         * glyphs-x.c (x_redisplay_widget): Re-calculate widget offsets if
9735         the frame has changed so that we pick up geometry changes such as
9736         menubar visibility.
9737
9738 2000-12-28  Andy Piper  <andy@xemacs.org>
9739
9740         * lastfile.c (my_ebss): make a char array so we can pad the
9741         bss. Fixes cygwin unexec.
9742
9743         * unexcw.c: invert BROKEN_GDB to NO_DEBUG.
9744
9745 2000-12-26  Andy Piper  <andy@xemacs.org>
9746
9747         * event-Xt.c (emacs_Xt_force_event_pending): add some verbose
9748         comments and try and be more precise about a non-/SIGIO world.
9749         (emacs_Xt_event_pending_p): use XtAppPending under cygwin and non
9750         SIGIO.
9751
9752         * redisplay-output.c (redisplay_normalize_glyph_area): make sure
9753         we don't normalize to zero width or height.
9754
9755 2000-12-24  Andy Piper  <andy@xemacs.org>
9756
9757         * Makefile.in.in (ldflags): add -mwindows when appropriate.
9758
9759 2000-08-18  Golubev I. N.  <gin@mo.msk.ru>
9760
9761         * s/sco5.h: SCO 5 has pty support.
9762
9763 2000-07-20  Kazuyuki IENAGA <ienaga@xemacs.org>
9764
9765         * input-method-xlib.c: supports both XIM_XLIB and USE_XFONTSET.
9766         input-method-xlib.c contains whole contents of input-method-xfs.c,
9767         so we can use input-method-xlib.c's code for USE_XFONTSET
9768         using #ifdefs.
9769         * input-method-xfs.c: removed.
9770
9771 2000-12-20  Stephen Turnbull  <stephen@xemacs.org>
9772
9773         * file-coding.h (enum coding_category_type): reorder enumerators to
9774         make autodetection safer.  Make CODING_CATEGORY_LAST an enumerator
9775         (now one greater than largest real coding_category_type enumerator).
9776         * file-coding.c (coding_category_symbol, coding_category_by_priority,
9777         coding_category_system, fcd_descriptihon_1, decode_coding_category,
9778         Fcoding_category_list, Fset_coding_priority_list,
9779         Fcoding_priority_list, coding_system_from_mask, Fdetect_coding_region,
9780         vars_of_file_coding): adjust for change in CODING_CATEGORY_LAST.
9781
9782 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9783
9784         * redisplay-output.c (redisplay_clear_top_of_window): Remove static.
9785         * redisplay-output.c (redisplay_output_window): Clear top of window
9786         when face is changed.
9787         * redisplay-x.c (x_redraw_exposed_window): Call
9788         redisplay_clear_top_of_window.
9789         * redisplay.h: Publish redisplay_clear_top_of_window.
9790
9791 2000-12-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
9792
9793         * buffer.c (Fkill_buffer): Map over all devices.
9794         * window.c (window_loop): Remove UNSHOW_BUFFER code.
9795         (list_windows): New function.
9796         (list_all_windows): Ditto.
9797         (Freplace_buffer_in_windows): Use them.
9798
9799 2000-02-02   Daiki Ueno <ueno@ueda.info.waseda.ac.jp>
9800
9801         * database.c (berkdb_subtype): Recognize new subtype `queue'.
9802         (Fopen_database): Use `db_create' instead of `db_open'.
9803         (syms_of_database): Initialize Qqueue.
9804
9805 2000-12-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
9806
9807         * buffer.c (common_init_complex_vars_of_buffer): Initialize
9808         buffer_local_face_property.
9809         * buffer.h (struct buffer): New member buffer_local_face_property.
9810         * window.c (Fset_window_buffer):  Mark window's face as changed
9811         when buffer has buffer local face.
9812         * window.h (MARK_WINDOW_FACES_CHANGED): New macro.
9813         * objects.c (color_after_change): Set buffer_local_face_property
9814         when locale of face specifier is buffer.
9815         * objects.c (font_after_change): Ditto.
9816         * objects.c (face_boolean_after_change): Ditto.
9817         * glyphs.c (image_after_change): Ditto.
9818
9819 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9820
9821         * nt.c (mswindows_fstat): Report file permissions, volume serial
9822         number, etc. Code adapted from FSF Emacs 20.7.
9823
9824 2000-12-09  Dan Holmsand  <dan@eyebee.com>
9825
9826         * sysfile.h (lstat): Make lstat an alias for xemacs_stat instead
9827         of stat when we don't have symbolic links, to make sure
9828         mswindows_stat is called on mswindows.
9829
9830 2000-12-12  Yoshiki Hayashi  <yoshiki@xemacs.org>
9831
9832         * alloca.c: Define malloc to xmalloc only when built with XEmacs.
9833
9834 2000-12-12  Martin Buchholz  <martin@xemacs.org>
9835
9836         * doprnt.c (emacs_doprnt_1): More printing fixes.
9837         Make printing of numbers compatible with libc and FSF Emacs.
9838         BUG was: (format "%6.3f" 1.2) ==>"1.200000"
9839         Use the system printf to do most of the hard work of formatting,
9840         instead of doprnt_1().
9841         Calculate memory to allocate for format string.
9842         Remove arbitrary limit on precision, e.g. (format "%.1000f" 3.14)
9843         (doprnt_1): Cleaner code and documentation.
9844
9845 2000-12-01  Jerry James  <james@eecs.ukans.edu>
9846
9847         * Makefile.in.in: Use the loop variable to install headers.
9848
9849 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9850
9851         * window.c (Fsplit_window): Don't invalidate face cache.
9852
9853 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9854
9855         * minibuf.c (Fall_completions): Undo the previous change
9856         which removed checking elements start with space.
9857
9858 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9859
9860         * mule-canna.c: Didier suppression.
9861
9862 2000-12-06  Stephen Turnbull  <stephen@xemacs.org>
9863
9864         * mule-canna.c: rename static unsigned char buf[] to key_buffer
9865         (warning suppression).  Add English comment translations.
9866
9867 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9868
9869         * unexelfsgi.c (unexec): Better test for mmap failure.
9870
9871 2000-12-05  Martin Buchholz <martin@xemacs.org>
9872
9873         * XEmacs 21.2.38 is released.
9874
9875 2000-12-05  Martin Buchholz  <martin@xemacs.org>
9876
9877         * redisplay.c (bar-cursor): Make a user variable.
9878
9879         * symsinit.h: Add init_postgresql_from_environment.
9880
9881 2000-12-04  Yoshiki Hayashi  <yoshiki@xemacs.org>
9882
9883         * regex.c: Convert to clean C.
9884
9885 2000-12-05  Dan Holmsand  <dan@eyebee.com>
9886
9887         * realpath.c:
9888         Don't #include sysfile.h. Revert to duplicating PATH_MAX
9889         initialization.
9890         (sys_readlink): renamed to system_readlink to avoid conflict with
9891         the other sys_readlink.
9892
9893 2000-12-04  Hiroaki Abe  <h-abe@pc.highway.ne.jp>
9894
9895         * dumper.c (pdump_file_get): Correct uses of pdump_fd.
9896
9897 2000-12-04  Stephen J. Turnbull  <stephen@xemacs.org>
9898
9899         * postgresql.c (init_postgresql_from_environment): new function.
9900         (vars_of_postgresql): Move code initializing Lisp variables out and
9901         into init_postgresql_from_environment.
9902         emacs.c (main_1): Call init_postgresql_from_environment if and only
9903         if running a dumped XEmacs.
9904
9905 2000-08-31  Dan Holmsand  <dan@eyebee.com>
9906
9907         * buffer.c: Make find-file-compare-truenames default to true on
9908         windows.
9909
9910         * realpath.c (win32_abs_start):
9911         (cygwin_readlink):
9912         (win32_readlink): New functions.
9913         (xrealpath): Return really real filenames on windows.
9914
9915         * fileio.c (Ffile_truename): Make file-truename work on windows.
9916
9917 2000-11-29  Didier Verna  <didier@xemacs.org>
9918
9919         * faces.c (MAYBE_UNFROB_BACKGROUND_PIXMAP): new macro.
9920         * faces.c (update_face_cachel_data): use it.
9921         * faces.c (add_face_cachel): use it. Complete background pixmap
9922         frobbing in face cache if `update_face_cachel_data' has not done so.
9923
9924 2000-11-29  Yoshiki Hayashi  <yoshiki@xemacs.org>
9925
9926         * search.c (string_match_1): Don't set last_thing_searched
9927         when search failed.
9928
9929 2000-11-27  Yoshiki Hayashi  <yoshiki@xemacs.org>
9930
9931         * buffer.c: Include casetab.h
9932         (common_init_complex_vars_of_buffer): Use new case-table object.
9933         * buffer.h: Include casetab.h
9934         * buffer.h (MAKE_TRT_TABLE): Use generic char-table.
9935         (DOWNCASE_TABLE_OF): Ditto.
9936         * bufslots.h: Remove char-tables and add case-table.
9937         * casetab.c: Include casetab.h
9938         (CASE_TABLE_P): Removed.
9939         (mark_case_table): New function.
9940         (allocate_case_table): New function.
9941         (Fcase_table_p): Use new case-table.
9942         (case_table_char): New function.
9943         (Fget_case_table): Ditto.
9944         (Fput_case_table): Ditto.
9945         (Fput_case_table_pair): Ditto.
9946         (Fcopy_case_table): Ditto.
9947         (Fcurrent_case_table): Return case-table.
9948         (Fstandard_case_table): Return case-table.
9949         (Fset_case_table): Fix doc-string.
9950         (set_case_table): Use case-table
9951         (syms_of_casetab): DEFSUBR new functions.
9952         (complex_vars_of_casetab): Set up standard case-table.
9953         * casetab.h: New file.
9954         * editfns.c: Include casetab.h
9955         (Fcompare_buffer_substrings): Use case-table.
9956         * inline.c: Include casetab.h
9957         * lisp.h: Remove bogus extern.
9958         * lrecord.h (lrecord_type): Add lrecord_type_case_table.
9959         * search.c: Include casetab.h
9960         (TRANSLATE_ASCII): Removed.
9961         (TRANSLATE): Unconditionally translate character.
9962         (looking_at_1): Use case-table.
9963         (string_match_1): Ditto.
9964         (fast_string_match): Ditto.
9965         (search_command): Ditto.
9966         (search_buffer): Separate boyer_moore.  Check whether
9967         boyer_moore is possible.
9968         (simple_search): New function.
9969         (boyer_moore): Separated from search_buffer. Translate char.
9970
9971 2000-11-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
9972
9973         * regex.c (RE_TR_ASCII): Removed.
9974         (RE_TRANSLATE): Unconditionally use TRT_TABLE.
9975         (PATFETCH): Call PATFETCH_RAW.
9976         (PATFETCH_RAW): Fetch Emchar.
9977         (PATUNFETCH): Decrement charptr.
9978         (GET_BUFFER_SPACE): Rename b to buf_end.
9979         (BUF_PUSH): Ditto.
9980         (BUF_PUSH_2): Ditto.
9981         (BUF_PUSH_3): Ditto.
9982         (EXTEND_BUFFER): Ditto.
9983         (SET_LIST_BIT): Ditto.
9984         (regex_compile): Ditto.  Translate non ASCII char.
9985         (compile_range): Ditto.
9986         (re_search_2): Ditto.
9987         (re_match_2_internal): Compare Emchar.
9988         (bcmp_translate): Ditto.
9989
9990 2000-11-29  Stephen J. Turnbull  <turnbull@xemacs.org>
9991
9992         * lisp.h (basic char/int typedefs):  comment improvement.
9993
9994 2000-11-24  Stephen J. Turnbull  <turnbull@xemacs.org>
9995
9996         * emacs.c (main_1):  unconditional pdump unstomping; don't save and
9997         unstomp inhibit_site_lisp.  Improve comments.
9998
9999 2000-11-22  Stephen J. Turnbull  <turnbull@xemacs.org>
10000
10001         * mule-charset.c (Fcharset_property):  improve type checking, comments.
10002
10003 2000-11-28  Andy Piper  <andy@xemacs.org>
10004
10005         * redisplay-output.c (redisplay_output_subwindow): make sure we do
10006         clipped display for windows in the gutter also.
10007         (redisplay_display_boxes_in_window_p): change semantics of return
10008         codes to be more intuitive.
10009
10010         * gutter.h: declare display_boxes_in_gutter_p.
10011
10012         * gutter.c (display_boxes_in_gutter_p): new function for
10013         redisplay.
10014
10015 2000-11-22  Andy Piper  <andy@xemacs.org>
10016
10017         * glyphs-x.c (image_instantiator_format_create_glyphs_x): change
10018         autodetect domain.
10019
10020 2000-11-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
10021
10022         * callproc.c (Fold_call_process_internal):
10023         * gpm.c (Freceive_gpm_event):
10024         (tty_get_foreign_selection): Might be just warning supression.
10025         * fileio.c (Fwrite_region_internal):
10026         (Fset_visited_file_modtime):
10027         * keymap.c (event_matches_key_specifier_p):
10028         Initialize GCPROed variable.
10029
10030         * menubar-x.c (command_builder_find_menu_accelerator):
10031         Initialize before use.
10032
10033 2000-11-23  Andy Piper  <andy@xemacs.org>
10034
10035         * unexcw.c (unexec): make the resulting executable executable.
10036
10037 2000-11-21  Martin Buchholz  <martin@xemacs.org>
10038
10039         * doc.c (get_doc_string):
10040         Use size_t, not int, for result of XSTRING_LENGTH.
10041
10042         * cmds.c (Fdelete_char):
10043         * cmds.c (Fpoint_at_eol):
10044         * cmds.c (Fself_insert_command):
10045         Use EMACS_INT, not int, for result of XINT.
10046         Someday, someone will want to insert more than 2**31 identical characters.
10047
10048         * cmds.c (Fdelete_char):
10049         * cmds.c (Fdelete_backward_char):
10050         * syntax.c (Fforward_word):
10051         * syntax.c (Fforward_comment):
10052         Make COUNT argument optional, for consistency with forward-char et al.
10053
10054 2000-11-22  Martin Buchholz  <martin@xemacs.org>
10055
10056         * lisp.h:
10057         * print.c (long_to_string):
10058         Return a useful value: the pointer at end of data written.
10059
10060         * doprnt.c:
10061         Use `static const char * const' for constant strings.
10062         (union printf_arg): Delete `i', `ui' members.
10063         (get_doprnt_args):
10064         (emacs_doprnt_1):
10065         Fix LP64 platform bug: (format "%d" most-positive-fixnum) ==> "-1"
10066         Do all printf-ing via the `l' specifier.
10067         Use EMACS_INT instead of int.
10068         Optimize.
10069
10070 2000-11-20  Didier Verna  <didier@xemacs.org>
10071
10072         * faces.c (update_face_cachel_data): don't frob the background
10073         pixmap when the window is being created. The face is needed but
10074         does not exist yet.
10075
10076 2000-11-20  Andy Piper  <andy@xemacs.org>
10077
10078         * unexcw.c (copy_executable_and_dump_data_section): Only do bss
10079         messing with a debug environment.
10080
10081 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10082
10083         * emacs.c (__sti__iflPNGFile_c___): Pedantically correct prototype.
10084
10085 2000-11-20  Martin Buchholz  <martin@xemacs.org>
10086
10087         * casetab.c (Fcase_table_p): Fix compile error and crash.
10088
10089 2000-11-18  Philip Aston  <philipa@mail.com>
10090
10091         * s/cygwin32.h: Cygwin has SVR4-like pty support.
10092
10093 2000-11-18  Martin Buchholz  <martin@xemacs.org>
10094
10095         * fileio.c (Fexpand_file_name): GCPRO bug!  Protect `handler'.
10096         * filelock.c (lock_file): GCPRO bug! Initialize all GCPROed vars!
10097
10098 2000-11-17  Martin Buchholz  <martin@xemacs.org>
10099
10100         * config.h.in: Define HAVE_ELF_H if elf.h exists.
10101         * unexelf.c: Use HAVE_ELF_H.
10102         * unexelfsgi.c: Fix bug with dumped xemacs stdout/stderr not working.
10103         I copied FSF Emacs 20.7 unexelf.c to unexelfsgi.c and ANSIfied it.
10104         Max Matveev <makc@sgi.com> removed non-SGI-relevant parts and tested.
10105         Greg Harrington <greg_harrington@hotmail.com> provided a machine
10106         for testing.
10107         So this is an unexelfsgi.c from a different line of development.
10108
10109 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10110
10111         * regex.c (RE_TR_ASCII): New function.
10112         (RE_TRANSLATE): Call it.
10113
10114 2000-11-16  Yoshiki Hayashi  <yoshiki@xemacs.org>
10115
10116         * buffer.h (TRT_TABLE_OF): Remove assert.
10117         (IN_TRT_TABLE_DOMAIN): Removed.
10118
10119 2000-11-16  Gunnar Evermann  <ge204@eng.cam.ac.uk>
10120
10121         * free-hook.c (log_gcpro):
10122         (show_gcprohist): Add support for GCPRO5.
10123
10124 2000-11-08  Stephen J. Turnbull  <stephen@xemacs.org>
10125
10126         * emacs.c (main_1): Improve -sd error message when --pdump=no.
10127
10128 2000-11-16  Olivier Galibert  <galibert@xemacs.org>
10129
10130         * symeval.h: Declare flush_all_buffer_local_cache.
10131
10132         * symbols.c: Change XD_LO_RESET_NIL into XD_LISP_OBJECTs.
10133         (flush_buffer_local_cache): Added.
10134         (flush_all_buffer_local_cache): Added.
10135
10136         * lrecord.h: Remove unused XD_LO_RESET_NIL.
10137
10138         * dumper.c (pdump_register_sub): Remove unused XD_LO_RESET_NIL.
10139         (pdump_dump_data): Ditto.
10140         (pdump_reloc_one): Ditto.
10141         (pdump): Remove unused pdump_qnil.  Flush buffer local caches
10142         before dumping.
10143
10144
10145 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10146
10147         * buffer.c: Remove if 0'ed entry.
10148         * buffer.h: Rewrite TRT to use char-table.
10149         * bufslots.h: Remove mirror tables.
10150         * casetab.c: Remove mirror tables.
10151         (CASE_TABLE_P): New macro.
10152         (Fcase_table_p): Element of a case table is string or char-table.
10153         (make_mirror_trt_table): Removed.
10154         (set_case_table): Setup char-table from strings for backward
10155         compatibility.
10156         * dired.c (Fdirectory_files):
10157         * dired-msw.c: (mswindows_get_files):
10158         * lisp.h: Change prototype of re_pattern_buffer.
10159         * regex.c: (RE_TRANSLATE): New macro.
10160         (TRANSLATE_P): Ditto.
10161         Change translate to type RE_TRANSLATE_TYPE.
10162         * regex.h: Define RE_TRANSLATE_TYPE
10163         * search.c (TRANSLATE): New macro.
10164         (TRANSLATE_ASCII): New macro.
10165         Translate table is changed to Lisp_Object.
10166         (signal_failure): Inhibit return.
10167
10168 2000-11-14  Yoshiki Hayashi  <yoshiki@xemacs.org>
10169
10170         * device-msw.c:
10171         * eldap.c:
10172         * event-Xt.c:
10173         * event-stream.c:
10174         * print.c:
10175         Do UNGCPRO before return.
10176
10177 2000-11-14  Martin Buchholz <martin@xemacs.org>
10178
10179         * XEmacs 21.2.37 is released.
10180
10181 2000-11-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
10182
10183         * fileio.c (Finsert_file_contents_internal): UNGCPRO before return.
10184         Add comments about discarded return value.
10185
10186 2000-11-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
10187
10188         * callint.c:
10189         * event-stream.c: Fix comments.  Remove some #if 0'ed part.
10190
10191 2000-10-27  Andy Piper  <andy@xemacs.org>
10192
10193         * gutter.c (Fset_default_gutter_position): default left and right
10194         gutters to visible.
10195         (calculate_gutter_size): calculate resonable heuristic for left
10196         and right gutter sizes.
10197         (specifier_vars_of_gutter): change left and right gutter sizes to
10198         autodetect.
10199         (calculate_gutter_size_from_display_lines): new function.
10200         (output_gutter): check for resizing on left and right gutters.
10201         (clear_gutter): don't special case top and left gutters.
10202         (specifier_vars_of_gutter): use new signature for
10203         set_specifier_caching.
10204
10205         * glyphs-x.c (x_redisplay_widget): spelling fix.
10206         * glyphs.c (specifier_vars_of_glyphs):
10207         * menubar.c (specifier_vars_of_menubar):
10208         * redisplay.c (specifier_vars_of_redisplay):
10209         * toolbar.c (specifier_vars_of_toolbar):
10210         * window.c (specifier_vars_of_window):
10211         * scrollbar.c (specifier_vars_of_scrollbar):
10212         (complex_vars_of_scrollbar): use new signature for
10213         set_specifier_caching.
10214
10215         * specifier.c (set_specifier_caching): include recompute flag.
10216         (recompute_one_cached_specifier_in_window): always recompute if
10217         flag set.
10218         (recompute_one_cached_specifier_in_frame): ditto.
10219
10220         * specifier.h (struct specifier_caching): add recompute flag.
10221
10222 2000-10-24  Andy Piper  <andy@xemacs.org>
10223
10224         * unexcw.c (copy_executable_and_dump_data_section): add new
10225         BSS_PAD_SIZE so that we can re-instate a mini-bss. This keeps gdb
10226         5.0 happy.
10227
10228 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10229
10230         * console-x.h (x_device): New member modifier_release_time.
10231         * event-Xt.c (x_handle_sticky_modifiers):
10232         Bound interval modifier keys are sticky.
10233         * event-stream.c (Vmodifier_keys_sticky_time): New variable.
10234         * events.h: extern it.
10235
10236 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10237
10238         * cmdloop.c (Fcommand_loop_1): Just add C-g to event queue.
10239
10240 2000-11-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
10241
10242         * event-stream.c (execute_command_event): Preserve current_events
10243         and the like when event is misc-user-event.
10244         Inhibit quit during the call to maybe_echo_keys.
10245
10246 2000-10-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
10247
10248         * filelock.c (lock_buffer): Cope with kill-buffer. Don't create a
10249         symlink when buffer is killed.
10250         (inhibit_clash_detection): New variable.
10251
10252 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10253
10254         * console.c (Fset_input_method): Trigger redisplay on tty.
10255
10256 2000-11-07  Martin Buchholz  <martin@xemacs.org>
10257
10258         * process.c (Fprocess_status): Revert to previous behavior:
10259         (process-status "nosuchprocess") ==> nil
10260
10261 2000-11-06  Martin Buchholz  <martin@xemacs.org>
10262
10263         * mule-charset.h (CHARSET_BY_LEADING_BYTE):
10264         Work around another GCC 2.95.2 optimizer bug.
10265
10266 2000-11-02  Martin Buchholz  <martin@xemacs.org>
10267
10268         * process.c (Fget_process): Use LIST_LOOP_2.
10269         (kill_buffer_processes): Use LIST_LOOP_2.
10270
10271         * minibuf.c (Fall_completions):
10272         Delete old non-functional code for FSF fourth argument.
10273
10274         * frame.c (frame_matches_frame_spec):
10275         Renamed from `frame_matches_frametype'.  Update all callers.
10276         (device_matches_device_spec):
10277         Renamed from 'device_matches_console_spec'.  Update all callers.
10278
10279         * doc.c (Fsubstitute_command_keys):
10280         Remove buffer overflow crash.  Small code cleanups.
10281
10282         * casetab.c (check_case_table): Simpler code.
10283
10284         * window.c (Freplace_buffer_in_windows):
10285         Give this the same WHICH-FRAMES and WHICH-DEVICES parameters
10286         (and similar implementation) as Fdelete_windows_on.
10287         Update all callers.
10288
10289         * alloc.c (Fmake_list):
10290         * alloc.c (make_vector):
10291         * alloc.c (Fmake_vector):
10292         * alloc.c (make_bit_vector):
10293         * alloc.c (Fmake_bit_vector):
10294         * alloc.c (Fbit_vector):
10295         * alloc.c (Fmake_string):
10296         * alloc.c (Fpurecopy):
10297         * alloc.c (Fmemory_limit):
10298         * buffer.c:
10299         * buffer.c (Fget_buffer):
10300         * buffer.c (Fkill_buffer):
10301         * buffer.c (complex_vars_of_buffer):
10302         * bytecode.c (Fcompiled_function_stack_depth):
10303         * callint.c (Fprefix_numeric_value):
10304         * event-stream.c:
10305         * event-stream.c (Fread_key_sequence):
10306         * casetab.c:
10307         * casetab.c (Fcase_table_p):
10308         * casetab.c (check_case_table):
10309         * casetab.c (Fset_case_table):
10310         * casetab.c (Fset_standard_case_table):
10311         * chartab.c:
10312         * chartab.c (Fchar_table_type):
10313         * chartab.c (Freset_char_table):
10314         * chartab.c (Fget_char_table):
10315         * chartab.c (Fget_range_char_table):
10316         * chartab.c (Fput_char_table):
10317         * chartab.c (Fmap_char_table):
10318         * chartab.c (Fcategory_table_p):
10319         * chartab.c (Fcheck_category_at):
10320         * chartab.c (Fchar_in_category_p):
10321         * chartab.c (Fcategory_table):
10322         * chartab.c (Fcopy_category_table):
10323         * chartab.c (Fset_category_table):
10324         * chartab.c (Fcategory_designator_p):
10325         * chartab.c (Fcategory_table_value_p):
10326         * cmds.c (Fdelete_char):
10327         * cmds.c (Fdelete_backward_char):
10328         * cmds.c (Fself_insert_command):
10329         * cmds.c (Fself_insert_internal):
10330         * console.c (Fvalid_console_type_p):
10331         * console.c (Fcdfw_console):
10332         * console.c (Fconsole_type):
10333         * console.c (Fconsole_name):
10334         * console.c (Fconsole_device_list):
10335         * console.c (Fconsole_on_window_system_p):
10336         * data.c:
10337         * data.c (Feq):
10338         * data.c (Fold_eq):
10339         * data.c (Fsubr_interactive):
10340         * data.c (Fchar_to_int):
10341         * data.c (Fint_to_char):
10342         * data.c (Fsetcar):
10343         * data.c (Fsetcdr):
10344         * data.c (Fnumber_to_string):
10345         * data.c (Fstring_to_number):
10346         * data.c (Frem):
10347         * database.c (mark_database):
10348         * database.c (finalize_database):
10349         * database.c (Fdatabase_live_p):
10350         * database.c (Fdatabasep):
10351         * device-x.c (Fx_get_resource):
10352         * device.c (Fdfw_device):
10353         * dired.c:
10354         * dired.c (Ffile_name_completion):
10355         * dired.c (Ffile_name_all_completions):
10356         * dired.c (Fuser_name_completion):
10357         * dired.c (Fuser_name_completion_1):
10358         * dired.c (Fuser_name_all_completions):
10359         * doc.c (Fdocumentation):
10360         * doc.c (Fdocumentation_property):
10361         * doc.c (Fsubstitute_command_keys):
10362         * editfns.c:
10363         * editfns.c (Fchar_to_string):
10364         * editfns.c (Fstring_to_char):
10365         * editfns.c (Ftemp_directory):
10366         * editfns.c (Finsert_char):
10367         * editfns.c (Fbuffer_substring_no_properties):
10368         * editfns.c (Fnarrow_to_region):
10369         * editfns.c (Fchar_equal):
10370         * editfns.c (Fchar_Equal):
10371         * editfns.c (Ftranspose_regions):
10372         * emacs.c (Fdump_emacs):
10373         * eval.c (Fthrow):
10374         * eval.c (Fcommand_execute):
10375         * eval.c (Fautoload):
10376         * eval.c (Fbacktrace):
10377         * eval.c (Fbacktrace_frame):
10378         * events.c:
10379         * events.c (Fcopy_event):
10380         * events.c (Fcharacter_to_event):
10381         * events.c (Fevent_button):
10382         * events.c (Fevent_process):
10383         * extents.c:
10384         * extents.c (Fnext_extent_change):
10385         * extents.c (Fextent_property):
10386         * faces.c (Ffacep):
10387         * faces.c (Fmake_face):
10388         * file-coding.c:
10389         * file-coding.c (Fencode_shift_jis_char):
10390         * file-coding.c (Fencode_big5_char):
10391         * fileio.c (Ffile_name_directory):
10392         * fileio.c (Ffile_name_nondirectory):
10393         * fileio.c (Ffile_name_as_directory):
10394         * fileio.c (Fdirectory_file_name):
10395         * fileio.c (Ffile_truename):
10396         * fileio.c (Fsubstitute_in_file_name):
10397         * fileio.c (Ffile_modes):
10398         * fileio.c (Fset_file_modes):
10399         * fileio.c (Fset_default_file_modes):
10400         * fileio.c (Fverify_visited_file_modtime):
10401         * floatfns.c (Facos):
10402         * floatfns.c (Fasin):
10403         * floatfns.c (Fatan):
10404         * floatfns.c (Fcos):
10405         * floatfns.c (Fsin):
10406         * floatfns.c (Ftan):
10407         * floatfns.c (Fbessel_j0):
10408         * floatfns.c (Fbessel_j1):
10409         * floatfns.c (Fbessel_jn):
10410         * floatfns.c (Fbessel_y0):
10411         * floatfns.c (Fbessel_y1):
10412         * floatfns.c (Fbessel_yn):
10413         * floatfns.c (Ferf):
10414         * floatfns.c (Ferfc):
10415         * floatfns.c (Flog_gamma):
10416         * floatfns.c (Fexp):
10417         * floatfns.c (Fexpt):
10418         * floatfns.c (Flog):
10419         * floatfns.c (Flog10):
10420         * floatfns.c (Fsqrt):
10421         * floatfns.c (Fcube_root):
10422         * floatfns.c (Facosh):
10423         * floatfns.c (Fasinh):
10424         * floatfns.c (Fatanh):
10425         * floatfns.c (Fcosh):
10426         * floatfns.c (Fsinh):
10427         * floatfns.c (Ftanh):
10428         * floatfns.c (Fabs):
10429         * floatfns.c (Ffloat):
10430         * floatfns.c (Flogb):
10431         * floatfns.c (Fceiling):
10432         * floatfns.c (Ffloor):
10433         * floatfns.c (Fround):
10434         * floatfns.c (Ftruncate):
10435         * floatfns.c (Ffceiling):
10436         * floatfns.c (Fffloor):
10437         * floatfns.c (Ffround):
10438         * floatfns.c (Fftruncate):
10439         * fns.c (Fstring_equal):
10440         * fns.c (Fstring_lessp):
10441         * fns.c (concat2):
10442         * fns.c (concat3):
10443         * fns.c (vconcat2):
10444         * fns.c (vconcat3):
10445         * fns.c (Fsubstring):
10446         * fns.c (Fassoc):
10447         * fns.c (Fold_assoc):
10448         * fns.c (assoc_no_quit):
10449         * fns.c (Fassq):
10450         * fns.c (Fold_assq):
10451         * fns.c (assq_no_quit):
10452         * fns.c (Frassoc):
10453         * fns.c (Fold_rassoc):
10454         * fns.c (Frassq):
10455         * fns.c (Fold_rassq):
10456         * fns.c (rassq_no_quit):
10457         * fns.c (Fremassoc):
10458         * fns.c (remassoc_no_quit):
10459         * fns.c (Fremassq):
10460         * fns.c (remassq_no_quit):
10461         * fns.c (Fremrassoc):
10462         * fns.c (Fremrassq):
10463         * fns.c (remrassq_no_quit):
10464         * fns.c (Fsort):
10465         * fns.c (Fplist_get):
10466         * fns.c (Fplist_put):
10467         * fns.c (Fplist_remprop):
10468         * fns.c (Fplist_member):
10469         * fns.c (Flax_plist_get):
10470         * fns.c (Flax_plist_put):
10471         * fns.c (Flax_plist_remprop):
10472         * fns.c (Flax_plist_member):
10473         * fns.c (Fequal):
10474         * fns.c (Fold_equal):
10475         * fns.c (Frequire):
10476         * fns.c (Fbase64_encode_region):
10477         * fns.c (Fbase64_encode_string):
10478         * fns.c (Fbase64_decode_region):
10479         * frame.c:
10480         * frame.c (frame_matches_frame_spec):
10481         * frame.c (device_matches_device_spec):
10482         * frame.c (next_frame):
10483         * frame.c (previous_frame):
10484         * frame.c (Fnext_frame):
10485         * frame.c (Fprevious_frame):
10486         * frame.c (Fframe_property):
10487         * frame.c (Fset_frame_height):
10488         * frame.c (Fset_frame_size):
10489         * frame.h:
10490         * glyphs.c:
10491         * glyphs.c (if):
10492         * glyphs.c (decode_error_behavior_flag):
10493         * glyphs.c (Fmake_image_instance):
10494         * indent.c (Findent_to):
10495         * intl.c (Fignore_defer_gettext):
10496         * keymap.c (Fkeymapp):
10497         * keymap.c (Flookup_key):
10498         * lread.c:
10499         * lread.c (Fload_internal):
10500         * lread.c (Feval_buffer):
10501         * lread.c (Feval_region):
10502         * macros.c (Fexecute_kbd_macro):
10503         * marker.c (set_marker_internal):
10504         * marker.c (Fset_marker):
10505         * marker.c (set_marker_restricted):
10506         * marker.c (Fcopy_marker):
10507         * marker.c (noseeum_copy_marker):
10508         * menubar.c:
10509         * menubar.c (Fpopup_menu):
10510         * minibuf.c:
10511         * mule-charset.c (Fcharset_name):
10512         * mule-charset.c (Fchar_charset):
10513         * mule-charset.c (Fchar_octet):
10514         * mule-charset.c (Fsplit_char):
10515         * mule-wnnfns.c (Fwnn_open):
10516         * mule-wnnfns.c (Fwnn_dict_comment):
10517         * mule-wnnfns.c (Fwnn_quit_henkan):
10518         * mule-wnnfns.c (Fwnn_word_toroku):
10519         * mule-wnnfns.c (Fwnn_word_sakujo):
10520         * mule-wnnfns.c (Fwnn_word_use):
10521         * mule-wnnfns.c (Fwnn_hindo_set):
10522         * objects.c:
10523         * objects.c (Fmake_color_instance):
10524         * objects.c (Fmake_font_instance):
10525         * print.c (Fwrite_char):
10526         * process.c:
10527         * process.c (mark_process):
10528         * process.c (print_process):
10529         * process.c (get_process_from_usid):
10530         * process.c (Fprocessp):
10531         * process.c (Fprocess_live_p):
10532         * process.c (Fget_process):
10533         * process.c (Fget_buffer_process):
10534         * process.c (get_process):
10535         * process.c (Fprocess_id):
10536         * process.c (Fprocess_name):
10537         * process.c (Fprocess_command):
10538         * process.c (init_process_io_handles):
10539         * process.c (start_process_unwind):
10540         * process.c (Fstart_process_internal):
10541         * process.c (Fopen_multicast_group_internal):
10542         * process.c (Fset_process_window_size):
10543         * process.c (read_process_output):
10544         * process.c (send_process):
10545         * process.c (Fprocess_tty_name):
10546         * process.c (Fset_process_buffer):
10547         * process.c (Fprocess_buffer):
10548         * process.c (Fprocess_mark):
10549         * process.c (set_process_filter):
10550         * process.c (Fset_process_filter):
10551         * process.c (Fprocess_filter):
10552         * process.c (Fprocess_send_region):
10553         * process.c (Fprocess_send_string):
10554         * process.c (exec_sentinel):
10555         * process.c (Fset_process_sentinel):
10556         * process.c (Fprocess_sentinel):
10557         * process.c (status_notify):
10558         * process.c (Fprocess_status):
10559         * process.c (Fprocess_exit_status):
10560         * process.c (process_send_signal):
10561         * process.c (Fprocess_send_eof):
10562         * process.c (deactivate_process):
10563         * process.c (remove_process):
10564         * process.c (Fdelete_process):
10565         * process.c (kill_buffer_processes):
10566         * process.c (Fprocess_kill_without_query):
10567         * process.c (Fprocess_kill_without_query_p):
10568         * rangetab.c:
10569         * rangetab.c (Fget_range_table):
10570         * rangetab.c (Fput_range_table):
10571         * rangetab.c (Fremove_range_table):
10572         * rangetab.c (Fclear_range_table):
10573         * search.c:
10574         * search.c (Fskip_chars_forward):
10575         * search.c (Fskip_chars_backward):
10576         * search.c (Fskip_syntax_forward):
10577         * search.c (Fskip_syntax_backward):
10578         * search.c (search_command):
10579         * search.c (Freplace_match):
10580         * search.c (Fregexp_quote):
10581         * select.c (Fown_selection_internal):
10582         * select.c (Fselection_owner_p):
10583         * select.c (Fselection_exists_p):
10584         * select.c (Fget_selection_internal):
10585         * specifier.c:
10586         * symbols.c:
10587         * symbols.c (Fintern):
10588         * symbols.c (Fintern_soft):
10589         * symbols.c (Funintern):
10590         * symbols.c (Fapropos_internal):
10591         * symbols.c (Fset_default):
10592         * syntax.c:
10593         * syntax.c (Fsyntax_table_p):
10594         * syntax.c (Fcopy_syntax_table):
10595         * syntax.c (Fset_syntax_table):
10596         * syntax.c (Fchar_syntax):
10597         * syntax.c (syntax_match):
10598         * syntax.c (Fmatching_paren):
10599         * syntax.c (Fforward_word):
10600         * syntax.c (scan_lists):
10601         * syntax.c (Fscan_lists):
10602         * syntax.c (Fscan_sexps):
10603         * syntax.c (Fparse_partial_sexp):
10604         * toolbar.c (Fcheck_toolbar_button_syntax):
10605         * tooltalk.doc:
10606         * window.c:
10607         * window.c (Fwindowp):
10608         * window.c (Fwindow_live_p):
10609         * window.c (Fwindow_point):
10610         * window.c (Fdelete_window):
10611         * window.c (Fnext_window):
10612         * window.c (Fprevious_window):
10613         * window.c (Fother_window):
10614         * window.c (window_loop):
10615         * window.c (Fget_lru_window):
10616         * window.c (Fsplit_window):
10617         * window.c (Fenlarge_window):
10618         * window.c (Fenlarge_window_pixels):
10619         * window.c (Fshrink_window):
10620         * window.c (Fshrink_window_pixels):
10621         * window.c (change_window_height):
10622         * window.c (Fwindow_configuration_p):
10623         * window.c (Fcurrent_window_configuration):
10624         * window.h:
10625         * casefiddle.c (casify_object):
10626         * casefiddle.c (Fupcase):
10627         * casefiddle.c (Fdowncase):
10628         * casefiddle.c (Fcapitalize):
10629         * casefiddle.c (Fupcase_initials):
10630         * casefiddle.c (casify_region_internal):
10631         * casefiddle.c (casify_region):
10632         * casefiddle.c (Fupcase_region):
10633         * casefiddle.c (Fdowncase_region):
10634         * casefiddle.c (Fcapitalize_region):
10635         * casefiddle.c (Fupcase_initials_region):
10636         * casefiddle.c (Fupcase_word):
10637         * casefiddle.c (Fdowncase_word):
10638         * casefiddle.c (Fcapitalize_word):
10639         Docstring arglist/Texinfo fixes.  See man/ChangeLog for details.
10640         Replace 0 with '\0' when working with bytes.
10641         Replace initial "(" with "\(" in docstrings.
10642
10643 2000-11-01  Martin Buchholz  <martin@xemacs.org>
10644
10645         * config.h.in: Handle alloca with Compaq C on Alpha Linux.
10646
10647         * m/alpha.h: Let configure handle SYSTEM_MALLOC on Linux.
10648
10649 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10650
10651         * eldap.c (print_ldap): 64-bit cleaner.  Fixes warning.
10652
10653 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10654
10655         * doprnt.c (emacs_do_prnt_1): Format (format "%01.2d" 10)
10656         correctly.
10657
10658 2000-10-30  Yoshiki Hayashi  <yoshiki@xemacs.org>
10659
10660         * fileio.c (Vauto_save_list_file_prefix): Moved from startup.el.
10661         (inhibit_auto_save_session): New variable.
10662         (vars_of_fileio): Declare and initialize them.
10663         * fileio.c (Fdo_auto_save): Don't create session file if
10664         Vinhibit_auto_save_session or Vauto_save_list_file_prefix is non-nil.
10665
10666 2000-10-31  Martin Buchholz  <martin@xemacs.org>
10667
10668         * sgiplay.c (play_internal): C++ compilability.
10669         * alloc.c (SWEEP_FIXED_TYPE_BLOCK): Remove unused var `SFTB_prev'.
10670         * callproc.c (Fold_call_process_internal):
10671         Remove unused vars `env', `first'.
10672         * scrollbar.c (update_scrollbar_instance):
10673         #### unused var `current_window'.
10674         * redisplay-tty.c: Put currently unused vars insert_mode_on,
10675         etc. within #ifdef NOT_YET.
10676         * emacs.c: #### unused vars `initial_argc', `initial_argv'.
10677         * dialog-x.c (dbox_descriptor_to_widget_value): ### unused var `title'.
10678         * specifier.c (specifier_instance):
10679         #### unused var `tag'.
10680         Use WINDOW_BUFFER, FRAME_DEVICE instead of their expansion.
10681
10682 2000-10-27  Martin Buchholz  <martin@xemacs.org>
10683
10684         * fns.c (Fbutlast):
10685         * fns.c (list_sort):
10686         * fns.c (Ffillarray):
10687         * fns.c (bytecode_nconc2):
10688         * fns.c (Fnconc):
10689         * fns.c (mapcar1):
10690         * fns.c (Fmapconcat):
10691         Be pedantically 64-bit correct.  For the time when someone will
10692         want to have a list with length > 2**32.
10693
10694         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
10695         Work around MIPSpro compiler bug.
10696
10697         * process-unix.c (unix_kill_child_process): Add snarky comment.
10698         * process-unix.c (try_to_initialize_subtty):  Oops, `=' ==> `=='
10699
10700         * config.h.in: Oops, _getpt ==> _getpty
10701
10702 2000-10-26  Martin Buchholz  <martin@xemacs.org>
10703
10704         * config.h.in:
10705         * regex.c:
10706         Use void*, not char*, as return type of alloca().
10707
10708         * alloc.c (free_marker): Side effect inside assert expression!
10709
10710 2000-10-16  MIYASHITA Hisashi  <himi@m17n.org>
10711
10712         * mule-charset.c (Fset_charset_ccl_program): To check
10713         if the given ccl program is valid, use setup_ccl_program()
10714         instead of CHECK_VECTOR().
10715         (Fmake_charset): Likewise.
10716
10717 2000-10-20  Golubev I. N.  <gin@mo.msk.ru>
10718
10719         * faces.c (get_extent_fragment_face_cache_index):
10720         Fix cachel.merged_faces memory leak.
10721
10722 2000-10-14  MIYASHITA Hisashi  <himi@m17n.org>
10723
10724         * mule-ccl.c (ccl_driver)<CCL_DECODE_SJIS>:
10725         Reset MSB of octets obtained by DECODE_SJIS
10726         because of the incompatibility with Emacs.
10727         (ccl_driver)<CCL_ENCODE_SJIS>:
10728         Set MSB of octets before passing them to
10729         ENCODE_SJIS because of the incompatibility
10730         with Emacs.
10731
10732 2000-10-18   Daiki Ueno  <ueno@unixuser.org>
10733
10734         * lrecord.h (DECLARE_TYPECHECK_LRECORD): Abolish.
10735         (DECLARE_LRECORD): Undo the last change.
10736         (DECLARE_EXTERNAL_LRECORD): Expand typechecking stuff.
10737
10738 2000-10-17   Daiki Ueno  <ueno@unixuser.org>
10739
10740         * lrecord.h (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): Connect
10741         the implementation to lrecord_implementations_table.
10742
10743 2000-10-14   Daiki Ueno  <ueno@unixuser.org>
10744
10745         * lrecord.h (MAKE_EXTERNAL_LRECORD_IMPLEMENTATION): Don't set the
10746         initial value of `lrecord_type_##c_name' and
10747         `lrecord_##c_name.lrecord_type_index'; discard "const" qualifier.
10748         (INIT_EXTERNAL_LRECORD_IMPLEMENTATION): New macro.
10749         [ERROR_CHECK_TYPECHECK] (DECLARE_TYPECHECK_LRECORD): New macro.
10750         [ERROR_CHECK_TYPECHECK] (DECLARE_LRECORD): Use it.
10751         [ERROR_CHECK_TYPECHECK] (DECLARE_EXTERNAL_LRECORD): Use it.
10752
10753 2000-10-17  Martin Buchholz  <martin@xemacs.org>
10754
10755         * miscplay.c (sndcnv8S_2mono):
10756         (sndcnv2monounsigned):
10757         (sndcnvULaw_2linear):
10758         (sndcnv16swap):
10759         Remove implementation-defined behavior.
10760
10761 2000-10-12  Martin Buchholz  <martin@xemacs.org>
10762
10763         * input-method-xlib.c: Warning suppression.
10764
10765 2000-10-05  MIYASHITA Hisashi  <himi@m17n.org>
10766
10767         * mule-ccl.c: Sync up with Emacs 21.0.90.
10768         (ccl_driver)<CCL_TranslateCharacter>: Disabled.
10769         Do nothing.
10770         (ccl_driver)<CCL_TranslateCharacterConstTbl>:
10771         Likewise.
10772         (ccl_driver[WriteMultibyteChar2]): Bug fix.
10773         Use MAX_LEADING_BYTE_OFFICIAL_2 instead of
10774         MIN_LEADING_BYTE_OFFICIAL_2 to check whether the
10775         leading char belongs to official 2-dimensional charset.
10776         (CCL_WRITE_CHAR): When CCL_MODE_ENCODING,
10777         write the given character as is.  Otherwise,
10778         if it is a multibyte char, convert it by
10779         non_ascii_set_charptr_emchar, then write it.
10780         (CCL_WRITE_STRING): Likewise.
10781         (ccl_get_compiled_code): New function.
10782         (setup_ccl_program): When ccl_prog is invalid,
10783         return -1.
10784         (Fregister_code_conversion_map): New function.
10785         (syms_of_mule_ccl): defsubr Fregister_code_conversion_map.
10786
10787         * mule-ccl.h: Sync up with Emacs 21.0.90.
10788         (Fregister_ccl_program): export it.
10789
10790         * redisplay-msw.c (separate_textual_runs):
10791         If ccl program is not valid, don't do ccl conversion.
10792
10793         * redisplay-x.c (separate_textual_runs): Ditto.
10794
10795         * file-coding.c (Fmake_coding_system):
10796         When type is ccl and value is vector, register it
10797         with a proper symbol.  And checks whether the
10798         given ccl program is valid.
10799         (mule_decode): When calling ccl_driver, if src indicates
10800         NULL pointer, set an empty string instead.
10801         (mule_encode): Likewise.
10802
10803 2000-10-11  Martin Buchholz  <martin@xemacs.org>
10804
10805         The following large batch of changes gets us back to a state of
10806         C++ compilability.  Extbyte is now a char, which means that
10807         Extbyte * and Bufbyte * cannot be freely interchanged - a win!
10808
10809         * tooltalk.c (Fset_tooltalk_message_attribute): Type correctness.
10810
10811         * sound.c (Fplay_sound): Type correctness.
10812
10813         * select-x.c (hack_motif_clipboard_selection): Type correctness.
10814         (x_get_window_property): Type correctness.
10815         (receive_incremental_selection): unsigned char ==> Extbyte
10816         (selection_data_to_lisp_data): unsigned char ==> Extbyte
10817         (Fx_get_cutbuffer_internal): unsigned char ==> Extbyte
10818         (Fx_store_cutbuffer_internal): Type correctness.
10819
10820         * process-unix.c (try_to_initialize_subtty): Type correctness.
10821
10822         * objects-x.c (x_print_color_instance): Type correctness.
10823         (x_print_font_instance): Type correctness.
10824         (x_list_fonts): SExtbyte ==> Extbyte.
10825         (valid_x_font_name_p): SExtbyte ==> Extbyte.
10826         (x_find_charset_font): SExtbyte ==> Extbyte.
10827         Use TO_INTERNAL_FORMAT.  build_string ==> make_string.
10828         (truename_via_XListFonts): SExtbyte ==> Extbyte.
10829         (x_font_instance_properties): Use TO_INTERNAL_FORMAT.
10830         Use bufbyte_strcmp.
10831
10832         * mule-charset.h (LEADING_BYTE_PREFIX_P): unsigned char ==> Bufbyte
10833         (PRIVATE_LEADING_BYTE_PREFIX): Add paranoia cast.
10834         (BYTE_ASCII_P): Use bit ops for char-signedness safety.
10835         (BYTE_C0_P): Use bit ops for char-signedness safety.
10836         (BYTE_C1_P): Use bit ops for char-signedness safety.
10837         (CHARSET_BY_LEADING_BYTE):
10838         (CHARSET_BY_ATTRIBUTES):
10839         Always use inline function.
10840         Use type_checking_assert.
10841         Hide chlook.
10842
10843         * mule-charset.c (non_ascii_charptr_copy_char):
10844         Modify to work with both ASCII and non-ASCII characters.
10845         Improve docs and variable names.
10846         Replace over-clever fall-through switch with a simple loop.
10847         (Lstream_get_emchar_1):
10848         Replace over-clever fall-through switch with a simple loop.
10849
10850         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
10851         Warning suppression.
10852
10853         * lstream.h (Lstream_get_emchar): BYTE_ASCII_P cannot be used on
10854         the return value of Lstream_getc, which could be EOF as well.
10855
10856         * lstream.c (Lstream_raw_read): Now returns ssize_t, not int.
10857
10858         * lisp.h: Make Extbyte a char, not unsigned char, so that external
10859         APIs can be used on Extbytes without casts.  Risky!
10860         (SExtbyte): Remove.
10861         (UExtbyte): Remove.
10862
10863         * input-method-xlib.c (XIM_init_device):
10864         Use Xlib.h instead of IntrinsicP.h.
10865         Use HAVE_XREGISTERIMINSTANTIATECALLBACK instead of THIS_IS_X11R6,
10866         which will break in X11R7.
10867         Use XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE,
10868         to call XRegisterIMInstantiateCallback with correct types.
10869
10870         * gui-x.c (button_item_to_widget_value): Type correctness.
10871
10872         * glyphs.c (bitmap_to_lisp_data):  Type correctness.
10873
10874         * glyphs-x.c (pixmap_from_xbm_inline): Type correctness.
10875         (xbm_instantiate_1): Type correctness.
10876         (BUILD_GLYPH_INST):  Type correctness.
10877
10878         * fileio.c (Fsubstitute_in_file_name): Type correctness.
10879
10880         * file-coding.c:
10881         (decode_coding_sjis):
10882         (decode_coding_big5):
10883         (decode_coding_ucs4):
10884         (decode_coding_utf8):
10885         (decode_coding_iso2022):
10886         (decode_coding_no_conversion):
10887         Make all decoding functions take an Extbyte * arg.
10888         (encode_coding_sjis):
10889         (encode_coding_big5):
10890         (encode_coding_ucs4):
10891         (encode_coding_utf8):
10892         (encode_coding_iso2022):
10893         (encode_coding_no_conversion):
10894         Make all encoding functions take a Bufbyte * arg.
10895         Use size_t instead of unsigned int for memory sizes.
10896         Only cast to unsigned char whenever dereferencing Extbyte *.
10897
10898         * doc.c (unparesseuxify_doc_string): Type correctness.
10899
10900         * console-x.c (split_up_display_spec):
10901         Rewrite without using details of internal string representation.
10902         (x_semi_canonicalize_device_connection): Type correctness.
10903
10904         * config.h.in:
10905         (HAVE_XREGISTERIMINSTANTIATECALLBACK): New.
10906         (XREGISTERIMINSTANTIATECALLBACK_NONSTANDARD_PROTOTYPE): New.
10907         (HAVE_XFREE386): Removed.
10908
10909         * buffer.h (DEC_CHARPTR): `const' correctness.
10910         (bufbyte_strcmp): New.
10911         (bufbyte_memcmp): New.
10912
10913         * buffer.c (dfc_convert_to_internal_format): Extbyte ==> Bufbyte
10914
10915         * buffer.h (XCHAR_OR_CHAR_INT):
10916         Always use inline function.
10917         Remove redundant type checking assert() - XINT will abort quite nicely.
10918
10919 2000-10-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
10920
10921         * search.c (Freplace_match): Set newtext to an empty string.
10922
10923 2000-10-10  Martin Buchholz  <martin@xemacs.org>
10924
10925         * s/decosf1-3.h: Remove #include of stropts.h
10926         * s/ptx.h: Remove #include of stropts.h
10927         * s/usg5-4.h: Remove #include of stropts.h
10928         * sysproc.h:
10929         * config.h.in:
10930         Use stropts.h, not sys/stropts.h.
10931         Use strtio.h, not sys/strtio.h.
10932
10933 2000-10-04  Martin Buchholz <martin@xemacs.org>
10934
10935         * XEmacs 21.2.36 is released.
10936
10937 2000-09-21  Andy Piper  <andy@xemacs.org>
10938
10939         * glyphs-x.c (x_redisplay_widget): make sure non-structural
10940         changes still involve copying the widget tree.
10941         (update_widget_face): make sure a change is register in the widget
10942         tree. Call update_tab_widget_face appropriately.
10943         (update_tab_widget_face): ditto.
10944         (x_tab_control_redisplay): make sure non-structural changes still
10945         involve copying the widget tree.
10946
10947 2000-08-31   Daiki Ueno  <ueno@unixuser.org>
10948
10949         * lread.c (locate_file): Check the path element is non-nil.
10950
10951 2000-10-02  Martin Buchholz  <martin@xemacs.org>
10952
10953         * lisp.h: Warning suppression for SCO compilers.
10954
10955         * redisplay-tty.c (reset_tty_modes): Fix crash.
10956         E.g. from xemacs running on X: (delete-device (make-device 'tty nil))
10957
10958 2000-09-27  Martin Buchholz  <martin@xemacs.org>
10959
10960         Big signal/process handling overhaul.  Bugs fixed:
10961         M-x shell, type `sleep 10000', M-x comint-interrupt-subjob and
10962         M-x comint-kill-subjob should work for both values nil and t of
10963         process-connection-type. It was broken on most platforms.
10964         Testing on Irix and Cygwin still needed.  Other plaforms tested.
10965         * sysdep.c: Move #include of stropts.h into sysproc.h.  Use pid_t.
10966         * process-unix.c: Signal/Process handling overhaul.
10967         (pty_name): make 64 bytes, as `expect' does, for paranoia.
10968         (allocate_pty): Use all available modern methods of allocating
10969         ptys, falling back to old style BSD allocation as a last resort.
10970         Use allegedly more secure Unix98 pty allocation by default.
10971         (allocate_pty_the_old_fashioned_way): New. the last resort.
10972         (unix_create_process): Push ptem, ldterm, ttcompat where
10973         available.  Autoconfiscate.
10974         (try_to_initialize_subtty): New.
10975         (unix_kill_child_process): Proper signal handling for ptys on most
10976         platforms, using special knowledge of AIX, BSD, etc...
10977         (unix_create_process): Always disconnect_controlling_terminal() for
10978         subprocesses, whether using ptys or not.
10979         * process.h: Remove old getpt-dependent PTY code.
10980         * process.c (Fprocess_send_signal): New, obvious generic function.
10981         (decode_signal): New.
10982         (Finterrupt_process):
10983         (Fkill_process):
10984         (Fquit_process):
10985         (Fstop_process):
10986         (Fcontinue_process):
10987         (Fsignal_process): Use decode_signal.
10988         (process_send_signal):
10989         Many docstring corrections.
10990         Allow any signal to be sent to a process object.
10991         * config.h.in: Add symbols for big signal/process overhaul.
10992         * syssignal.h (EMACS_KILLPG): Use HAVE_KILLPG. Use `pid', not `gid'.
10993         * sysproc.h: Include process-related headers, where available:
10994         sys/stropts.h sys/strtio.h pty.h libutil.h
10995         * s/irix4-0.h:
10996         * s/irix5-0.h:
10997         * s/cygwin32.h:
10998         * s/gnu.h:
10999         * s/linux.h:
11000         * s/hpux.h:
11001         * s/aix3-1.h:
11002         Remove old S&M pty stuff.
11003         * console-tty.c (tty_init_console): Use pid_t, not int, for pids.
11004         * systty.h: Simplify cpp hackery, improve comments.
11005         Favor BSD ioctl(TIOCGPGRP) over Posix tcgetpgrp().
11006
11007         * editfns.c (Fformat_time_string):
11008         Be a little more paranoid with the return value of ctime.
11009
11010         * fileio.c (check_executable):
11011         (check_writable):
11012         Use symbolic constants X_OK, W_OK.
11013
11014         * console-x.c (split_up_display_spec): Fix a warning.
11015
11016 2000-10-02  Martin Buchholz  <martin@xemacs.org>
11017
11018         * gui-x.c (add_accel_and_to_external): strlen ==> XSTRING_LENGTH
11019         * ntproc.c (sys_spawnve): make_string ==> build_string
11020         Small clarity improvements.
11021
11022 2000-09-30  Martin Buchholz  <martin@xemacs.org>
11023
11024         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY): Warning removal.
11025
11026         * s/windowsnt.h (HAVE_STRCASECMP): Remove.
11027
11028         * config.h.in (HAVE_STRCASECMP): Remove.
11029
11030 2000-09-29  Martin Buchholz  <martin@xemacs.org>
11031
11032         * redisplay-output.c (redisplay_output_pixmap):
11033         Cleaner and possibly more 64-bit correct code.
11034
11035 2000-09-28  Stephen J. Turnbull  <stephen@xemacs.org>
11036
11037         * dumper.c (pdump_load_finish): move restoration of
11038         `noninteractive1' to emacs.c (main_1).
11039         * emacs.c (main_1): protect LISP-visible command-line flags
11040         from pdump_load().
11041
11042 2000-09-26  Stephen J. Turnbull  <stephen@xemacs.org>
11043
11044         * Makefile.in.in (versionclean):  Use EXE_TARGET and
11045         DUMP_TARGET instead of literal program names.
11046
11047 2000-09-20  Martin Buchholz  <martin@xemacs.org>
11048
11049         * Makefile.in.in: Recent purify's require absolute paths for cache-dir.
11050
11051 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11052
11053         * *: Spelling mega-patch
11054
11055 2000-09-19  Martin Buchholz  <martin@xemacs.org>
11056
11057         * fns.c (bad_bad_turtle):
11058         Delete "Eek!" comment, since we fixed the bug to which it refers.
11059
11060 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11061
11062         * alloca.c: Replace REGISTER with register.
11063
11064 2000-09-16   Daiki Ueno  <ueno@unixuser.org>
11065
11066         * file-coding.c (ucs_to_char): Use countof.
11067
11068 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11069
11070         * file-coding.c: (ucs_to_char):
11071         (complex_vars_of_file_coding):
11072         Use countof instead of sizeof.
11073         Use CHECK_NATNUM instead of CHECK_INT.
11074
11075         * sysdep.c (strcasecmp): Remove.
11076         * device-x.c (ascii_strcasecmp): New.
11077         * device-x.c (Fx_get_resource): Use ascii_strcasecmp.
11078         Avoid using non-standard non-portable strcasecmp.
11079
11080 2000-09-16  Martin Buchholz  <martin@xemacs.org>
11081
11082         * Makefile.in.in (mostlyclean): remove reference to prefix-args.
11083         * font-lock.c: remove reference to emacsfns.h.
11084         * search.c: small doc improvement.
11085         * event-Xt.c: correct file names in comments.
11086         * console-x.h Correct file names in comments.
11087         * frame.c: Correct file names in comments.
11088         * event-stream.c: remove Energize from comments.
11089
11090 2000-09-15  Martin Buchholz  <martin@xemacs.org>
11091
11092         * symeval.h (DEFERROR_STANDARD):
11093         (DEFERROR):
11094         (DEFSYMBOL):
11095         (DEFSYMBOL_NO_DUMP):
11096         (DEFSYMBOL_MULTIWORD_PREDICATE):
11097         (DEFSYMBOL_MULTIWORD_PREDICATE_NO_DUMP):
11098         (DEFKEYWORD):
11099         The construct &##name is not sensible C.
11100         Fixes compilation errors with Unixware native compiler.
11101
11102 2000-09-14  Martin Buchholz  <martin@xemacs.org>
11103
11104         * frame.c (device_matches_console_spec): no longer takes a `frame' arg
11105         (next_frame_internal): Removed.  We now just have next_frame.
11106         (next_frame):
11107         Write a simpler and cleaner one-pass algorithm.
11108         Remove called_from_delete_device arg and #ifdefed-out code.
11109         (previous_frame):
11110         Renamed from prev_frame.  Update callers.
11111         Cleaned up to have an analogous implementation to next_frame.
11112         (other_visible_frames_internal): Remove the
11113         called_from_delete_device bogus arg, and hence, remove this
11114         function.  Just use other_visible_frames().
11115
11116         * window.c (Fnext_window):
11117         Prettify docstring.
11118         Since next_frame() is guaranteed to return a frame, remove check
11119         for nil inserted in previous patch.
11120         (Fprevious_window):
11121         Prettify docstring.
11122         Make code look more like Fnext_window.
11123         (window_loop):
11124         Respect the `console' arg when iterating through windows.
11125         Fixes bug: (get-buffer-window buffer t device) not respecting
11126         the `device' arg.
11127         This function needs more work, as others have pointed out.
11128
11129         * frame.h: Rename prev_frame to previous_frame.
11130         device_matches_console_spec no longer takes a `frame' arg.
11131
11132         * s/gnu.h:
11133         * s/linux.h:
11134         * s/hpux.h:
11135         Use EMACS_BLOCK_SIGNAL instead of sigblock.
11136         From "Golubev I. N." <gin@mo.msk.ru>.
11137
11138         * make-src-depend: Fix typo.
11139
11140 2000-09-13  Martin Buchholz  <martin@xemacs.org>
11141
11142         * window.c (Fnext_window):
11143         next_frame() might return nil, not a frame.
11144         Fixes this crash:
11145         (gdb) run -eval '(progn  (make-device (quote x) "polgar:0") (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11146
11147         * frame.c (next_frame_internal):
11148         We've passed a frame if we've passed its device.
11149         Fixes this crash:
11150         (gdb) run -eval '(progn (make-frame nil (make-device (quote x) "polgar:0")) (next-window (minibuffer-window) t (quote visible) (second (device-list))))'
11151 Fatal error: assertion failed, file /project/xemacs/ws/dev/src/frame.h, line 245, RECORD_TYPEP (obj, lrecord_type_frame)
11152
11153 2000-09-11  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11154
11155         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
11156         Allow option to suppress accelerators in menu/dialog items.
11157         (populate_or_checksum_helper): Pass dialog title through above.
11158
11159 2000-09-10  Jonathan Harris  <jhar@tardis.ed.ac.uk>
11160
11161         * event-msw.c (mswindows_key_to_emacs_keysym):
11162         Add "pause" key, fix "menu" key.
11163
11164 2000-09-09  Martin Buchholz  <martin@xemacs.org>
11165
11166         * eval.c (reinit_vars_of_eval):
11167         Increase max_lisp_eval_depth to 1000,
11168         required for thai-xtis.el to byte-compile under some circumstances.
11169
11170 2000-09-04  Martin Buchholz  <martin@xemacs.org>
11171
11172         * event-Xt.c (x_to_emacs_keysym): Increase size of `buffer' to 513.
11173         From Kenichi Handa.
11174
11175 2000-09-01  Martin Buchholz  <martin@xemacs.org>
11176
11177         * make-src-depend: Make the generated Makefiles smaller.
11178
11179         * s/hpux.h (SETUP_SLAVE_PTY):
11180         Provide a %d in the format string for the errno argument.
11181
11182         * editfns.c (Ftemp_directory):
11183         Warning fix.
11184         Avoid buffer overrun on very long file name.
11185
11186         * input-method-xlib.c (XIM_init_device):
11187         6th parameter of XRegisterIMInstantiateCallback has different
11188         pointer types on different OSes, so simply cast to (void *).
11189
11190         * unexhp9k800.c: Warning fixes.  Fiddly changes.
11191
11192         * sysdll.c (dll_open):
11193         shl_load will hang hard if passed a NULL filename.
11194         Simply return NULL for compatibility with dlopen.
11195         * sysdll.c: Conform to XEmacs coding standards.
11196
11197         * sysdep.c (get_pty_max_bytes):
11198         Support pty input lines longer than 512 bytes on HP-UX 10.20.
11199
11200 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11201
11202         * tooltalk.c: Add #include <syssignal.h>
11203
11204 2000-08-12  Alexandre Oliva  <aoliva@redhat.com>
11205
11206         * s/hpux.h: Don't use undefined function sigunblock().
11207
11208 2000-08-31  Martin Buchholz  <martin@xemacs.org>
11209
11210         * config.h.in: Add HAVE_BALLOON_HELP.
11211         * emacs.c: Use HAVE_BALLOON_HELP.
11212         * Makefile.in.in (x_objs):
11213         Make Balloon Help conditional on finding shape.h.
11214
11215 2000-08-23  Yoshiki Hayashi  <yoshiki@xemacs.org>
11216
11217         * syntax.c (regex_emacs_buffer_p): New variable.
11218         * syntax.h (regex_emacs_buffer_p): extern.
11219         * search.c (looking_at_1):
11220         (string_match_1):
11221         (fast_string_match):
11222         (search_buffer): Set regex_emacs_buffer_p.
11223         * regex.c (re_match_2_internal): Reference regex_emacs_buffer_p
11224         when before_dot, at_dot, after_dot.
11225
11226 2000-08-23  Andy Piper  <andy@xemacs.org>
11227
11228         * gui-x.c (popup_selection_callback): Only set action_occurred
11229         when we really have an image instance.
11230         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
11231
11232 2000-08-23  Andy Piper  <andy@xemacs.org>
11233
11234         * gui-msw.c (mswindows_handle_gui_wm_command): set
11235         action_occurred.
11236         * gui-x.c (popup_selection_callback): ditto.
11237
11238         * glyphs.h (IMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): new accessor.
11239         (XIMAGE_INSTANCE_WIDGET_ACTION_OCCURRED): ditto.
11240         (struct Lisp_Image_Instance): add action_occurred flag.
11241
11242         * glyphs.c (redisplay_subwindow): use action_occurred flag.
11243         (image_instance_changed): ditto.
11244         (reset_frame_subwindow_instance_cache): only unmap windows - do
11245         not remove them from the cache also.
11246
11247         * glyphs-widget.c (tab_control_update): better debug.
11248         (progress_gauge_update): ditto.
11249         (layout_update): ditto.
11250         (layout_instantiate): ditto.
11251         (tab_control_order_only_changed): cope with null pending items.
11252
11253         * glyphs-msw.c (mswindows_tab_control_redisplay): add better
11254         debug. Force selection of an item when an action occurred. Cope
11255         with null pending_items.
11256         (mswindows_progress_gauge_redisplay): better debug.
11257         * glyphs-x.c (x_tab_control_redisplay): ditto.
11258
11259         * redisplay.c (redisplay_frame): reset the frame cache if the
11260         frame is garbaged.
11261
11262         * window.c (Fset_window_configuration): potentially re-enable
11263         frame cache reset.
11264         (window_unmap_subwindows): need to finalize instances here since
11265         it is only used in mark_window_as_deleted.
11266
11267 2000-08-22  Stephen J. Turnbull  <stephen@xemacs.org>
11268
11269         * nas.c (SndOpenDataForReading):
11270         nas.c (WaveOpenDataForReading):
11271         nas.c (readChunk): {BIG,LITTLE}_ENDIAN -> NAS_{BIG,LITTLE}_ENDIAN.
11272         Somehow escaped from the 2000-08-14 patch.
11273
11274 2000-08-14  Stephen J. Turnbull  <stephen@xemacs.org>
11275
11276         * nas.c:  Preprocessor trickery to use NAS_LITTLE_ENDIAN instead
11277         of LITTLE_ENDIAN (conflicts with glibc, at least) in NAS <= 1.2p5.
11278
11279 2000-08-21  Andy Piper  <andy@xemacs.org>
11280
11281         * glyphs-x.c (x_map_subwindow): Minor optimization - only map the
11282         window if it is not already displayed.
11283
11284         * glyphs-msw.c (mswindows_map_subwindow): only map the window if
11285         it is not already displayed.
11286
11287         * window.c (Fset_window_configuration): don't reset the frame
11288         cache.
11289
11290         * glyphs.c (unmap_subwindow_instance_cache_mapper): only remove
11291         instances from the frame cache if we are actually finalizing them.
11292         (reset_frame_subwindow_instance_cache): reset frame cache only
11293         after unmapping everything.
11294         (map_subwindow): set displayed flag after mapping.
11295
11296 2000-08-21  Martin Buchholz  <martin@xemacs.org>
11297
11298         * data.c (indirect_function):
11299         Rename ERRORP to non-misleading VOID_FUNCTION_ERRORP.
11300
11301         * eval.c (function_argcount):
11302         Use original function when signaling errors.
11303
11304 2000-08-18  Andy Piper  <andy@xemacs.org>
11305
11306         * frame.c (delete_frame_internal): use new
11307         free_frame_subwindow_instances name.
11308
11309         * glyphs-msw.c (mswindows_tab_control_instantiate): verify index.
11310         (add_tab_item): make return type correct.
11311         (mswindows_tab_control_instantiate): assert index of tab.
11312         (mswindows_tab_control_redisplay): Re-code to use
11313         gui_item_equal_sans_selected and gui_item_list_find_selected.
11314
11315         * glyphs-widget.c (tab_control_update): Correct comment.
11316
11317         * window.c (window_unmap_subwindows): use new
11318         unmap_subwindow_instance_cache_mapper.
11319         (window_unmap_subwindows_cache_mapper): deleted.
11320         (Fset_window_configuration): comparisons should now be with
11321         EQ. Preserve the subwindow instance cache across configuration
11322         changes.
11323         (allocate_window): ditto.
11324         (make_dummy_parent): ditto.
11325
11326         * glyphs.c (free_frame_subwindow_instances): rename from
11327         free_frame_subwindow_instance_cache. finalize all instances rather
11328         than just those in the display cache.
11329         (finalize_all_subwindow_instances): walk windows unmapping and
11330         finalizing subwindows.
11331         (unmap_subwindow_instance_cache_mapper): moved from
11332         window.c. Allow finalization as well as unmapping.
11333
11334         * gui.c (gui_item_list_find_selected): new function.
11335
11336         * gui.h (gui_item_list_find_selected): declare.
11337
11338         * glyphs-x.c (x_tab_control_redisplay): pick tab
11339         explicitly. Re-code to use gui_item_equal_sans_selected and
11340         gui_item_list_find_selected.
11341
11342         * glyphs-x.h: add lwlib-utils.h
11343
11344         * buffer.c (Frecord_buffer): undo previous change.
11345
11346 2000-08-09  Vin Shelton  <acs@xemacs.org>
11347
11348         * config.h.in, s/gnu.h, s/hpux.h, s/linux.h: Use UNIX98 PTYs if
11349         possible.  Create temporary files more securely.  The patch was
11350         generated by Torsten Duwe <duwe@caldera.de>, Florian Weimer
11351         <Florian.Weimer@RUS.Uni-Stuttgart.DE> and Olaf Kirch.  See
11352         http://www.xemacs.org/list-archives/xemacs-patches/200007/msg00123.html
11353         for details.
11354
11355 2000-08-07  Ben Wing  <ben@xemacs.org>
11356
11357         * getloadavg.c: remove duplicate (and windows-breaking)
11358         includes of fcntl.h and sys/file.h.
11359
11360         * nt.c: remove duplicate getloadavg() definition.
11361
11362         * sysdll.h (Qdll_filename_encoding): add missing stand-in
11363         encodings.
11364
11365 2000-08-07  Gunnar Evermann  <ge204@eng.cam.ac.uk>
11366
11367         * eval.c (function_argcount): If function needs to be autoloaded
11368         actually use the loaded definition.
11369         GCPRO function.
11370
11371 2000-08-05  Ben Wing  <ben@xemacs.org>
11372
11373         * getloadavg.c: add prototype for getloadavg().  remove
11374         duplicate WIN32_NATIVE/CYGWIN code (already in the middle
11375         of the code).  remove duplicate header includes.
11376
11377         * s\cygwin32.h, s\mingw32.h: remove stray NO_ARG_ARRAY.
11378
11379         * s\cygwin32.h, s\mingw32.h, m\windowsnt.h:
11380         don't define LOAD_AVE_TYPE/LOAD_AVE_CVT because we have no
11381         useful load average.
11382
11383         * alloc.c (reinit_alloc_once_early): removed references to
11384         VIRT_ADDR_VARIES, malloc_sbrk_used/free, and data-bytes-used/free.
11385         the lisp vars are the only things referencing the malloc_sbrk_*
11386         vars, and they were already if 0'd out.  these vars only exist
11387         in the older malloc.c, which is basically unused, and they're
11388         only for informational purposes.
11389
11390         * m\*.h: removed useless VIRT_ADDR_VARIES.
11391
11392         * m\powerpc.h: removed stray NO_ARG_ARRAY.
11393
11394 2000-04-26  IKEYAMA Tomonori  <tomonori@suiyokai.org>
11395
11396         * redisplay-msw.c (mswindows_output_dibitmap): Set foreground
11397         color if the image is a mono pixmap.
11398
11399 2000-07-30  Ben Wing  <ben@xemacs.org>
11400
11401         * Makefile.in.in (release):
11402         Remove stray @.
11403
11404         * buffer.c (directory_is_current_directory):
11405         * dired-msw.c (mswindows_get_files):
11406         * dired.c:
11407         * dired.c (Fdirectory_files):
11408         * dired.c (file_name_completion_stat):
11409         * dired.c (Ffile_attributes):
11410         [[[[1]]]]: Rename stat() -> xemacs_stat() and eliminate nasty
11411         preprocessor tricks, to avoid problems on some machines
11412         (e.g. SCO).
11413
11414         * callproc.c (egetenv): GC docs.
11415
11416         * console-msw.h:
11417         * console-msw.h (struct mswindows_dialog_id):
11418         * lrecord.h (lrecord_type):
11419         New object for use with MSW dialogs.
11420
11421         * console.h (struct console_methods):
11422         New enable/disable frame methods, for proper modal dialogs.
11423
11424         * device-msw.c (msprinter_default_printer): Fix to follow
11425         proper Mule conventions.
11426
11427         * device-msw.c:
11428         * device-msw.c (signal_open_printer_error):
11429         * device-msw.c (msprinter_init_device):
11430         * device-msw.c (ensure_not_printing):
11431         * device-msw.c (plist_get_margin):
11432         * device-msw.c (Fmsprinter_select_settings):
11433         * device-msw.c (finalize_devmode):
11434         * device-msw.c (Fmsprinter_settings_despecialize):
11435         * device-msw.c (signal_enum_priner_error):
11436         * extents.c (decode_extent):
11437         * extents.c (decode_map_extents_flags):
11438         * extents.c (decode_extent_at_flag):
11439         * extents.c (Fextent_at):
11440         * extents.c (Fextents_at):
11441         * extents.c (symbol_to_glyph_layout):
11442         [[[[2]]]] Use structured errors.
11443
11444         * dialog-msw.c:
11445         * dialog-msw.c (mswindows_is_dialog_msg):
11446         * dialog-msw.c (mark_mswindows_dialog_id):
11447         * dialog-msw.c (dialog_proc):
11448         * dialog-msw.c (handle_question_dialog_box):
11449         * dialog-msw.c (syms_of_dialog_mswindows):
11450         Define new object to clean up marking; use it as a dialog identifier.
11451         Call new delete-dialog-box-hook.
11452
11453         * dialog-x.c (dbox_selection_callback):
11454         * dialog-x.c (dbox_descriptor_to_widget_value):
11455         * dialog-x.c (x_make_dialog_box_internal):
11456         Call new delete-dialog-box-hook.
11457         Return an id.
11458
11459         * dialog.c:
11460         * dialog.c (syms_of_dialog):
11461         * dialog.c (vars_of_dialog):
11462         Define new delete-dialog-box-hook, for use w/modal dialog boxes.
11463
11464         * eval.c:
11465         * eval.c (signal_call_debugger):
11466         when noninteractive, output stack traces on the console instead
11467         of in a (never-seen) buffer.
11468
11469         * eval.c (signal_type_error):
11470         * eval.c (invalid_argument_2):
11471         * lisp.h:
11472         new funs for use w/structured errors.
11473
11474         * event-Xt.c:
11475         * event-Xt.c (x_to_emacs_keysym):
11476         * event-Xt.c (describe_event):
11477         * event-Xt.c (emacs_Xt_event_handler):
11478         * event-Xt.c (vars_of_event_Xt):
11479         * event-msw.c:
11480         * event-msw.c (mswindows_wnd_proc):
11481         * event-msw.c (vars_of_event_mswindows):
11482         rename {x,mswindows}-debug-events to debug-{}-events for
11483         consistency with other debug-foo variables.
11484
11485         * event-stream.c:
11486         document next-event more clearly.
11487
11488         * fileio.c (Ffile_name_directory):
11489         * fileio.c (Ffile_name_nondirectory):
11490         * fileio.c (Funhandled_file_name_directory):
11491         * fileio.c (file_name_as_directory):
11492         * fileio.c (Ffile_name_as_directory):
11493         * fileio.c (directory_file_name):
11494         * fileio.c (Fdirectory_file_name):
11495         * fileio.c (Fmake_temp_name):
11496         * fileio.c (Ffile_truename):
11497         * fileio.c (Fsubstitute_in_file_name):
11498         * fileio.c (expand_and_dir_to_file):
11499         * fileio.c (barf_or_query_if_file_exists):
11500         * fileio.c (check_executable):
11501         * fileio.c (Ffile_exists_p):
11502         * fileio.c (Ffile_writable_p):
11503         * fileio.c (Ffile_directory_p):
11504         * fileio.c (Ffile_regular_p):
11505         * fileio.c (Ffile_modes):
11506         * fileio.c (Ffile_newer_than_file_p):
11507         * fileio.c (Fverify_visited_file_modtime):
11508         * fileio.c (Fset_visited_file_modtime):
11509         * fileio.c (auto_save_1):
11510         (1). (2).
11511         fix up gcpro's.
11512
11513         * frame-msw.c:
11514         * frame-msw.c (mswindows_init_frame_1):
11515         * frame-msw.c (mswindows_enable_frame):
11516         * frame-msw.c (error_frame_unsizable):
11517         * frame-msw.c (msprinter_init_frame_1):
11518         * frame-msw.c (msprinter_init_frame_3):
11519         * frame-msw.c (console_type_create_frame_mswindows):
11520         (2).
11521         implement new enable/disable frame methods.
11522
11523         * frame-x.c:
11524         * frame-x.c (x_enable_frame):
11525         * frame-x.c (console_type_create_frame_x):
11526         implement new enable/disable frame methods.
11527
11528         * frame.c:
11529         * frame.c (Fdisable_frame):
11530         * frame.c (syms_of_frame):
11531         * frame.h (struct frame):
11532         implement new enable/disable frame methods/functions.
11533
11534         * general-slots.h:
11535         add initial-focus.
11536
11537         * glyphs-msw.c (mswindows_widget_instantiate):
11538         comment that initial-focus should be implemented.
11539
11540         * glyphs-widget.c:
11541         * glyphs-widget.c (check_valid_instantiator):
11542         * glyphs-widget.c (check_valid_orientation):
11543         * glyphs-widget.c (check_valid_tab_orientation):
11544         * glyphs-widget.c (check_valid_justification):
11545         * glyphs-widget.c (check_valid_border):
11546         * glyphs-widget.c (check_valid_callback):
11547         * glyphs-widget.c (check_valid_int_or_function):
11548         * glyphs-widget.c (check_valid_string_or_vector):
11549         * glyphs-widget.c (check_valid_item_list_1):
11550         * glyphs-widget.c (widget_validate):
11551         * glyphs-widget.c (combo_box_validate):
11552         * glyphs-widget.c (widget_instantiate):
11553         * glyphs-widget.c (syms_of_glyphs_widget):
11554         * glyphs-widget.c (VALID_WIDGET_KEYWORDS):
11555         * glyphs-widget.c (image_instantiator_combo_box):
11556         * glyphs-widget.c (image_instantiator_scrollbar):
11557         * glyphs-widget.c (image_instantiator_tab_control):
11558         * glyphs-widget.c (VALID_LAYOUT_KEYWORDS):
11559         (2).
11560         support (unimplemented) keyword initial-focus.
11561         reindent long macros.
11562
11563         * glyphs-x.c (x_redisplay_widget):
11564         * glyphs-x.c (x_button_instantiate):
11565         * glyphs-x.c (x_button_redisplay):
11566         * glyphs-x.c (x_progress_gauge_instantiate):
11567         * glyphs-x.c (x_edit_field_instantiate):
11568         * glyphs-x.c (x_combo_box_instantiate):
11569         * glyphs-x.c (x_tab_control_instantiate):
11570         * glyphs-x.c (x_label_instantiate):
11571         * gui-x.c:
11572         * gui-x.c (button_item_to_widget_value):
11573         * gui-x.c (gui_items_to_widget_values_1):
11574         * gui-x.c (gui_item_children_to_widget_values):
11575         * gui-x.c (gui_items_to_widget_values):
11576         * gui-x.h:
11577         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
11578         add new flag to gui-parsing routines to indicate whether
11579         accelerator specs should be supported.
11580
11581         * glyphs.c (syms_of_glyphs): use DEFSYMBOL.
11582
11583         * glyphs.h (struct Lisp_Image_Instance):
11584         * glyphs.h (IMAGE_INSTANCE_WANTS_INITIAL_FOCUS):
11585         add initial-focus flag.
11586
11587         * gui.c:
11588         * gui.c (syms_of_gui):
11589         * gui.c (vars_of_gui):
11590         clean up menu-no-selection-hook.
11591
11592         * gui.h:
11593         support delete-dialog-box-hook.
11594
11595         * lread.c (Fload_internal):
11596         * lread.c (locate_file_in_directory_mapper):
11597         (1).
11598
11599         * lrecord.h:
11600         * lrecord.h (struct toolbar_button):
11601         * lrecord.h (syms_of_toolbar):
11602         document how to create a new object.
11603
11604         * menubar-msw.c (mswindows_char_is_accelerator):
11605         may be called on frames w/o menus.
11606
11607         * menubar.c (vars_of_menubar):
11608         clean up :filter docs.
11609
11610         * nt.c (readdir):
11611         * ntproc.c:
11612         (1).
11613
11614         * process-nt.c:
11615         * process-nt.c (validate_signal_number):
11616         * process-nt.c (signal_cannot_launch):
11617         * process-nt.c (nt_create_process):
11618         * process-nt.c (nt_send_process):
11619         * process-nt.c (nt_kill_child_process):
11620         * process-nt.c (nt_open_network_stream):
11621         * process-nt.c (syms_of_process_nt):
11622         (2).
11623         delete quote-handling.  call new lisp code that does it better.
11624
11625         * process-unix.c (connect_to_file_descriptor):
11626         * process-unix.c (allocate_pty):
11627         * process-unix.c (unix_send_process):
11628         * process-unix.c (unix_kill_child_process):
11629         * process-unix.c (unix_open_network_stream):
11630         * process-unix.c (unix_open_multicast_group):
11631         (1). (2).
11632
11633         * process.c:
11634         * process.c (Fstart_process_internal):
11635         (2).  need to canonicalize process path even if absolute.
11636
11637         * select-msw.c (symbol_to_ms_cf):
11638         * select-msw.c (ms_cf_to_symbol):
11639         * select-msw.c (cf_is_autofreed):
11640         * select-msw.c (mswindows_destroy_selection):
11641         * select.c:
11642         * select.c (syms_of_select):
11643         * select.h:
11644         support dibv5, fix bugs. (from Mike Alexander)
11645
11646         * select.c (Fget_selection_internal):
11647         * select.c (select_convert_out):
11648
11649         * sysdep.c:
11650         * sysdep.c (xemacs_stat):
11651         renamed.
11652
11653         * sysdep.c (mkdir):
11654         * sysdep.c (rmdir):
11655         but keep original stat() here because we provide encapsulation
11656         around these funs.
11657
11658         * sysfile.h:
11659         * sysfile.h (fstat):
11660         remove stat garbage.
11661
11662         * syswindows.h:
11663         fix X/MSW conflict.
11664         don't include tchar.h.  it's inappropriate because it makes
11665         compile-time distinctions when we want runtime distinctions.
11666         (we provide our own tchar replacements)
11667
11668         * toolbar.c:
11669         use default object printer for toolbar-button.
11670
11671         * unexcw.c:
11672         make sure we don't encapsulate.
11673
11674         * window.c (vars_of_window):
11675         emphasize that temp-buffer-show-hook is obsolete.
11676
11677 2000-08-05  Martin Buchholz  <martin@xemacs.org>
11678
11679         * glyphs.c (image_instance_hash): HASH2 wants EMACS_INT args.
11680         (Fimage_instance_subwindow_id): make_int wants EMACS_INT arg.
11681
11682         * events.c (Fevent_timestamp_lessp):
11683         Not 64-bit clean.  Use EMACS_INT, not int.
11684
11685 2000-06-05  Andrew Begel <abegel@cs.berkeley.edu>
11686
11687         * lrecord.h (lrecord_types): Changed lrecord_type_count to an
11688         unsigned int and changed the last enum to
11689         lrecord_type_last_built_in_type.
11690         (lrecord_implementations_table): changed prototype to know how
11691         long the array is supposed to be.
11692         (lrecord_type_count): new unsigned int to keep track of the
11693         current number of lisp lrecord types.
11694         (DEFINE_EXTERNAL_LRECORD):
11695         (DECLARE_EXTERNAL_LRECORD): Added these two for external
11696         dynamic-modules to declare new lisp types. They are the same
11697         as the non-EXTERNAL forms, but declare an lrecord_type unsigned
11698         int for each new type, and increment lrecord_type_count by 1.
11699
11700         * alloc.c (lrecord_implementations_table): Changed to reference
11701         lrecord_type_last_built_in_type for the size of the array.
11702         Moved MODULE_DEFINABLE_TYPE_COUNT to lrecord.h.
11703
11704 2000-08-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
11705
11706         * glyphs.h (check_valid_item_list): Renamed from
11707         check_valid_item_list_1.
11708
11709 2000-08-01 Alastair J. Houghton <ajhoughton@lineone.net>
11710
11711         * select.c (Qselect_coerce): New.
11712         * select.c (Vselection_coercion_alist): New.
11713         * select.c (syms_of_select): Declare.
11714         * select.c (get-selection-internal): Use it.
11715         Use the new select-coerce functionality.
11716
11717         * select.c (select_coerce): New.
11718         * select.h (select_coerce): Declare.
11719         New function to coerce one type of data into another.
11720
11721 2000-08-03  Martin Buchholz  <martin@xemacs.org>
11722
11723         * callproc.c (Fcall_process_internal):
11724         (Fcall_process_internal):
11725         * process-unix.c (unix_create_process):
11726         Save and restore the value of errno, so that error messages are accurate.
11727
11728 2000-08-01  Martin Buchholz  <martin@xemacs.org>
11729
11730         * elhash.c (print_hash_table):
11731         Fix printing of hash tables to also use `key-and-value' instead of `t'.
11732         Prettify docstrings and indentation.
11733
11734 2000-07-31  Yoshiki Hayashi  <yoshiki@xemacs.org>
11735
11736         * window.c (Fwindow_pixel_edges): Subtract frame border and
11737         gutter size.
11738
11739 2000-07-31  Andy Piper  <andy@xemacs.org>
11740
11741         * buffer.c (Frecord_buffer): make absolutely sure that redisplay
11742         will acknowledge the change.
11743
11744         * glyphs.h: declare tab_control_order_only_changed.
11745
11746         * glyphs-x.c (x_tab_control_redisplay): use
11747         tab_control_order_only_changed.
11748
11749         * glyphs-widget.c (tab_control_order_only_changed): new function.
11750
11751         * glyphs-msw.c (mswindows_tab_control_redisplay): use
11752         tab_control_order_only_changed.
11753
11754         * gui.c (gui_item_equal_sans_selected): new function.
11755         (gui_item_equal): use it.
11756
11757         * glyphs-msw.c (mswindows_combo_box_instantiate): deprecate
11758         :properties in favor of :items..
11759
11760         * glyphs-widget.c (check_valid_item_list): rename from
11761         check_valid_item_list_1.
11762         (check_valid_item_list_1): renamed.
11763         (combo_box_validate): deprecate :properties in favor of :items.
11764         (widget_instantiate): ditto.
11765         (tab_control_update): ditto.
11766         (image_instantiator_combo_box): ditto.
11767         (image_instantiator_tree_view): ditto.
11768         (image_instantiator_tab_control): ditto.
11769         (layout_post_instantiate): remove dead code.
11770
11771         * print.c (debug_print_no_newline): only write to debugger if in
11772         WIN32_NATIVE.
11773
11774         * elhash.c (Fmake_hash_table): update doc string.
11775
11776         * event-msw.c (mswindows_wnd_proc): don't allow processing of
11777         messages whilst in GC. This at least stops XEmacs crashing but has
11778         the potential for wierd behaviour.
11779
11780 2000-07-31  Martin Buchholz  <martin@xemacs.org>
11781
11782         * config.h.in:
11783         Make existence of s&m files optional.
11784
11785         * s/bsd386.h: Remove HAVE_GETLOADAVG.
11786         * s/freebsd.h: Remove HAVE_GETLOADAVG.
11787         * s/gnu.h: Remove HAVE_GETLOADAVG.
11788         * s/netbsd.h: Remove HAVE_GETLOADAVG.
11789         * s/sol2.h: Remove HAVE_GETLOADAVG.
11790         * lisp.h: Remove getloadavg() declaration.
11791         * fns.c:
11792         Include <sys/loadavg.h> if available.
11793         Don't declare our own getloadavg() if HAVE_GETLOADAVG.
11794         * config.h.in:  Group together getloadavg()-related macros.
11795         Use only configure-time tests to detect getloadavg().
11796
11797 2000-07-30  Martin Buchholz  <martin@xemacs.org>
11798
11799         * Makefile.in.in (TransientEmacsShell.o): Fix race condition.
11800
11801 2000-07-25  Andy Piper  <andy@xemacs.org>
11802
11803         * syswindows.h: add tchar.h for native builds.
11804
11805         * frame.c (syms_of_frame): remove set-glyph-image.
11806
11807         * general-slots.h: add Qset_glyph_image.
11808
11809         * glyphs-widget.c (layout_update): add domain arg to
11810         set-glyph-image.
11811         (syms_of_glyphs_widget): remove set-glyph-image.
11812
11813 2000-07-23  Ben Wing  <ben@xemacs.org>
11814
11815         * dialog-msw.c (vars_of_dialog_mswindows): need to staticpro
11816         Vpopup_frame_list.
11817
11818 2000-07-22  Andy Piper  <andy@xemacs.org>
11819
11820         * symsinit.h: add syms_of_win32().
11821
11822         * gui-msw.c (syms_of_gui_mswindows): remove
11823         Fmswindows_shell_execute.
11824         (Fmswindows_shell_execute): moved to win32.c.
11825
11826         * emacs.c (main_1): add syms_of_win32 ().
11827
11828         * win32.c (init_potentially_nonexistent_functions): rewrite in
11829         compiler-friendly terms.
11830         (Fmswindows_shell_execute): move here from gui-msw.c.
11831         (syms_of_win32): new.
11832
11833         * device-msw.c (Fmswindows_printer_list): clean up args to
11834         EnumPrinters.
11835         Don't include tchar under cygwin or mingw.
11836         (msprinter_default_printer): make cygwin-friendly.
11837
11838 2000-07-21  Andy Piper  <andy@xemacs.org>
11839
11840         * glyphs-widget.c (image_instantiator_tree_view): use tab
11841         control's update function.
11842         (layout_property): new function. Retrieve items.
11843
11844         * glyphs-msw.c (mswindows_tree_view_redisplay): new
11845         function. Re-populate the tree view from the pending items.
11846
11847         * glyphs.c (instantiate_image_instantiator): Make sure the domain
11848         is designated the parent if the domain is an image instance. This
11849         is needed so that dirtiness can be cascade up the hierarchy and
11850         thus for layout children to be redisplayed correctly.
11851         (allocate_image_instance): rename glyph -> parent.
11852
11853         * redisplay.h: change redisplay_output_layout signature.
11854
11855         * redisplay-msw.c (mswindows_output_display_block): use domain
11856         arg.
11857
11858         * redisplay-x.c (x_output_display_block): use domain arg.
11859
11860 2000-07-10  Andy Piper  <andy@xemacs.org>
11861
11862         * window.c (Fset_window_configuration): add comment.
11863
11864         * redisplay-output.c (compare_runes):
11865         (redisplay_output_subwindow): redisplay rather than update subwindow.
11866         (redisplay_output_layout): ditto.
11867
11868         * redisplay-msw.c (mswindows_frame_output_end):
11869         (mswindows_frame_output_end): make defer window pos optional.
11870
11871         * lisp.h: add Flast.
11872
11873         * glyphs.h (struct image_instantiator_methods): add dest_mask top
11874         normalize method. Change update method to be for changed
11875         instantiators. Add redisplay method. Change signature of layout
11876         method.
11877         (struct Lisp_Image_Instance): add instantiator.
11878         (IMAGE_INSTANCE_INSTANTIATOR): new.
11879         (IMAGE_INSTANCE_SUBWINDOW_FACE): new.
11880         (XIMAGE_INSTANCE_INSTANTIATOR): new.
11881         (XIMAGE_INSTANCE_SUBWINDOW_FACE): new.
11882
11883         * glyphs.c:
11884         (find_instantiator_differences): new function.
11885         (Fset_instantiator_property): new convenience function.
11886         (check_image_instance_structure): strictly check for vector
11887         instantiators.
11888         (normalize_image_instantiator): make non-static.
11889         (instantiate_image_instantiator): pass on dest_mask and use new
11890         signatures for image_instance_layout and friends.
11891         (mark_image_instance): mark the instantiator. Mark the subwindow
11892         face not the widget face.
11893         (image_instance_equal): add instantiator.
11894         (image_instance_hash): ditto.
11895         (allocate_image_instance): ditto.
11896         (Fset_image_instance_property): removed.
11897         (Fimage_instance_file_name): ditto.
11898         (Fcolorize_image_instance): ditto.
11899         (image_instance_layout): add offsets to be set.
11900         (update_image_instance): new function. update an image instance
11901         from its changed instantiator.
11902         (inherit_normalize): add dest_mask.
11903         (xbm_normalize): ditto.
11904         (xface_normalize): ditto.
11905         (xpm_normalize): ditto.
11906         (text_update): set_property -> update.
11907         (image_instantiate): use the glyph identity as a hash key, not the
11908         instantiator.
11909         (glyph_width): use new image_instance_layout signature.
11910         (glyph_ascent): ditto.
11911         (glyph_descent): ditto.
11912         (glyph_height): ditto.
11913         (glyph_query_geometry): ressurrect.
11914         (glyph_layout): ditto.
11915         (redisplay_subwindow): update -> redisplay.
11916         (syms_of_glyphs): add Fset_instantiator_property.
11917         (image_instantiator_format_create): set_property -> update.
11918
11919         * glyphs-x.c:
11920         (autodetect_normalize): add dest_maks to signature.
11921         (x_redisplay_subwindow): update -> redisplay.
11922         (x_redisplay_widget): ditto.
11923         (x_button_redisplay): ditto.
11924         (x_progress_gauge_redisplay): ditto.
11925         (x_tab_control_redisplay): ditto. Rewrite to cope with changed
11926         stacking order.
11927         (console_type_create_glyphs_x): update -> redisplay.
11928         (image_instantiator_format_create_glyphs_x): ditto.
11929
11930         * glyphs-widget.c:
11931         (check_valid_instantiator): disallow glyphs in the instantiator,
11932         they must now be vectors.
11933         (check_valid_instantiator_list): ditto.
11934         (glyph_instantiator_to_glyph): use internal symbol rather than
11935         intern.
11936         (widget_update): renamed from widget_set_property. Call cascaded
11937         update methods.
11938         (redisplay_widget): renamed from update_widget.
11939         (widget_layout): image_instance_layout now takes position as well
11940         as size.
11941         (widget_normalize): ditto.
11942         (widget_instantiate): ditto.
11943         (tab_control_query_geometry) ditto.:
11944         (tab_control_update): renamed from tab_control_set_property.
11945         (progress_gauge_update): set_property -> update.
11946         (layout_normalize): rewrite so that child instantiators are
11947         normalized also.
11948         (layout_update): new function. Create glyphs from the normalized
11949         children and cope with any other layout keywords. We do not
11950         instantiate children here that will be take care of by
11951         redisplay_output_layout.
11952         (layout_instantiate): call layout_update and not much else.
11953         (layout_post_instantiate): not sure whether this is needed
11954         anymore.
11955         (layout_query_geometry): query glyph geometry rather than
11956         image_instance geometry.
11957         (layout_layout): set offsets from pass in parameters. Use glyph
11958         geometry and layout functions rather than image instance ones.
11959         (native_layout_layout): ditto.
11960         (syms_of_glyphs_widget): add make-glyph and set-glyph-image.
11961         (image_instantiator_widget): set_property -> update.
11962         (image_instantiator_buttons): ditto.
11963         (image_instantiator_progress_guage): ditto.
11964         (image_instantiator_tab_control): ditto.
11965         (VALID_LAYOUT_KEYWORDS): instantiators must now be vectors.
11966         (image_instantiator_layout): add update method.
11967
11968         * glyphs-msw.c (bmp_normalize):
11969         (mswindows_resource_normalize): add dest_mask so that it can be
11970         proprogated by layout_normalize.
11971         (begin_defer_window_pos): make optional because it may not be the
11972         right thing to do and it introduces differences with X.
11973         (mswindows_unmap_subwindow): ditto.
11974         (mswindows_map_subwindow): ditto.
11975         (mswindows_redisplay_subwindow): renamed from
11976         mswindows_update_subwindow.
11977         (mswindows_redisplay_widget): ditto.
11978         (mswindows_button_redisplay): renamed from
11979         mswindows_button_update. Update is now what the instantiation
11980         function does for a changed instantiator.
11981         (mswindows_progress_gauge_instantiate): set the progress value
11982         here if appropriate.
11983         (mswindows_tab_control_redisplay): cope with re-ordering of the
11984         members of the tab widget by simply selecting the new top
11985         widget. This makes things appear ok if you click on a tab.
11986         (mswindows_combo_box_instantiate): image_instance_layout now takes
11987         position as well as size.
11988         (mswindows_progress_gauge_redisplay): renamed from
11989         mswindows_progress_gauge_update.
11990         (console_type_create_glyphs_mswindows): fix update -> redisplay.
11991         (image_instantiator_format_create_glyphs_mswindows): ditto.
11992
11993         * glyphs-eimage.c (jpeg_normalize):
11994         (gif_normalize):
11995         (png_normalize):
11996         (tiff_normalize): add dest_mask so that it can be proprogated by
11997         layout_normalize.
11998
11999         * elhash.c:
12000         (print_hash_table):
12001         (hash_table_weakness_validate):
12002         (decode_hash_table_weakness):
12003         (Fhash_table_weakness):
12004         (Fhash_table_type):
12005         (syms_of_elhash): use Ben's naming scheme for hashtable types..
12006
12007         * console.h (struct console_methods): move update_* to
12008         redisplay_*.
12009
12010 2000-07-20  Ben Wing  <ben@xemacs.org>
12011
12012         * *.[ch] (XSETOBJ): remove unused middle argument.
12013         lisp-disunion.h: correct wrap_object() to one argument.
12014
12015 2000-07-15  Ben Wing  <ben@xemacs.org>
12016
12017         * s/cygwin32.h:
12018         * s/cygwin32.h (CYGWIN_CONV_PATH):
12019         Add missing logb prototype for v1.1.
12020         Use post-b20 names and alias to pre-b20 names when pre-b20.
12021
12022         * s/windowsnt.h: [5].
12023
12024 2000-07-15  Ben Wing  <ben@xemacs.org>
12025
12026         * Makefile.in.in (x_objs):
12027         * Makefile.in.in (sheap_objs):
12028         * Makefile.in.in (objs):
12029         added win32.o, cosmetic cleanups.
12030
12031         * alloc.c (Fmake_byte_code):
12032         [[[1]]]: Changes for new LIST_LOOP, EXTERNAL_LIST_LOOP,
12033         etc. macros which declare their own args now.
12034
12035         * alloc.c (syms_of_alloc):
12036         [[[2]]]: Use DEFSYMBOL, DEFKEYWORD, DEFERROR and friends.
12037
12038         * buffer.c:
12039         Moved buffer-dedicated-frame, set-buffer-dedicated-frame into lisp.
12040
12041         * buffer.c (Fget_file_buffer):
12042         Fixed GCPRO problem.
12043
12044         * buffer.c (get_truename_buffer):
12045         Fixed comment about GC checking.
12046
12047         * buffer.c (syms_of_buffer):
12048         Undeclared those dedicated frame funs.
12049         [2].
12050
12051         * buffer.h:
12052         Define convenience macros for internal/external conversions.
12053         [[[3]]]: Define codesys aliases Qcommand_argument_encoding
12054         and Qenvironment_variable_encoding for cleaner code.
12055
12056         * bufslots.h:
12057         Remove dedicated-frame; in lisp.
12058
12059         * bytecode.c (funcall_compiled_function):
12060         [1].
12061
12062         * bytecode.c (syms_of_bytecode):
12063         [2].
12064
12065         * console-msw.c:
12066         * console-msw.c (mswindows_show_console): Rewrote.
12067
12068         * console-msw.c (Fmswindows_debugging_output): New.
12069         Sends to OutputDebugString (special MSWin debugger interface).
12070
12071         * console-msw.c (Fmswindows_message_box):
12072         Fixed stupid bugs so it works when called from kill-emacs.
12073
12074         * console-msw.c (syms_of_console_mswindows):
12075         Declare Fmswindows_debugging_output.
12076
12077         * console-msw.h:
12078         New MSWin prototypes.
12079
12080         * console-msw.h (struct mswindows_frame):
12081         New entry last-click-mods for improved button-modifier support.
12082
12083         * console-msw.h (FRAME_MSWINDOWS_POPUP):
12084         New struct entry `popup' with corresponding accessor.
12085
12086         * console-x.c:
12087         * console-x.c (split_up_display_spec):
12088         * console-x.c (get_display_arg_connection):
12089         * console-x.c (x_semi_canonicalize_console_connection):
12090         * console-x.c (x_canonicalize_device_connection):
12091         [[[6]]]: Change char to more specific type.
12092         [[[8]]]: Make use of abstracting codesys aliases defined in [3], [4];
12093
12094         * console-x.c (x_semi_canonicalize_console_connection):
12095         * console-x.c (x_canonicalize_device_connection):
12096         [[[9]]]: Fix up error signalling to use new structured error system.
12097
12098         * console-x.h:
12099         [[[4]]]: Define codesys aliases:
12100         Qlwlib_encoding, Qx_atom_name_encoding, Qx_font_name_encoding,
12101         Qx_color_name_encoding, Qx_display_name_encoding.
12102
12103         * console.h (struct console_methods):
12104         New method make_dialog_box_internal supersedes older
12105         popup_dialog_box method.
12106
12107         * data.c:
12108         Define many new errors, part of new structured errors.
12109
12110         * data.c (init_errors_once_early):
12111         * data.c (syms_of_data):
12112         [2].
12113
12114         * device-msw.c (mswindows_init_device):
12115         [[[5]]]: Cleanup to support NT 3.51.
12116
12117         * device-msw.c (decode_devmode): Cleanup.
12118
12119         * device-msw.c (mswindows_handle_print_setup_dialog_box):
12120         * device-msw.c (mswindows_handle_print_dialog_box):
12121         * device-msw.c (mswindows_handle_page_setup_dialog_box):
12122         * device-msw.c (syms_of_device_mswindows):
12123         Delete the dialog box primitives recently introduced by Kirill and
12124         instead interface to general dialog box interface.
12125
12126         * device-x.c:
12127         * device-x.c (compute_x_app_name):
12128         * device-x.c (x_init_device):
12129         * device-x.c (Fx_valid_keysym_name_p):
12130         * device-x.c (Fx_set_font_path):
12131         [6].
12132         [7].
12133
12134         * device.h (wrap_device): New.
12135         First of its kind; meant to replace XSETDEVICE.
12136
12137         * dialog-msw.c: Many file-dialog symbols.
12138
12139         * dialog-msw.c (mswindows_register_popup_frame): New.
12140         * dialog-msw.c (mswindows_is_dialog_msg): New.
12141         For supporting kbd traversal in dialog boxes.
12142
12143         * dialog-msw.c (dialog_proc):
12144         Support hitting ESC in dialogs.
12145
12146         * dialog-msw.c (struct):
12147         Common dialog box errors.
12148
12149         * dialog-msw.c (handle_file_dialog_box): New.
12150         Add file dialog code.
12151
12152         * dialog-msw.c (handle_question_dialog_box):
12153         Redo existing code to support new question dialog syntax.
12154
12155         * dialog-msw.c (console_type_create_dialog_mswindows):
12156         We support new dialog console method.
12157
12158         * dialog-msw.c (syms_of_dialog_mswindows):
12159         * dialog-msw.c (vars_of_dialog_mswindows):
12160         New file dialog symbols, vars.
12161
12162         * dialog-x.c:
12163         * dialog-x.c (maybe_run_dbox_text_callback):
12164         * dialog-x.c (dbox_descriptor_to_widget_value):
12165         * dialog-x.c (x_make_dialog_box_internal):
12166         * dialog-x.c (console_type_create_dialog_x):
12167         Mule-ize entire file.
12168         Redo to support question dialog syntax.
12169         [6].
12170
12171         * dialog.c:
12172         * dialog.c (Fmake_dialog_box_internal):
12173         * dialog.c (syms_of_dialog):
12174         Kill old popup-dialog-box, replace with new primitive.
12175         Just call device method or signal error.
12176
12177         * eldap.c (Fldap_open):
12178         * eldap.c (Fldap_search_basic):
12179         * eldap.c (Fldap_add):
12180         * eldap.c (Fldap_modify):
12181         [1].
12182         [7].
12183
12184         * emacs.c:
12185         * emacs.c (make_arg_list_1):
12186         * emacs.c (make_arg_list):
12187         Mule-ize call to dll_init().
12188         [6].
12189         [8].
12190
12191         * emacs.c (make_argc_argv):
12192         * emacs.c (free_argc_argv):
12193         * emacs.c (init_cmdargs):
12194         * emacs.c (main_1):
12195         * emacs.c (Fkill_emacs):
12196         * emacs.c (Fdump_emacs):
12197         Update comments about what can be used in syms_* etc.
12198         Call init_win32() when necessary.
12199         Fix up MS Win dialog box in kill-buffer to actually work right.
12200         [7].
12201
12202         * eval.c:
12203         * eval.c (For):
12204         * eval.c (Fand):
12205         * eval.c (Fprogn):
12206         * eval.c (Fprog1):
12207         * eval.c (Fprog2):
12208         * eval.c (FletX):
12209         * eval.c (Flet):
12210         * eval.c (condition_case_3):
12211         * eval.c (Feval):
12212         * eval.c (function_argcount):
12213         * eval.c (funcall_lambda):
12214         [1].
12215
12216         * eval.c (type_error): New.
12217         * eval.c (maybe_type_error): New.
12218         * eval.c (continuable_type_error): New.
12219         * eval.c (maybe_continuable_type_error): New.
12220         * eval.c (type_error_with_frob): New.
12221         * eval.c (maybe_type_error_with_frob): New.
12222         * eval.c (continuable_type_error_with_frob): New.
12223         * eval.c (maybe_continuable_type_error_with_frob): New.
12224         New functions for use with structured errors.
12225
12226         * event-Xt.c:
12227         * event-Xt.c (x_event_to_emacs_event):
12228         Buttons are now modifiers too.
12229
12230         * event-Xt.c (emacs_Xt_current_event_timestamp):
12231         Implement new event method.
12232         * event-Xt.c (reinit_vars_of_event_Xt): Set it.
12233
12234         * event-msw.c:
12235         * event-msw.c (ntpipe_shove_writer): [5].
12236         * event-msw.c (mswindows_enqueue_mouse_button_event):
12237         * event-msw.c (mswindows_drain_windows_queue):
12238         * event-msw.c (mswindows_wnd_proc): [7].
12239         * event-msw.c (mswindows_current_layout_has_AltGr): [5].
12240         * event-msw.c (mswindows_modifier_state):
12241         Throughout: support new button modifiers.
12242
12243         * event-msw.c (emacs_mswindows_current_event_timestamp):
12244         Implement new event method.
12245         * event-msw.c (reinit_vars_of_event_mswindows): Set it.
12246
12247         * event-stream.c:
12248         * event-stream.c (event_stream_current_event_timestamp): New.
12249         * event-stream.c (maybe_kbd_translate): New functionality.
12250         * event-stream.c (vars_of_event_stream):
12251         Document new kbd-translate-table functionality.
12252
12253         * event-stream.c (Fcurrent_event_timestamp): New.
12254         New primitive for use in fabricated events.
12255         * event-stream.c (syms_of_event_stream): [2]. Declare new primitive.
12256
12257         * events-mod.h (XEMACS_MOD_BUTTON1): new button modifiers.
12258
12259         * events.c:
12260         * events.c (Fmake_event):
12261         * events.c (WRONG_EVENT_TYPE_FOR_PROPERTY):
12262         [1].
12263         [9].
12264
12265         * events.c (format_event_object): fix gcc warnings.
12266
12267         * events.c (Fevent_timestamp): Document new primitives.
12268
12269         * events.c (TIMESTAMP_HALFSPACE): New.
12270
12271         * events.c (Fevent_timestamp_lessp): New.  New primitive for
12272         comparing timestamps correctly (half-space algorithm).
12273
12274         * events.c (Fevent_modifier_bits): Doc fix.
12275
12276         * events.c (Fevent_modifiers): Major doc addition.
12277         * events.c (event_x_y_pixel_internal): Typo fix.
12278         * events.c (syms_of_events): Declare new primitives.
12279
12280         * events.h:
12281         Update long comment for button modifiers, timestamps.
12282
12283         * events.h (struct event_stream):
12284         New current_event_timestamp method.
12285
12286         * extents.c:
12287         * extents.c (extent_in_region_p):
12288         * extents.c (decode_extent):
12289         * extents.c (Fset_extent_parent):
12290         * extents.c (decode_map_extents_flags):
12291         Fix gcc warnings.
12292         [9].
12293
12294         * extents.c (struct extent_at_arg):
12295         * extents.c (decode_extent_at_flag):
12296         * extents.c (extent_at_mapper):
12297         * extents.c (extent_at_bytind):
12298         * extents.c (Fextent_at): Adapt to new lower-level interface. [9].
12299         * extents.c (Fextents_at): New primitive. [9].
12300         * extents.c (symbol_to_glyph_layout): [9].
12301         Support new primitive `extents-at'.
12302
12303
12304         * extents.c (get_text_property_bytind):
12305         extent_at_bytind has another arg.
12306         [9].
12307
12308         * extents.c (syms_of_extents): New primitive.
12309
12310         * file-coding.c (Fmake_coding_system): [1].
12311         * file-coding.c (subsidiary_coding_system): fix gcc warning
12312         * file-coding.c (syms_of_file_coding): [2].
12313
12314         * fileio.c (Fexpand_file_name):
12315         * fileio.c (Fsysnetunam):
12316         * fileio.c (Ffile_exists_p):
12317         * fileio.c (Ffile_executable_p):
12318         * fileio.c (Fverify_visited_file_modtime):
12319         Clean up GCPROing.
12320
12321         * fileio.c (syms_of_fileio): [2].
12322
12323         * filelock.c (lock_file_1):
12324         * filelock.c (current_lock_owner):
12325         * filelock.c (lock_if_free):
12326         * filelock.c (lock_file):
12327         * filelock.c (unlock_file):
12328         Clean up GCPROing.
12329
12330         * fns.c (concat): Fix gcc warning.
12331
12332         * fns.c (Fmember):
12333         * fns.c (Fold_member):
12334         * fns.c (Fmemq):
12335         * fns.c (Fold_memq):
12336         * fns.c (memq_no_quit):
12337         * fns.c (Fassoc):
12338         * fns.c (Fold_assoc):
12339         * fns.c (Fassq):
12340         * fns.c (Fold_assq):
12341         * fns.c (assq_no_quit):
12342         * fns.c (Frassoc):
12343         * fns.c (Fold_rassoc):
12344         * fns.c (Frassq):
12345         * fns.c (Fold_rassq):
12346         * fns.c (rassq_no_quit):
12347         * fns.c (Fdelete):
12348         * fns.c (Fold_delete):
12349         * fns.c (Fdelq):
12350         * fns.c (Fold_delq):
12351         * fns.c (delq_no_quit):
12352         * fns.c (Fremassoc):
12353         * fns.c (Fremassq):
12354         * fns.c (remassq_no_quit):
12355         * fns.c (Fremrassoc):
12356         * fns.c (Fremrassq):
12357         * fns.c (remrassq_no_quit):
12358         * fns.c (Freverse):
12359         * fns.c (mapcar1):
12360         [1].
12361
12362         * frame-msw.c (mswindows_init_frame_1):
12363         * frame-msw.c (mswindows_delete_frame):
12364         Register popups with dialog code so keyboard traversing works.
12365
12366         * frame-tty.c (tty_raise_frame_no_select): [1].
12367
12368         * frame-x.c:
12369         * frame-x.c (x_set_frame_text_value):
12370         * frame-x.c (x_set_frame_properties):
12371         * frame-x.c (x_create_widgets):
12372         [7].
12373
12374         * frame.c:
12375         * frame.c (Fmouse_pixel_position): Minor doc fixes.
12376
12377         * frame.h (wrap_frame): New.
12378         Macro like wrap_device.
12379
12380         * general.c:
12381         * general.c (SYMBOL):
12382         * general.c (syms_of_general):
12383         Major reorg.  This is now just a wrapper and symbols themselves
12384         are listed in general-slots.h.
12385
12386         * glyphs-eimage.c (tiff_instantiate): Need cast to fix warning.
12387         * glyphs-msw.c (mswindows_resource_instantiate): [5].
12388
12389         * glyphs-msw.c (mswindows_native_layout_instantiate):
12390         Add DS_CONTROL so keyboard traversal will work.
12391
12392         * glyphs-widget.c:
12393         * glyphs-widget.c (syms_of_glyphs_widget):
12394         Move some symbols to general-slots.h.
12395
12396         * glyphs-x.c:
12397         * glyphs-x.c (xbm_instantiate_1):
12398         * glyphs-x.c (x_xbm_instantiate):
12399         * glyphs-x.c (x_xface_instantiate):
12400         * glyphs-x.c (autodetect_instantiate):
12401         * glyphs-x.c (cursor_font_instantiate):
12402         * glyphs-x.c (x_update_widget):
12403         * glyphs-x.c (x_widget_instantiate):
12404         * glyphs.c (bitmap_to_lisp_data):
12405         * glyphs.c (pixmap_to_lisp_data):
12406         [7].
12407
12408         * glyphs.c (syms_of_glyphs):
12409         [2].
12410
12411         * gui-x.c:
12412         * gui-x.c (print_widget_value):
12413         * gui-x.c (menu_separator_style_and_to_external):
12414         * gui-x.c (add_accel_and_to_external):
12415         * gui-x.c (button_item_to_widget_value):
12416         * gui-x.c (gui_items_to_widget_values_1):
12417         * gui-x.c (gui_items_to_widget_values):
12418         * gui-x.c (syms_of_gui_x):
12419         * gui-x.c (vars_of_gui_x):
12420         Mule-ize entire file.  Move menu-no-selection-hook to gui.c.
12421         [9].
12422
12423         * gui-x.h:
12424         Muleize, prototype changes matching gui-x.c.
12425
12426         * gui.c:
12427         * gui.c (separator_string_p):
12428         * gui.c (gui_item_add_keyval_pair):
12429         * gui.c (make_gui_item_from_keywords_internal):
12430         * gui.c (signal_too_long_error):
12431         * gui.c (parse_gui_item_tree_item):
12432         * gui.c (syms_of_gui):
12433         * gui.c (vars_of_gui):
12434         * gui.h:
12435         menu-no-selection-hook moved here (used by MSWin).
12436         Move some symbols to general-slots.h.
12437         [6].
12438         [9].
12439
12440         * insdel.c (get_buffer_pos_char):
12441         * insdel.c (get_buffer_range_char):
12442         Add GC comments.
12443
12444         * keymap.c (keymap_lookup_directly):
12445         * keymap.c (keymap_store):
12446         * keymap.c (ensure_meta_prefix_char_keymapp):
12447         * keymap.c (describe_map):
12448         * keymap.h:
12449         Support new button modifiers.
12450
12451         * lisp-disunion.h (wrap_object):
12452         * lisp-disunion.h (XSETOBJ):
12453         Rename make_obj to wrap_object.
12454
12455         * lisp-union.h:
12456         * lisp-union.h (make_int):
12457         * lisp-union.h (make_char):
12458         Support wrap_object.
12459
12460         * lisp.h:
12461         * lisp.h (LIST_LOOP):
12462         * lisp.h (EXTERNAL_LIST_LOOP):
12463         * lisp.h (LIST_LOOP_2):
12464         * lisp.h (EXTERNAL_LIST_LOOP_1):
12465         * lisp.h (EXTERNAL_LIST_LOOP_2):
12466         * lisp.h (EXTERNAL_LIST_LOOP_3):
12467         * lisp.h (EXTERNAL_LIST_LOOP_4_NO_DECLARE):
12468         * lisp.h (PRIVATE_EXTERNAL_LIST_LOOP_6):
12469         * lisp.h (GET_EXTERNAL_LIST_LENGTH):
12470         * lisp.h (EXTERNAL_ALIST_LOOP_5):
12471         * lisp.h (EXTERNAL_ALIST_LOOP_6):
12472         * lisp.h (EXTERNAL_ALIST_LOOP_6_NO_DECLARE):
12473         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_5_NO_DECLARE):
12474         * lisp.h (EXTERNAL_PROPERTY_LIST_LOOP_7):
12475         * lisp.h (struct Lisp_Symbol):
12476         * lisp.h (maybe_continuable_error_with_frob):
12477         Fix up section comments.
12478         Add new types for char to indicate usage.
12479         Delete symbols auto-generated from general-slots.h.
12480         Add prototypes for structured error functions.
12481         Add long comments describing looping macros and change interface
12482         so that lvalues are automatically declared.
12483         Add NO_DECLARE macro in case callers want to declare lvalues
12484         themselves.
12485
12486         * lread.c (read_syntax_error):
12487         * lread.c (continuable_read_syntax_error):
12488         * lread.c (read_structure):
12489         * lread.c (sequence_reader):
12490         * lread.c (read_list_conser):
12491         * lread.c (read_compiled_function):
12492         Rename syntax_error and continuable_syntax_error to avoid clash
12493         with same-named structured error functions.
12494
12495         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
12496         * menubar-msw.c (populate_menu_add_item):
12497         * menubar-msw.c (populate_or_checksum_helper):
12498         [5].
12499         [9].
12500
12501         * menubar-x.c:
12502         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
12503         Mule-ize whole file.
12504
12505         * menubar.c (Fnormalize_menu_item_name): Add optimization.
12506
12507         * mule-charset.c (Fmake_charset):
12508         * mule-wnnfns.c (Fwnn_set_param):
12509         [1].
12510
12511         * ntproc.c (create_child):
12512         * ntproc.c (Fwin32_set_current_locale):
12513         Add comments portending doom.
12514
12515         * objects-msw.c:
12516         * objects-msw.c (old_font_enum_callback_2):
12517         * objects-msw.c (font_enum_callback_1):
12518         * objects-msw.c (mswindows_enumerate_fonts):
12519         [5].
12520
12521         * objects-x.c:
12522         * objects-x.c (allocate_nearest_color):
12523         * objects-x.c (x_parse_nearest_color):
12524         * objects-x.c (x_initialize_color_instance):
12525         * objects-x.c (x_print_color_instance):
12526         * objects-x.c (x_finalize_color_instance):
12527         * objects-x.c (x_valid_color_name_p):
12528         * objects-x.c (x_initialize_font_instance):
12529         * objects-x.c (x_print_font_instance):
12530         * objects-x.c (valid_x_font_name_p):
12531         * objects-x.c (truename_via_FONT_prop):
12532         * objects-x.c (truename_via_random_props):
12533         * objects-x.c (truename_via_XListFonts):
12534         * objects-x.c (x_font_truename):
12535         * objects-x.c (x_font_instance_truename):
12536         * objects-x.c (x_font_instance_properties):
12537         * objects-x.c (x_list_fonts):
12538         * objects-x.c (x_find_charset_font):
12539         Mule-ize entire file.
12540         [7].
12541
12542         * objects-x.h:
12543         Mule-verify.
12544
12545         * print.c:
12546         * print.c (std_handle_out_external):
12547         * print.c (debug_print_no_newline):
12548         * print.c (syms_of_print):
12549         Output to all debugger kinds in debug-print.
12550         Fix console-output code under MSWin to actually work.
12551
12552         * process-nt.c (send_signal):
12553         * process-nt.c (nt_create_process):
12554         Use newer Unicode macros.
12555
12556         * process-unix.c (unix_create_process):
12557         * process-unix.c (unix_canonicalize_host_name):
12558         * process-unix.c (unix_open_network_stream):
12559         [7].
12560
12561         * scrollbar-x.c:
12562         Mule-verify.
12563
12564         * search.c (syms_of_search):
12565         [2].
12566
12567         * select-msw.c (mswindows_destroy_selection):
12568         Use LIST_LOOP_2.
12569
12570         * select-x.c (symbol_to_x_atom):
12571         [7].
12572
12573         * select.c (syms_of_select):
12574         [2].
12575
12576         * sound.c (Fplay_sound_file):
12577         [7].
12578
12579         * specifier.c:
12580         * specifier.c (decode_specifier_type):
12581         * specifier.c (Fvalid_specifier_locale_type_p):
12582         * specifier.c (check_valid_locale_or_locale_type):
12583         * specifier.c (decode_locale):
12584         * specifier.c (decode_locale_type):
12585         * specifier.c (decode_locale_list):
12586         * specifier.c (check_valid_domain):
12587         * specifier.c (decode_specifier_tag_set):
12588         * specifier.c (Fcanonicalize_tag_set):
12589         * specifier.c (Fdefine_specifier_tag):
12590         * specifier.c (Fspecifier_tag_predicate):
12591         * specifier.c (check_valid_inst_list):
12592         * specifier.c (check_valid_spec_list):
12593         * specifier.c (decode_how_to_add_specification):
12594         * specifier.c (check_modifiable_specifier):
12595         * specifier.c (specifier_add_spec):
12596         * specifier.c (boolean_validate):
12597         * specifier.c (display_table_validate):
12598         [9].
12599
12600         * specifier.c (syms_of_specifier):
12601         Move some symbols to general-slots.h.
12602         [2].
12603
12604         * symbols.c:
12605         * symbols.c (Fmapatoms):
12606         * symbols.c (Fapropos_internal):
12607         Add GCPROs.
12608
12609         * symbols.c (set_default_buffer_slot_variable):
12610         * symbols.c (set_default_console_slot_variable):
12611         [1].
12612
12613         * symbols.c (defsymbol_massage_name_1):
12614         * symbols.c (defkeyword_massage_name):
12615         * symbols.c (deferror_1):
12616         * symbols.c (deferror):
12617         * symbols.c (deferror_massage_name_and_message):
12618         * symeval.h:
12619         * symeval.h (DEFSYMBOL):
12620         Support DEFSYMBOL*, DEFKEYWORD, DEFERROR
12621
12622         * symbols.c (syms_of_symbols):
12623         [2].
12624
12625         * symsinit.h:
12626         * symsinit.h (init_win32): New.
12627         Also new is syms_of_dialog_mswindows.
12628
12629         * syswindows.h:
12630         Add new Unicode macros, missing Cygwin wide-char functions,
12631         convenience conversion macros for Qmswindows_tstr, macros for
12632         encapsulating required MSWin <-> Cygwin filename conversions,
12633         prototype for dynamically-extracted (not in NT 3.51) functions.
12634
12635         * toolbar-x.c:
12636         Mule-verify.
12637
12638         * tooltalk.c (Fadd_tooltalk_message_arg):
12639         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
12640         * tooltalk.c (Fadd_tooltalk_pattern_arg):
12641         [7].
12642
12643         * tooltalk.c (syms_of_tooltalk):
12644         [2].
12645
12646         * unexnt.c:
12647         * unexnt.c (unexec):
12648         Fix up headers, declaration of unexec() to be more standard.
12649
12650 2000-07-20  Martin Buchholz  <martin@xemacs.org>
12651
12652         * offix.h: Revert change to guard macros - they're used in offix.c!
12653
12654 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12655
12656         * lisp.h: Defsubred Fdelete.
12657
12658         * console-msw.h:  (msprinter_default_printer): Added.
12659
12660         * console-msw.c (msprinter_canonicalize_console_connection):
12661         (msprinter_canonicalize_device_connection): Added.
12662
12663         * device-msw.c (msprinter_default_printer):
12664         (Fmswingows_get_default_printer):
12665         (signal_enum_priner_error):
12666         (Fmswingows_printer_list): Added.
12667
12668 2000-07-19  Martin Buchholz <martin@xemacs.org>
12669
12670         * XEmacs 21.2.35 is released.
12671
12672 2000-07-19  Martin Buchholz  <martin@xemacs.org>
12673
12674         * select-x.c (x_handle_selection_request):
12675         Text selected in xemacs and pasted into xterm failed to appear.
12676         Spelling fixes and cosmetic changes.
12677
12678 2000-07-18  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12679
12680         * event-msw.c (mswindows_drain_windows_queue): Correctly check for
12681         XEmacs frame (fix for doubling chars in dialog boxes).
12682
12683 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12684
12685         * select.c (select_convert_in, select_convert_out):
12686         Don't call intern() every time.
12687
12688         * select.c (Qselect_convert_in, Qselect_convert_out): New.
12689         * select.c (vars_of_select): Initialise them.
12690
12691 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12692
12693         * select.c (selection-coercible-types): New.
12694
12695         * select.c (own-selection-internal):
12696         * select.c (get-selection-internal):
12697         MULE bug fix - these should default to COMPOUND_TEXT and not
12698         STRING for MULE. I think.
12699
12700         * select.c (select_convert_out): Use selection-coercible-types
12701         to find types that we can attempt to perform coercions on.
12702
12703 2000-07-18  Martin Buchholz  <martin@xemacs.org>
12704
12705         * mule-wnnfns.c:
12706         * mule-canna.c:
12707         Add coding: cookie to identify encoding.
12708
12709         * mule-canna.c (CANNA_mode_keys): make static.
12710         Use proper prototypes, even for functions of no arguments.
12711         Remove external prototype for Fding().
12712
12713         * symsinit.h: Add missing prototype for reinit_vars_of_mule_wnn.
12714
12715         * select.c (syms_of_select): Add missing DEFSUBR.
12716
12717 2000-07-18 Alastair J. Houghton <ajhoughton@lineone.net>
12718
12719         * select.c (get_selection_internal, own_selection_internal):
12720         Make the type default to STRING, rather than placing a nil type
12721         into Vselection_alist.
12722
12723 2000-07-17 Alastair J. Houghton <ajhoughton@lineone.net>
12724
12725         * gpmevent.c (tty_selection_exists_p):
12726         * gpmevent.c (tty_own_selection):
12727         Updated parameter lists.
12728
12729 2000-07-15 Alastair J. Houghton <ajhoughton@lineone.net>
12730
12731         * select.h (selection-alist): Removed declaration.
12732
12733         * select.h (get_local_selection):
12734         * select.c (get_local_selection):
12735         Made static.
12736
12737         * select.h (convert_selection): Removed declaration.
12738         * select.c (convert_selection): Removed.
12739         This function belongs in Lisp.
12740
12741         * select.h (select_convert_in): Declare.
12742         * select.h (select_convert_out): Declare.
12743         * select.c (select_convert_in): New.
12744         * select.c (select_convert_out): New.
12745         New conversion functions for other files to call.
12746
12747         * select.h (select_notify_buffer_kill): Declare.
12748         * select.c (select_notify_buffer_kill): New.
12749         New functions that get called from kill-buffer.
12750
12751         * buffer.c (kill-buffer): Call select_notify_buffer_kill, rather than
12752         X-specific lisp code.
12753
12754         * select.h: Declare some of the lisp-visible functions for
12755         external use.
12756
12757         * select.c (clean_local_selection_data): Removed. This was
12758         a disgusting function, and previously should have been in
12759         select-x.c in any case. The functionality is now provided
12760         in select-convert-from-integer (select.el).
12761
12762         * select.c (available-selection-types): Fixed stupidity where
12763         INTEGER and ATOM got added twice. Also add STRING when we see an
12764         extent.
12765
12766         * select.c (get-selection-internal): Removed symbol stripping. No
12767         longer causes conversion when data comes from the internal cache.
12768
12769         * select.c (syms_of_select): Added new functions.
12770
12771         * select-x.c (motif_clipboard_cb): Use select_convert_out. Rewrote
12772         error checking - previously this called abort!
12773
12774         * select-x.c (x_own_selection): Changed comment.
12775
12776         * select-x.c (x_handle_selection_request): Use select_convert_out.
12777         Don't mess with selection-alist; it's an internal variable of select.c.
12778
12779         * select-x.c (x_get_foreign_selection): Use select_convert_in.
12780
12781         * select-x.c (x_handle_selection_clear): Use get-selection-timestamp,
12782         rather than messing with selection-alist.
12783
12784         * select-msw.c (mswindows_get_foreign_selection):
12785         Use TO_INTERNAL_FORMAT rather than hacking.
12786
12787 2000-07-14  Martin Buchholz  <martin@xemacs.org>
12788
12789         * process-unix.c (unix_open_multicast_group):
12790         (unix_open_multicast_group): Remove useless casts.
12791
12792 2000-07-13  Martin Buchholz  <martin@xemacs.org>
12793
12794         * sound.c (Fplay_sound): Fix `unused variable' warning.
12795
12796         * emacs.c (main): Use correct type for _environ on SCO5.
12797
12798 2000-07-12 Alastair J. Houghton <ajhoughton@lineone.net>
12799
12800         * console.h (own_selection_method):
12801         * console.h (selection_exists_p_method):
12802         * console.h (available_selection_types_method): New.
12803         * console.h (register_selection_data_type_method): New.
12804         * console.h (selection_data_type_name): New.
12805
12806         * console-msw.h (mswindows_destroy_selection): Declare it.  New
12807         function & alist to track GlobalAlloc()'d handles that need
12808         releasing when the clipboard data gets replaced or emptied.
12809
12810         * event-msw.c (mswindows_wnd_proc): Call it.
12811
12812         * lisp.h, general.c (Qappend): New symbol representing a
12813         `how-to-add' mode.
12814
12815         * select.c (own-selection-internal):
12816         * select.c (selection-exists-p):
12817         * select.c (available-selection-types): New.
12818         * select.c (register-selection-data-type): New.
12819         * select.c (selection-data-type-name): New.  New functions to deal
12820         with device-specific selection data formats.
12821         * select.c (selection-converter-out-alist): Renamed.
12822         * select.c (selection-converter-in-alist): New.
12823         * select.c (selection-appender-alist): New.  Added new alists.
12824         * select.c (syms_of_select, vars_of_select): Added new symbols &
12825         variables.
12826         * select.c (get_local_selection): Split.
12827         * select.c: Removed spurious type checking - selections may now be
12828         of any type, not just strings.
12829         * select.c (own-selection-internal):
12830
12831         * select.h, select.c (convert_selection): New. Created
12832         convert_selection() function based on get_local_selection().
12833         * select.h, select.c (QCF_*): New symbols representing mswindows
12834         clipboard formats.
12835         * select.h, select.c (Qreplace_all, Qreplace_existing): New
12836         symbols representing `how-to-add' modes.
12837
12838         * select-msw.c (x_sym_p): New.
12839         * select-msw.c (symbol_to_ms_cf): New.
12840         * select-msw.c (ms_cf_to_symbol): New. New functions to deal with
12841         symbols & clipboard formats. Can also handle string names.
12842         * select-msw.c (mswindows_own_selection):
12843         * select-msw.c (mswindows_selection_exists_p):
12844         Added `data-type' parameter. Use it.
12845         * select-msw.c (mswindows_available_selection_types): New.
12846         * select-msw.c (mswindows_register_selection_data_type): New.
12847         * select-msw.c (mswindows_selection_data_type_name): New.
12848         * select-msw.c (mswindows_own_selection):
12849         * select-msw.c (mswindows_get_foreign_selection):
12850         * select-msw.c (mswindows_selection_exists_p):  Rewrote.
12851         * select-msw.c (console_create_select_mswindows): Added new methods.
12852         * select-msw.c (mswindows_destroy_selection): New.
12853         * select-msw.c (Vhandle_alist): New list.
12854         * select-msw.c (mswindows_own_selection):
12855
12856         * select-x.c (x_own_selection):
12857         * select-x.c (x_selection_exists_p):
12858         * select-x.c: Added some comments about maybe using new
12859         functionality.
12860         * select-x.c (x_own_selection):
12861
12862         * specifier.c: Remove definition of Qappend (now in general.c)
12863         * specifier.c (syms_of_specifier): Remove Qappend.
12864
12865 2000-07-12  Martin Buchholz  <martin@xemacs.org>
12866
12867         * config.h.in: Add socklen_t.
12868
12869         * s/decosf4-0.h: No special compiler flags needed or desired.
12870         In particular, undefine _BSD for DEC OSF 4.0.
12871
12872 2000-07-07  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12873
12874         * redisplay-msw.c (msprinter_frame_output_end): Added.
12875         (console_type_create_redisplay_mswindows): Referred the above.
12876
12877         * frame.c (setup_frame_without_minibuffer): Do not create a
12878         default minibuffer frame on a printer device.
12879
12880         * frame-msw.c (apply_dc_geometry): Added.
12881         (msprinter_start_page):
12882         (msprinter_init_frame_3):
12883         (msprinter_eject_page): Use it.
12884
12885         * console-msw.h (struct msprinter_frame): Added pix_left and top,
12886         and removed residual duplex and orientation properties.
12887
12888 2000-07-11  Martin Buchholz  <martin@xemacs.org>
12889
12890         * eval.c (function_argcount): Work around a DEC CC compiler bug.
12891
12892         * unexalpha.c: Remove system prototypes from C sources!
12893
12894 2000-07-09  Adrian Aichner  <aichner@ecf.teradyne.com>
12895
12896         * eval.c: Remove references to M-x edit-options in DEFUNs for
12897         `defvar' and `defconst'.
12898
12899 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12900
12901         * config.h.in: Remove SMART_INCLUDE hackery.
12902
12903         PostgreSQL hacking:
12904         * config.h.in: Don't use SMART_INCLUDE.
12905
12906         * postgresql.h: Include libpq-fe.h here.  Fix typo.
12907         * inline.c: Simply #include "postgresql.h"
12908         * postgresql.c:
12909         - Don't use SMART_INCLUDE
12910         - Use simply "const".
12911         - Use standard doc string conventions.
12912         - Use correct type for result of PQstatus.
12913
12914 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12915
12916         * glyphs-x.c (x_xface_instantiate): Fix C++ compilation warnings.
12917
12918         C++ compilation changes.
12919         * config.h.in (EXTERN_C): Define.
12920         * config.h.in (not): This is also a C++ keyword.
12921         * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Enable C++ compilation.
12922         * cm.c: Use EXTERN_C.
12923         * redisplay-tty.c: Use EXTERN_C.
12924         * sysdep.c: Use EXTERN_C.  Remove Gould support.
12925
12926 2000-07-09  Martin Buchholz  <martin@xemacs.org>
12927
12928         * general.c: Remove duplicate definition for Qfunction.
12929
12930 2000-07-08  Ben Wing  <ben@xemacs.org>
12931
12932         * device-msw.c (msprinter_init_device):
12933         * device-msw.c (sync_printer_with_devmode):
12934         * device-msw.c (handle_devmode_changes):
12935         * device-msw.c (print_dialog_worker):
12936         * device-msw.c (Fmsprinter_apply_settings):
12937         * device-msw.c (hash_devmode):
12938         * device-msw.c (Fmsprinter_settings_despecialize):
12939         use Qmswindows_tstr, not Qctext.
12940
12941         * vm-limit.c (check_memory_limits):
12942         avoid infinite loop printing warning messages.
12943
12944 2000-07-05  Craig Lanning  <lanning@scra.org>
12945
12946         * Makefile.in.in: Add support for including the Windows resources
12947         when building with the cygwin and mingw targets.
12948
12949         * buffer.c: from Dan Holmsand, on Windows $PWD is most likely either
12950         not set or not correct.
12951         (directory_is_current_directory): Don't compile for WIN32_NATIVE.
12952         (init_initial_directory): Don't try to use $PWD on the
12953         WIN32_NATIVE target.
12954
12955         * s\cygwin32.h:
12956         [[Add -mwindows to eliminate console window.]] not required --ben
12957         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12958         (MAIL_USE_POP): removed; now handled by configure.
12959
12960         * s\mingw32.h: [[Add -mwindows to eliminate console window.]] not in
12961         C_SWITCH_SYSTEM or it will affect lib-src progs. --ben
12962         (HAVE_NATIVE_SOUND): removed; now handled by configure.
12963         (MAIL_USE_POP): removed; now handled by configure.
12964         (ENCAPSULATE_STAT): from Dan Holmsand, added.
12965         (ENCAPSULATE_FSTAT): from Dan Holmsand, added.
12966         (DIRECTORY_SEP): from Dan Holmsand, use lisp variable instead of
12967         constant string.
12968         (HAVE_TIMEVAL): from Dan Holmsand, added; struct timeval is picked
12969         up from <winsock.h> via systime.h.
12970         (HAVE_GETPAGESIZE): from Dan Holmsand, added.
12971         (getpagesize): from Dan Holmsand, added.
12972         Added #endif which was left dangling by Ben's mega patch; added
12973         comment to help prevent this in the future.
12974
12975         * sysdll.c: added #include <windows.h> for WIN32_NATIVE case.
12976
12977 2000-07-05  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
12978
12979         * console-msw.h (struct mswindows_device): Removed unnecessary
12980         cached device geometry values.
12981         Added update_tick and an accessor macro.
12982         (Lisp_Devmode): Added lrecord declaration.
12983         (struct msprinter_device): Contain devmode as a Lisp object.
12984         Added mswindows_get_selected_frame_hwnd();
12985
12986         * console.h (struct console_methods): Indentation nitpicking.
12987
12988         * device-msw.c (mswindows_init_device): Do not initialize geometry
12989         cache. Initialize update tick.
12990         (mswindows_device_system_metrics): Ask the device for its geometry.
12991         (global_free_2_maybe):
12992         (devmode_to_hglobal):
12993         (handle_printer_changes):
12994         (ensure_not_printing):
12995         (print_dialog_worker):
12996         (Fmsprinter_print_setup_dialog):
12997         (Fmsprinter_print_dialog):
12998         (plist_get_margin):
12999         (plist_set_margin):
13000         (Fmsprinter_page_setup_dialog): Added functions.
13001         (sync_printer_with_devmode):
13002         (handle_devmode_changes):
13003         (Fmsprinter_get_settings):
13004         (Fmsprinter_select_settings):
13005         (Fmsprinter_apply_settings):
13006         (allocate_devmode):
13007         (Fmsprinter_settings_copy):
13008         (Fmsprinter_settings_despecialize):
13009         (print_devmode):
13010         (finalize_devmode):
13011         (equal_devmode):
13012         (hash_devmode): Added functions
13013         (syms_of_device_mswindows): Init devmode lrecord class.
13014
13015         * device.h: Added an exfun for find-device.
13016
13017         * event-msw.c (mswindows_wnd_proc): Do not update the cached
13018         geometry; although, recreate the device compatible DC.
13019
13020         * frame-msw.c (mswindows_get_selected_frame_hwnd): Added.
13021         (msprinter_init_frame_3):
13022         (msprinter_frame_property):
13023         (msprinter_internal_frame_property_p):
13024         (msprinter_frame_properties):
13025         (msprinter_set_frame_properties): Removed 'orientation and 'duplex
13026         print job properties (will move to device settings).
13027
13028         * lisp.h: Added symbols.
13029
13030         * general.c (syms_of_general): Declared them.
13031
13032         * hash.c (string_hash): Added.
13033
13034         * lrecord.h (lrecord_type): Added devmode lrecord type.
13035
13036 2000-07-02  Mike Sperber <mike@xemacs.org>
13037
13038         * s/freebsd.h (INTERRUPTIBLE_OPEN): open *is* interruptible on
13039         FreeBSD 4.0.
13040
13041 2000-06-07  MORIOKA Tomohiko  <tomo@etl.go.jp>
13042
13043         * doprnt.c (emacs_doprnt_1): Fix problem with %0XXd for a negative
13044         integer.
13045
13046 2000-06-07  MORIOKA Tomohiko  <tomo@urania.m17n.org>
13047
13048         * data.c (Fstring_to_number): Don't recognize floating point if
13049         base is not 10.
13050
13051 2000-06-22  Martin Buchholz  <martin@xemacs.org>
13052
13053         * glyphs-widget.c (tab_control_query_geometry):
13054         (widget_query_geometry):
13055         (button_query_geometry):
13056         * glyphs.c (text_query_geometry):
13057         Enforce type correctness.
13058
13059 2000-06-18  Martin Buchholz  <martin@xemacs.org>
13060
13061         * s/decosf4-0.h (_etext): Use portable _etext instead of etext.
13062         * s/decosf4-0.h (_edata): Use portable _edata instead of edata.
13063
13064 2000-06-17  Martin Buchholz  <martin@xemacs.org>
13065
13066         * s/decosf4-0.h: Never #include "/usr/include/FOO.h" because this
13067         conflicts with gcc's fixincluded version of FOO.h.
13068
13069         * glyphs.h (image_instance_geometry): Remove trailing `,'
13070
13071 2000-06-08  Mike Alexander  <mta@arbortext.com>
13072
13073         (MAX_SHOVE_BUFFER_SIZE): Change to 512 to match stream buffer size
13074         (shove_thread): Don't write the same output twice
13075         (make_ntpipe_output_stream): Increase priority of shove thread
13076         (ntpipe_shove_writer): Call SwitchToThread to give shove thread a
13077         chance to run
13078         (ntpipe_shove_closer): Don't delete the pipe until we're done with
13079         it.
13080
13081 2000-06-12  Ben Wing  <ben@xemacs.org>
13082
13083         * s\mingw32.h (sigset):
13084         * s\windowsnt.h (sigset):
13085         rename msw_ to mswindows_ for consistency with general convention.
13086
13087 2000-06-12  Ben Wing  <ben@xemacs.org>
13088
13089         * console-msw.c:
13090         * console-msw.c (mswindows_get_console_hwnd):
13091         * console-msw.c (mswindows_ensure_console_allocated):
13092         * console-msw.c (mswindows_hide_console):
13093         * console-msw.c (mswindows_show_console):
13094         * console-msw.c (mswindows_ensure_console_buffered):
13095         * console-msw.c (mswindows_output_console_string):
13096         * console-msw.c (mswindows_windows9x_p):
13097         * console-msw.h:
13098         * device-msw.c (mswindows_get_workspace_coords):
13099         * device-msw.c (mswindows_device_system_metrics):
13100         * dialog-msw.c (mswindows_popup_dialog_box):
13101         * event-msw.c (mswindows_wnd_proc):
13102         * frame-msw.c (mswindows_size_frame_internal):
13103         * menubar-msw.c (mswindows_translate_menu_or_dialog_item):
13104         * menubar-msw.c (displayable_menu_item):
13105         * menubar-msw.c (mswindows_char_is_accelerator):
13106         * nt.c:
13107         * nt.c (mswindows_sigset):
13108         * nt.c (mswindows_sigrelse):
13109         * nt.c (mswindows_sigpause):
13110         * nt.c (mswindows_raise):
13111         * nt.c (timer_proc):
13112         * ntproc.c:
13113         * ntproc.c (find_child_console):
13114         * ntproc.c (sys_kill):
13115         * print.c:
13116         * print.c (std_handle_out_external):
13117         * process-nt.c (find_child_console):
13118         * process-nt.c (send_signal_the_95_way):
13119         * process-nt.c (ensure_console_window_exists):
13120         * process-nt.c (nt_create_process):
13121         * syssignal.h:
13122         rename msw_ to mswindows_ for consistency with general convention.
13123
13124         * emacs.c:
13125         * dumper.c:
13126         include nt.h, not syswindows.h.
13127
13128         * nt.c (mswindows_fstat):
13129         * nt.c (mswindows_stat):
13130         prefix mswindows_ instead of attempting to directly override the
13131         library functions.  fix declarations.
13132
13133         * nt.h:
13134         include syswindows.h.  move some sysdep.h stuff here.
13135
13136         * ntheap.h:
13137         include syswindows.h, not <windows.h>.
13138
13139         * ntplay.c:
13140         clean up headers.
13141
13142         * sysdep.c:
13143         clean up headers.
13144
13145         * sysdep.c (sys_fstat):
13146         * sysdep.c (sys_stat):
13147         call mswindows versions when appropriate.
13148
13149         * sysdep.h:
13150         move mswin decls to nt.h.
13151
13152         * syswindows.h:
13153         add long comment describing appropriate use of the various windows
13154         headers.
13155
13156 2000-06-11  Ben Wing  <ben@xemacs.org>
13157
13158         * device-x.c: Correct doc string for sixth arg of x-get-resource.
13159
13160 2000-06-10  Ben Wing  <ben@xemacs.org>
13161
13162         * Makefile.in.in (release):
13163         Correction to make sure xemacs.exe always dumped when correct.
13164
13165         * alloca.c:
13166         * balloon_help.c:
13167         [[[[3]]]]: Conditionalize on actual problem, not WINDOWSNT.
13168
13169         * buffer.c (set_buffer_internal):
13170         [[[[2]]]]: Remove HAVE_FEP code.
13171
13172         * buffer.c (init_initial_directory):
13173         [3].
13174
13175         * bytecode.c:
13176         [[[[4]]]]: limits.h standardly included in lisp.h; remove from
13177         individual files.
13178
13179         * callproc.c:
13180         * callproc.c (call_process_cleanup):
13181         * callproc.c (Fold_call_process_internal):
13182         * callproc.c (child_setup):
13183         * callproc.c (getenv_internal):
13184         * callproc.c (init_callproc):
13185         * callproc.c (vars_of_callproc):
13186         [[[[1]]]]: WINDOWSNT -> WIN32_NATIVE.
13187         __CYGWIN32__ -> CYGWIN.
13188         DOS_NT -> WIN32_NATIVE.
13189         Remove MSDOS support/references, converting to WIN32_NATIVE
13190           where correct.
13191         __MINGW32__ -> MINGW.
13192         Fix windows.h includes.
13193         Remove bogus HAVE_NTGUI.
13194
13195         * config.h.in:
13196         [2].
13197
13198         * console-msw.c:
13199         mswindows_message_outputted added for use in allowing startup
13200         errors on the console to be seen.
13201
13202         * console-msw.c (msw_ensure_console_allocated):
13203         * console-msw.c (msw_output_console_string):
13204         * console-msw.c (DHEADER):
13205         * console-msw.c (DOPAQUE_DATA):
13206         * console-msw.c (DEVENT):
13207         * console-msw.c (DCONS):
13208         * console-msw.c (DCONSCDR):
13209         * console-msw.c (DSTRING):
13210         * console-msw.c (DVECTOR):
13211         * console-msw.c (DSYMBOL):
13212         * console-msw.c (DSYMNAME):
13213         Fix warnings.
13214
13215         * console-stream.c (stream_init_console):
13216         Fix text/binary problems.
13217
13218         * device-msw.c:
13219         * device-msw.c (mswindows_finish_init_device):
13220         * device-msw.c (mswindows_delete_device):
13221         [1].
13222
13223         * device.c (handle_asynch_device_change):
13224         [3].
13225
13226         * dgif_lib.c:
13227         * dgif_lib.c (DGifOpenFileName):
13228         * dgif_lib.c (DGifOpenFileHandle):
13229         * dgif_lib.c (DGifGetLine):
13230         * dgif_lib.c (DGifGetPixel):
13231         Added config.h/lisp.h, fix up includes.
13232         [1].
13233
13234         * dired-msw.c:
13235         [4].
13236
13237         * dired.c:
13238         * dired.c (file_name_completion):
13239         * dired.c (Ffile_attributes):
13240         * dired.c (syms_of_dired):
13241         [1].
13242
13243         * dumper.c:
13244         * dumper.c (pdump_file_unmap):
13245         * dumper.c (pdump_load):
13246         [1].
13247
13248         * editfns.c:
13249         * editfns.c (Ftemp_directory):
13250         * editfns.c (user_login_name):
13251         * editfns.c (Fuser_real_login_name):
13252         * editfns.c (get_home_directory):
13253         [1].
13254
13255         * elhash.c (finish_marking_weak_hash_tables):
13256         [[[[5]]]]: Fix GCC warnings.
13257
13258         * emacs.c:
13259         * emacs.c (mswindows_handle_hardware_exceptions):
13260         * emacs.c (make_arg_list_1):
13261         * emacs.c (main_1):
13262         * emacs.c (Fkill_emacs):
13263         * emacs.c (Fdump_emacs):
13264         [1].
13265         Fix problems with nested crashes, add long comment.
13266
13267         * event-Xt.c (init_event_Xt_late):
13268         [1].
13269
13270         * event-msw.c:
13271         * event-msw.c (mswindows_dde_callback):
13272         * event-msw.c (mswindows_handle_sticky_modifiers):
13273         * event-msw.c (mswindows_wnd_proc):
13274         [1].
13275         [5].
13276
13277         * events.c (character_to_event):
13278         [1].
13279
13280         * fileio.c:
13281         * fileio.c (Ffile_name_directory):
13282         * fileio.c (Ffile_name_nondirectory):
13283         * fileio.c (directory_file_name):
13284         * fileio.c (Fexpand_file_name):
13285         * fileio.c (Fsubstitute_in_file_name):
13286         * fileio.c (Ffile_name_absolute_p):
13287         * fileio.c (check_executable):
13288         * fileio.c (Ffile_readable_p):
13289         * fileio.c (Ffile_accessible_directory_p):
13290         * fileio.c (Ffile_modes):
13291         * fileio.c (Funix_sync):
13292         * fileio.c (vars_of_fileio):
13293         [1]. [4].
13294
13295         [[[[7]]]]: Move CORRECT_DIR_SEPS to s\windowsnt.h.
13296
13297         Expand getdefdir defn.
13298         Fix bogus rename() comment.
13299
13300         [[[[6]]]]: Fix Windows includes w.r.t. removed nt\inc.  Attempt
13301         to use standard XEmacs include files, e.g. sysfile.h, rather
13302         than system-specific includes.
13303
13304         * fns.c:
13305         * fns.c (Fsubseq):
13306         [5]. [6].
13307
13308         * frame.c (vars_of_frame):
13309         [1].
13310
13311         * getloadavg.c:
13312         * getloadavg.c (getloadavg):
13313         [1]. [6].
13314         #ifdef XEMACS not defined on Cygwin.  Remove this; no need for it.
13315         (We don't use it elsewhere in the code; just add a comment.)
13316
13317         * gif_io.c:
13318         [6].
13319         Add config.h.
13320
13321         * glyphs-msw.c:
13322         * glyphs-msw.c (mswindows_resource_instantiate):
13323         [1].
13324
13325         * glyphs-x.c (x_native_layout_instantiate):
13326         [5].
13327
13328         * gui-msw.c (Fmswindows_shell_execute):
13329         [1].
13330
13331         * insdel.c:
13332         [4].
13333
13334         * lisp.h:
13335         [4]. [5].
13336
13337         * lread.c (locate_file_in_directory_mapper):
13338         [1].
13339
13340         * lstream.c:
13341         [4].
13342
13343         * mem-limits.h:
13344         * mem-limits.h (get_lim_data):
13345         [1].
13346
13347         * menubar-msw.c:
13348         [4].
13349
13350         * ndir.h:
13351         [1].
13352
13353         * nt.c:
13354         * nt.c (getwd):
13355         * nt.c (closedir):
13356         * nt.c (rva_to_section):
13357         * nt.c (mswindows_executable_type):
13358         [1]. [6].
13359         Fix closedir() defn.
13360
13361         * nt.h:
13362         [[[[8]]]]: *_OK defs moved to sysfile.h.
13363
13364         * ntproc.c:
13365         [6]. [7].
13366
13367         * objects-x.c:
13368         [4].
13369
13370         * print.c:
13371         * print.c (std_handle_out_external):
13372         [1]. [4].
13373
13374         * process-nt.c:
13375         * process-nt.c (nt_create_process):
13376         [6].
13377         try to fix process quoting somewhat.
13378
13379         * process-unix.c (unix_create_process):
13380         [1].
13381
13382         * process.c:
13383         * process.c (vars_of_process):
13384         Add Vnull_device.
13385
13386         * process.h:
13387         [1].
13388
13389         * realpath.c:
13390         * realpath.c (xrealpath):
13391         [1].
13392
13393         * redisplay-tty.c (init_tty_for_redisplay):
13394         [3].
13395
13396         * redisplay.c:
13397         [4]. [6].
13398
13399         * scrollbar-msw.c:
13400         [4].
13401
13402         * sheap.c:
13403         * sheap.c (more_static_core):
13404         * sheap.c (report_sheap_usage):
13405         [5]. [6].
13406
13407         * signal.c:
13408         * signal.c (alarm_signal):
13409         [1]. [6].
13410
13411         * sound.c:
13412         [6].
13413
13414         * strftime.c:
13415         * strftime.c (zone_name):
13416         [1]. [5].
13417
13418         * symsinit.h (init_sunpro):
13419         [1].
13420
13421         * syscommctrl.h:
13422         commctrl.h not in Cygwin b20.1.
13423
13424         * sysdep.c:
13425         * sysdep.c (endif):
13426         * sysdep.c (sys_subshell):
13427         * sysdep.c (init_baud_rate):
13428         * sysdep.c (emacs_get_tty):
13429         * sysdep.c (emacs_set_tty):
13430         * sysdep.c (tty_init_sys_modes_on_device):
13431         * sysdep.c (init_system_name):
13432         * sysdep.c (sys_open):
13433         * sysdep.c (interruptible_open):
13434         * sysdep.c (sys_fopen):
13435         * sysdep.c (sys_mkdir):
13436         * sysdep.c (sys_rename):
13437         * sysdep.c (get_process_times_1):
13438         [1]. [6].
13439
13440         * sysdep.h:
13441         [1].
13442
13443         * sysdir.h:
13444         * sysdir.h (DIRENTRY_NONEMPTY):
13445         [1]. [6].
13446
13447         * sysdll.c (dll_init):
13448         * sysdll.h:
13449         [1].
13450
13451         * sysfile.h:
13452         [1]. [6]. [8].
13453         added text/binary defs.
13454
13455         * sysfloat.h:
13456         [1].
13457
13458         * sysproc.h:
13459         * sysproc.h (EDESTADDRREQ):
13460         * sysproc.h (poll_fds_for_input):
13461         [1]. [6].
13462
13463         * syspwd.h:
13464         [6].
13465
13466         * syssignal.h:
13467         [1].
13468
13469         * systime.h:
13470         [1]. [6].
13471
13472         * systty.h:
13473         [1].
13474
13475         * syswindows.h:
13476         [1].
13477         Always define WIN32_LEAN_AND_MEAN.
13478
13479         * unexcw.c (unexec):
13480         [5].
13481
13482         * unexec.c:
13483         * unexec.c (copy_text_and_data):
13484         * unexec.c (adjust_lnnoptrs):
13485         [1].
13486
13487         * unexnt.c:
13488         * unexnt.c (_start):
13489         [1].
13490
13491 2000-06-07  Ben Wing  <ben@xemacs.org>
13492
13493         * mule-mcpath.c, mule-mcpath.h: Removed.  Old, crufty code that
13494         was used only as a model.  We've long since extracted any useful
13495         logic or code out of this. (I just did an exhaustive search.)
13496
13497         * s\msdos.h: Removed.
13498
13499         * s\windows95.h: Removed.
13500
13501 2000-06-10  Ben Wing  <ben@xemacs.org>
13502
13503         * s\cygwin32.h:
13504         [1]. [5].
13505         Don't use extern with fun defs.
13506
13507         * s\mingw32.h:
13508         [1]. [7].
13509         Remove nt\inc include.
13510         Remove getdisk, getdefdir. (The former is unused, the latter
13511         expanded in fileio.h.)
13512
13513         * s\windowsnt.h:
13514         * s\windowsnt.h (WIN32_NATIVE):
13515         * s\windowsnt.h (HAVE_STRCASECMP):
13516         [1]. [7].
13517         Add long comment about preprocessor changes.
13518         Remove getdisk, getdefdir. (The former is unused, the latter
13519         expanded in fileio.h.)
13520
13521 2000-06-10  Ben Wing  <ben@xemacs.org>
13522
13523         * m\arm.h:
13524         * m\delta.h:
13525         * m\intel386.h:
13526         * m\sequent.h:
13527         * m\template.h:
13528         * m\windowsnt.h:
13529         [1].
13530         Remove bogus/unused NO_SOCK_SIGIO.
13531
13532 2000-06-08  Hrvoje Niksic  <hniksic@iskon.hr>
13533
13534         * lisp.h (set_string_char): Call set_string_byte with a Bufbyte,
13535         not an Emchar.
13536
13537 2000-06-04  Mike Sperber <mike@xemacs.org>
13538
13539         * casetab.c (set_case_table): For `set-standard-case-table',
13540         actually deposit the new case tables where the rest of XEmacs can
13541         see them.
13542
13543 2000-06-05  Yoshiki Hayashi <yoshiki@xemacs.org>
13544
13545         * data.c (Faset): Don't cast XCHAR() to unsigned char.
13546
13547 2000-06-05  Ben Wing  <ben@xemacs.org>
13548
13549         * callproc.c (child_setup): Don't do close_load_descs() under
13550         MS Windows.  Put in a comment explaining why.
13551
13552 2000-05-28  Adrian Aichner  <aichner@ecf.teradyne.com>
13553
13554         * process-nt.c: Reverting patch "Fixing nt_create_process for MKS
13555         Toolkit shell" which breaks `kill-compilation' on Windows NT
13556         native, retaining STDERR handling improvements.
13557
13558 2000-06-01  Andreas Jaeger  <aj@suse.de>
13559
13560         * s/s390.h: Support for S390, based on a patch by Martin
13561         Schwidefsky <schwidefsky@de.ibm.com>.
13562
13563 2000-05-30  Andy Piper  <andy@xemacs.org>
13564
13565         * window.c (allocate_window):
13566         (make_dummy_parent):
13567         (Fset_window_configuration): use new hashtable type.
13568
13569         * glyphs.h (IMAGE_UNSPECIFIED_GEOMETRY):
13570         (struct image_instantiator_methods):
13571         (struct Lisp_Image_Instance): make instance geometry signed.
13572
13573         * glyphs.c (instantiate_image_instantiator):
13574         (image_instance_query_geometry):
13575         (image_instance_layout):
13576         (image_instance_layout):
13577         (query_string_geometry):
13578         (text_query_geometry):
13579         (image_instantiate):
13580         (image_instantiate):
13581         (cache_subwindow_instance_in_frame_maybe):
13582         (subwindow_query_geometry): make instance geometry signed.
13583
13584         * glyphs-widget.c (widget_query_geometry):
13585         (widget_layout):
13586         (button_query_geometry):
13587         (tree_view_query_geometry):
13588         (tab_control_query_geometry):
13589         (layout_query_geometry):
13590         (layout_layout):
13591         (native_layout_layout): make instance geometry signed.
13592
13593 2000-05-29  Olivier Galibert  <galibert@pobox.com>
13594
13595         * lisp.h: Add Qfull_assoc symbol and WEAK_LIST_FULL_ASSOC
13596         constant.
13597
13598         * general.c (syms_of_general): Add Qfull_assoc symbol.
13599
13600         * data.c (finish_marking_weak_lists): Mark full-assoc lists
13601         correctly.
13602         (decode_weak_list_type): Decode full-assoc type.
13603         (encode_weak_list_type): Encode full-assoc type.
13604         (Fmake_weak_list): Update doc string.
13605
13606 2000-05-30  Andy Piper  <andy@xemacs.org>
13607
13608         * elhash.h (hash_table_weakness): new KEY_VALUE weak hashtable.
13609
13610         * elhash.c (print_hash_table): new KEY_VALUE weak hashtable.
13611         (decode_hash_table_weakness): ditto.
13612         (Fhash_table_weakness): ditto.
13613         (Fhash_table_type): ditto.
13614         (finish_marking_weak_hash_tables): ditto.
13615         (hash_table_weakness_validate): ditto.
13616         (syms_of_elhash): ditto.
13617
13618 2000-05-28  Martin Buchholz <martin@xemacs.org>
13619
13620         * XEmacs 21.2.34 is released.
13621
13622 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13623
13624         * redisplay.c (VERTICAL_CLIP): No longer reset when updating line
13625         start cache.
13626         (updating_line_start_cache): Gone.
13627         (regenerate_window): Replace resetting of VERTICAL_CLIP by
13628         generic code to force a minimum of 1 line laid out in the
13629         CMOTION_DISP case.
13630
13631 2000-05-22  Jan Vroonhof  <vroonhof@math.ethz.ch>
13632
13633         * glyphs.c (instantiate_image_instantiator): Check for initialized
13634         height & width no longer special cases IMAGE_NOTHING.
13635         (nothing_instantiate): Set height and width of instance.
13636
13637 2000-05-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
13638
13639         * unexelf.c (unexec): Search for ".data" section.
13640         Initialize new_data2_offset from old_data_index.
13641         Remove redundant check for ElfW.
13642
13643 2000-05-23  Andy Piper  <andy@xemacs.org>
13644
13645         * glyphs.c (get_image_instantiator_governing_domain): allow more
13646         specific domains as the governing domain rather than expecting an
13647         exact match. This fixes problems with layouts.
13648
13649 2000-05-22  Andy Piper  <andy@xemacs.org>
13650
13651         * redisplay-output.c (compare_runes): check for non-images
13652
13653         * glyphs.c (set_glyph_dirty_p): ditto.
13654         (update_glyph_cachel_data): ditto.
13655
13656         * glyphs-widget.c (layout_post_instantiate): ditto.
13657         (layout_post_instantiate): ditto.
13658
13659         * event-msw.c (mswindows_wnd_proc): warning removal.
13660
13661 2000-05-12  Craig Lanning  <CraigL@DyCon.com>
13662
13663         * s\mingw32.h: Added #undef for CLASH_DETECTION.
13664
13665         * syswindows.h: Moved PBS_SMOOTH definition to syscommctrl.h.
13666
13667         * syscommctrl.h (PBS_SMOOTH): Moved from syswindows.h.
13668
13669         * nt.c (rva_to_section): mingw32 needs rva_to_section.
13670         (mswindows_executable_type): mingw32 now has enough headers for
13671         this to work.
13672
13673 2000-05-20  Andy Piper  <andy@xemacs.org>
13674
13675         * console-msw.c (mswindows_output_last_error): ; -> ,
13676
13677 2000-05-12  Andy Piper  <andy@xemacs.org>
13678
13679         * console-msw.c (FROB): compare ints with ints.
13680
13681 2000-05-11  Andy Piper  <andy@xemacs.org>
13682
13683         * glyphs-x.c (x_finalize_image_instance): make minimal build
13684         happy.
13685
13686 2000-05-20  Ben Wing  <ben@xemacs.org>
13687
13688         * event-Xt.c:
13689         * event-Xt.c (vars_of_event_Xt):
13690         move modifier-keys-are-sticky to event-stream.c.
13691
13692         * event-msw.c:
13693         * event-msw.c (mswindows_enqueue_mouse_button_event):
13694         * event-msw.c (key_needs_default_processing_p):
13695         * event-msw.c (XEMSW_LCONTROL):
13696         * event-msw.c (mswindows_handle_sticky_modifiers):
13697         * event-msw.c (FROB):
13698         * event-msw.c (clear_sticky_modifiers):
13699         * event-msw.c (output_modifier_keyboard_state):
13700         * event-msw.c (output_alt_keyboard_state):
13701         * event-msw.c (mswindows_wnd_proc):
13702         * event-msw.c (mswindows_modifier_state):
13703         * event-msw.c (emacs_mswindows_handle_magic_event):
13704         implement sticky modifiers.
13705
13706         * event-stream.c:
13707         * event-stream.c (vars_of_event_stream):
13708         move modifier-keys-are-sticky here.
13709
13710         * lisp.h:
13711         add CHECK_FUNCTION.
13712
13713         * rangetab.c:
13714         implement map-range-table.
13715
13716
13717 2000-05-17  Yoshiki Hayashi  <yoshiki@xemacs.org>
13718
13719         * redisplay-tty.c (reset_tty_modes):
13720         (tty_redisplay_shutdown): Adjust argument type to
13721         tty_frame_output_end.
13722
13723 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13724
13725         * eval.c (Fbacktrace): Don't output a line with only right
13726         parenthesis.
13727
13728 2000-05-17  Kenji Itoh  <keit@tpj.co.jp>
13729
13730         * postgresql.c (Fpq_connect_poll): Replace `PS' with `polling_status'.
13731         (Fpq_reset_poll): Ditto.
13732
13733 2000-05-16  Katsumi Yamaoka  <yamaoka@jpl.org>
13734
13735         * redisplay-tty.c: Replace tty_output_end with tty_frame_output_end.
13736
13737 2000-05-16  Ben Wing  <ben@xemacs.org>
13738
13739         * buffer.c:
13740         * buffer.c (dfc_convert_to/from_internal_format):
13741         * buffer.c (reinit_vars_of_buffer):
13742         Fix conversion functions to allow reentrancy.
13743
13744         * console-msw.c:
13745         * console-msw.c (mswindows_output_last_error):
13746         New fun, generally useful -- output a human-readable
13747         version of GetLastError() on the console.
13748
13749         * console-msw.h:
13750         * console-msw.h (struct mswindows_frame):
13751         Changes for DeferWindowPos.  Declare mswindows_output_last_error().
13752
13753         * console-stream.c (stream_output_begin):
13754         * console-stream.c (stream_output_end):
13755         * console-stream.c (stream_output_vertical_divider):
13756         * console-stream.c (stream_clear_region):
13757         * console-stream.c (stream_flash):
13758         * console-stream.c (console_type_create_stream):
13759         Delete blank stream methods, not needed.
13760
13761         * console.h (struct console_methods):
13762         Split begin/end methods into window and frame.
13763
13764         * event-msw.c:
13765         * event-msw.c (mswindows_handle_paint):
13766         * event-msw.c (output_alt_keyboard_state):
13767         * event-msw.c (mswindows_wnd_proc):
13768         * event-msw.c (vars_of_event_mswindows):
13769         Comment about problems with ignored-expose.
13770         Define mswindows-debug-events; not really implemented.
13771
13772         * frame-msw.c (mswindows_init_frame_1):
13773         random cleanups.
13774
13775         * glyphs-msw.c:
13776         * glyphs-msw.c (begin_defer_window_pos):
13777         * glyphs-msw.c (mswindows_unmap_subwindow):
13778         * glyphs-msw.c (mswindows_map_subwindow):
13779         * glyphs-msw.c (mswindows_resize_subwindow):
13780         Use DeferWindowPos to reduce flashing when mapping/unmapping.
13781
13782         * glyphs.c (make_image_instance_1):
13783         Fix crash.
13784
13785         * gutter.c (Fredisplay_gutter_area):
13786         Use new begin/end methods.
13787
13788         * lisp.h (Dynarr_new2):
13789         New creation fun.
13790
13791         * redisplay-msw.c:
13792         * redisplay-msw.c (mswindows_frame_output_begin):
13793         * redisplay-msw.c (mswindows_frame_output_end):
13794         * redisplay-msw.c (console_type_create_redisplay_mswindows):
13795         New begin/end methods -- handle DeferWindowPos.
13796
13797         * redisplay-output.c (redisplay_move_cursor):
13798         * redisplay-output.c (redraw_cursor_in_window):
13799         * redisplay-output.c (redisplay_update_line):
13800         * redisplay-output.c (redisplay_output_window):
13801         New begin/end methods.
13802
13803         * redisplay-tty.c:
13804         * redisplay-tty.c (tty_frame_output_begin):
13805         * redisplay-tty.c (tty_frame_output_end):
13806         * redisplay-tty.c (console_type_create_redisplay_tty):
13807         New begin/end methods.
13808
13809         * redisplay-x.c:
13810         * redisplay-x.c (x_window_output_begin):
13811         * redisplay-x.c (x_window_output_end):
13812         * redisplay-x.c (console_type_create_redisplay_x):
13813         New begin/end methods.
13814
13815         * redisplay.c (redisplay_frame):
13816         * redisplay.c (Fredisplay_echo_area):
13817         New begin/end methods.
13818         use MAYBE_DEVMETH for clear_frame; it may not exist.
13819
13820         * window.h (WINDOW_XFRAME):
13821         WINDOW_XFOO macros -- get locale and decode struct pointer.
13822
13823
13824 2000-05-12  Ben Wing  <ben@xemacs.org>
13825
13826         * emacs.c:
13827         * emacs.c (ensure_no_quitting_from_now_on):
13828         * emacs.c (fatal_error_signal):
13829         * emacs.c (mswindows_handle_hardware_exceptions):
13830         * emacs.c (main):
13831         * emacs.c (Fkill_emacs):
13832         * emacs.c (shut_down_emacs):
13833         * emacs.c (assert_failed):
13834         various improvements in fatal error handling.
13835
13836         * eval.c:
13837         move preparing_for_armageddon to emacs.c.
13838
13839         * lisp.h:
13840         declare fatal_error_in_progress.
13841
13842         * print.c:
13843         * print.c (std_handle_out_external):
13844         * print.c (std_handle_out_va):
13845         * print.c (stderr_out):
13846         * print.c (stdout_out):
13847         use console under mswin when no standard output.
13848         don't do code conversion during fatal error.
13849
13850         * scrollbar.c (Fscrollbar_page_up):
13851         * scrollbar.c (Fscrollbar_page_down):
13852         fix missing else.  reindent.
13853
13854 2000-05-11  Jan Vroonhof  <vroonhof@math.ethz.ch>
13855
13856         Emergency fix.
13857
13858         * glyphs.h (GLYPH_CACHEL_DESCENT):
13859         (GLYPH_CACHEL_DESCENT):
13860         (GLYPH_CACHEL_DESCENT):
13861         * glyphs.h (GLYPH_CACHEL_ASCENT): Match parameters to variables
13862         used in case these are inline functions.
13863         Use more absurd values to error check.
13864
13865         include window.h for error check functions.
13866
13867 2000-05-11  Ben Wing  <ben@xemacs.org>
13868
13869         * cmdloop.c (Freally_early_error_handler):
13870         Display message box under windows; otherwise, message will disappear
13871         before it can be viewed.
13872
13873         * console-msw.c:
13874         * console-msw.c (Fmswindows_message_box):
13875         * console-msw.c (FROB):
13876         * console-msw.c (syms_of_console_mswindows):
13877         Define new fun `mswindows-message-box'.
13878         #### I will merge this into `popup-dialog-box'; just give me
13879         a bit of time.
13880
13881         * general.c:
13882         * general.c (syms_of_general):
13883         Some new symbols used in `mswindows-message-box'.
13884
13885         * glyphs.c:
13886         * glyphs.c (Fset_image_instance_property):
13887         put warning in this fun.
13888
13889         * glyphs.h:
13890         * glyphs.h (GLYPH_CACHEL_WIDTH):
13891         * glyphs.h (GLYPH_CACHEL_ASCENT):
13892         * glyphs.h (GLYPH_CACHEL):
13893         * glyphs.h (GLYPH_CACHEL_GLYPH):
13894         define error-checking versions to try to catch a bug i've seen --
13895         redisplay gets in an infinite loop because the glyph width of the
13896         continuation glyph is 65535.
13897
13898         * lisp.h:
13899         Extern message-box stuff.
13900
13901         * window.c (allocate_window):
13902         * window.c (make_dummy_parent):
13903         * window.c (Fset_window_configuration):
13904         Use EQUAL not EQ for subwindow caches to make them work a bit
13905         better. (Something is still very broken.)
13906
13907
13908 2000-05-11  Yoshiki Hayashi  <yoshiki@xemacs.org>
13909
13910         * glyphs.c (image_instantiate): Suppress gcc warnings.
13911         (Fmake_image_instance): Fix doc string.
13912         * specifier.c (Fmake_specifier): Ditto.
13913
13914 2000-05-02  Yoshiki Hayashi  <yoshiki@xemacs.org>
13915
13916         * paths.h.in (PATH_LOCK): Removed.
13917         * config.h.in (LOCKDIR_USER_DEFINED): Removed.
13918         * emacs.c (complex_vars_of_emacs): Remove configure-lock-directory.
13919
13920 2000-05-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
13921
13922         * fns.c (Ffeaturep): Update e-mail address in doc-string.
13923         Document (featurep '(and xemacs 21.02)).
13924
13925 2000-05-09  Ben Wing  <ben@xemacs.org>
13926
13927         * buffer.c (complex_vars_of_buffer):
13928         update modeline-format doc.
13929
13930         * device.h:
13931         comment about how DFW_DEVICE should be merged with DOMAIN_DEVICE.
13932
13933         * emacs.c:
13934         timeline of all released versions of Emacs, for use in creating
13935         authorship comments and in synching up.
13936
13937         * glyphs-widget.c (image_instantiator_buttons):
13938         * glyphs-widget.c (image_instantiator_edit_fields):
13939         * glyphs-widget.c (image_instantiator_combo_box):
13940         * glyphs-widget.c (image_instantiator_scrollbar):
13941         * glyphs-widget.c (image_instantiator_progress_guage):
13942         * glyphs-widget.c (image_instantiator_tree_view):
13943         * glyphs-widget.c (image_instantiator_tab_control):
13944         * glyphs-widget.c (image_instantiator_labels):
13945         * glyphs-widget.c (image_instantiator_layout):
13946         * glyphs-widget.c (image_instantiator_native_layout):
13947         rename decode_domain method to governing_domain.
13948
13949         * glyphs.c:
13950         * glyphs.c (Fvalid_image_instantiator_format_p): doc update.
13951         * glyphs.c (add_entry_to_device_ii_format_list):
13952         make sure we don't put an entry more than once into the list.
13953         * glyphs.c (check_instance_cache_mapper):
13954         *************************************************************
13955         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
13956         HAVE BEEN GETTING.
13957         *************************************************************
13958         * glyphs.c (get_image_instantiator_governing_domain):
13959         clean up, expand on new concept of governing domain.
13960         * glyphs.c (instantiate_image_instantiator):
13961         * glyphs.c (allocate_image_instance):
13962         use governing_domain instead of cache_domain in naming.
13963         * glyphs.c (Fvalid_image_instance_type_p): fix docs.
13964         * glyphs.c (make_image_instance_1):
13965         * glyphs.c (Fmake_image_instance):
13966         allow for any domain (not just device), and process the
13967         governing domain correctly.  very big doc fix.
13968         * glyphs.c (Fimage_instance_domain):
13969         new primitive, to retrieve the governing domain of an image instance.
13970         * glyphs.c (image_instantiate):
13971         use new governing_domain stuff.  this fixes a crash you could get
13972         by instantiating certain widget glyphs in frame locales. (should
13973         signal an error instead of crashing.)
13974         * glyphs.c (Fimage_specifier_p): move doc to make-image-specifier.
13975         * glyphs.c (Fglyphp): clean up doc.
13976         * glyphs.c (subwindow_governing_domain): renamed from *_decode_domain.
13977         * glyphs.c (syms_of_glyphs):
13978         declare Fimage_instance_domain, remove unused Qlayout_image_instance_p.
13979         * glyphs.c (image_instantiator_format_create): add some comments about
13980         bogus code.
13981         * glyphs.c (specifier_vars_of_glyphs): totally rewrite the doc string
13982         for current-display-table. (Apparently Hrjove implemented in 1998 a
13983         design I wrote up in 1996, but didn't update the doc string.)
13984
13985         * glyphs.h: clean up a doc string.
13986         * glyphs.h (governing_domain):
13987         * glyphs.h (struct image_instantiator_methods):
13988         changes for governing_domain stuff.
13989
13990         * gutter.c:
13991         * gutter.c (Fgutter_specifier_p):
13992         * gutter.c (Fgutter_size_specifier_p):
13993         * gutter.c (Fgutter_visible_specifier_p):
13994         * objects.c:
13995         * objects.c (Fcolor_specifier_p):
13996         * objects.c (Ffont_specifier_p):
13997         * objects.c (Fface_boolean_specifier_p):
13998         doc strings moved to make-*-specifier.
13999
14000         * redisplay.c (add_disp_table_entry_runes_1):
14001         * redisplay.c (generate_fstring_runes):
14002         * redisplay.c (screen):
14003         add random comments and doc strings.
14004
14005         * specifier.c:
14006         * specifier.c (Fmake_specifier):
14007         major overhaul of this doc string.
14008
14009         * specifier.c (Fvalid_specifier_domain_p):
14010         comment about the bogosity of image instances being domains.
14011         * specifier.c (decode_domain):
14012         now non-static, used in glyphs.c.
14013         * specifier.c (specifier_instance):
14014         comment about the bogosity of image instances being domains.
14015         * specifier.c (Fgeneric_specifier_p):
14016         move doc string to make-generic-specifier.
14017         * specifier.c (VALID_SINGLE_DISPTABLE_INSTANTIATOR_P):
14018         rebackslashify.
14019
14020         * specifier.h:
14021         * specifier.h (DOMAIN_FRAME):
14022         * specifier.h (DOMAIN_LIVE_P):
14023         * specifier.h (DOMAIN_XDEVICE):
14024         rebackslashify.
14025         add comments about problems with these macros.
14026         prototype for decode_domain.
14027
14028         * toolbar.c:
14029         * toolbar.c (Ftoolbar_specifier_p):
14030         move doc string to `make-toolbar-specifier'.
14031
14032         * window.c (window_unmap_subwindows_cache_mapper):
14033         *************************************************************
14034         allow for nil.  THIS SHOULD FIX A REAL CRASH THAT MANY PEOPLE
14035         HAVE BEEN GETTING.
14036         *************************************************************
14037
14038 2000-05-09  Andy Piper  <andy@xemacs.org>
14039
14040         * glyphs.h: declare reset_frame_subwindow_instance_cache.
14041
14042         * window.c (Fset_window_configuration): reset the frame subwindow
14043         cache and re-initialize the window subwindow caches.
14044
14045         * glyphs.c (reset_frame_subwindow_instance_cache): new function.
14046
14047 2000-05-09  Ben Wing  <ben@xemacs.org>
14048
14049         * ntheap.c (recreate_heap): Changed unknown (VC6 only?) SIZE_T to
14050         DWORD.
14051
14052 2000-04-26  Mike Woolley  <mike@bulsara.com>
14053
14054         * ntheap.c: Changed recreate_heap to limit the amount reserved
14055         for the heap to that which is actually available. Also now
14056         displays a message box (with some dignostics) in the event that
14057         it still can't start.
14058
14059 2000-05-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
14060
14061         * callproc.c (Fold_call_process_internal): GCPRO path
14062
14063 2000-05-08  Jan Vroonhof  <jan@xemacs.org>
14064
14065         Patch by Bill Perry.
14066
14067         * scrollbar.c (Fscrollbar_page_up): Conditionalize on type of call
14068         back data instead of #ifdef.
14069         (Fscrollbar_page_down): ditto.
14070
14071 2000-05-07  Ben Wing  <ben@xemacs.org>
14072
14073         * buffer.h:
14074         Kludge for defining Qmswindows_tstr.
14075
14076         * nt.c:
14077         * nt.c (open_input_file):
14078         * nt.c (open_output_file):
14079         * nt.c (rva_to_section):
14080         * nt.c (mswindows_executable_type):
14081         Move all memory-mapped-file routines here (some were in unexnt.c,
14082         which is bad because they are used by process-nt.c, and unexnt
14083         won't be around when portable dumping).  Synched the above routines
14084         with FSF 20.6.
14085
14086         * nt.h:
14087         Removed ifdef'd out bogus code.
14088         Fixed some prototypes.
14089
14090         * nt.h (file_data):
14091         * nt.h (OFFSET_TO_RVA):
14092         * nt.h (RVA_TO_OFFSET):
14093         * nt.h (RVA_TO_PTR):
14094         Moved the memory-mapped-file structures, macros and prototypes
14095         here, to parallel nt.c.  ntheap.h should really be removed
14096         entirely, and it's a non-portable-dumper specific file.
14097
14098         * ntheap.h (round_to_next):
14099         Moved the memory-mapped-file structures, macros and prototypes
14100         to nt.h.
14101
14102         * ntproc.c (compare_env):
14103         Moved rva_to_section and mswindows_executable_type to nt.c.
14104         Moved compare_env to process-nt.c.
14105         ntproc.c will die, one day.
14106
14107         * ntproc.c (sys_spawnve):
14108         Account for win32_ -> mswindows_.
14109
14110         * process-nt.c:
14111         * process-nt.c (struct nt_process_data):
14112         * process-nt.c (ensure_console_window_exists):
14113         * process-nt.c (compare_env):
14114         * process-nt.c (nt_create_process):
14115         * process-nt.c (nt_kill_process_by_pid):
14116         * process-nt.c (syms_of_process_nt):
14117         * process-nt.c (vars_of_process_nt):
14118         Introduce variable `mswindows-quote-process-args', from FSF 20.6.
14119         Copy argument quoting code from FSF 20.6 (with appropriate Mule-ization
14120         changes).  Eliminate our old `nt-quote-process-args' mechanism.
14121         Synch up nt_create_process with FSF 20.6 sys_spawnve.
14122         Move compare_env here from ntproc.c.
14123
14124         * process.c (Fprocess_send_region):
14125         Takes an optional fourth argument, BUFFER, which should fix some
14126         problems with call-process.
14127
14128         * syscommctrl.h:
14129         Move ICC_BAR_CLASSES here from syswindows.h, to avoid a warning.
14130
14131         * syswindows.h:
14132         Move ICC_BAR_CLASSES to syscommctrl.h.
14133         Add preliminary macros for MSWindows/Mule.  More to come.
14134
14135         * unexnt.c:
14136         * unexnt.c (unexec):
14137         open_output_file moved to nt.c.
14138
14139
14140 2000-05-05  Andy Piper  <andy@xemacs.org>
14141
14142         * window.c (window_unmap_subwindows_cache_mapper): remove the dead
14143         instance from the frame cache also since GC may catch up too late
14144         to make frame deletion sane.
14145
14146 2000-05-04  Andy Piper  <andy@xemacs.org>
14147
14148         * glyphs-x.c (x_widget_instantiate): gcpro widget callbacks.
14149         (x_finalize_image_instance): ungcpro on deletion.
14150
14151         * glyphs.c (image_instantiator_format_create): give pointers a
14152         query geometry method so that the geometry is at least set.
14153
14154         * glyphs-x.c (image_instantiator_format_create_glyphs_x): only
14155         initialize layouts if using widgets.
14156
14157 2000-05-03  Andy Piper  <andy@xemacs.org>
14158
14159         * nt.c: remove bogus reference to sysmmsystem.h
14160
14161         * gui-x.c (popup_selection_callback): fix no selection abort.
14162
14163 2000-05-02  Andy Piper  <andy@xemacs.org>
14164
14165         * glyphs-msw.c (mswindows_update_widget): cope with nil text.
14166         (mswindows_widget_instantiate): ditto.
14167
14168         * glyphs-widget.c (initialize_widget_image_instance): initialize
14169         children correctly.
14170         (widget_instantiate): cope with children and items in the same
14171         instance.
14172
14173         * glyphs.c (mark_image_instance): cope with children as a first
14174         class member.
14175         (image_instance_equal): ditto.
14176         (image_instance_hash): ditto.
14177         (image_instance_changed): ditto.
14178
14179 2000-04-30  Andy Piper  <andy@xemacs.org>
14180
14181         * glyphs.c (subwindow_query_geometry): new function. Return some
14182         defaults.
14183         (subwindow_instantiate): don't assign dimensions if none have been
14184         given.
14185         (image_instantiator_format_create): add subwindow_query_geometry.
14186         (print_image_instance): cope with layouts as widgets.
14187
14188 2000-04-29  Andy Piper  <andy@xemacs.org>
14189
14190         * frame.c (delete_frame_internal): call
14191         free_frame_subwindow_instance_cache so that all subwindows are
14192         finalized before their parent.
14193         (mark_frame): remove subwindow_cachels.
14194         (Fmake_frame): remove subwindow_cachel manipulation.
14195         (allocate_frame_core): subwindow_instance_cache is a weak list.
14196         (delete_frame_internal): set subwindow_instance_cache to nil.
14197
14198         * glyphs-msw.c (mswindows_finalize_image_instance): make double
14199         finalization safe.
14200         (mswindows_finalize_image_instance): use the device
14201         not the domain as the domain may have died already.
14202
14203         * glyphs-x.c (x_finalize_image_instance): ditto.
14204         (x_subwindow_instantiate): remove SUBWINDOW_WIDTH &
14205         HEIGHT.
14206
14207         * redisplay-output.c (redisplay_unmap_subwindows): update for
14208         subwindow instance cache as a weak list.
14209         (redisplay_unmap_subwindows_maybe): ditto.
14210         (redisplay_unmap_subwindows_except_us): ditto.
14211
14212         * glyphs.c (unmap_subwindow): error checking will check the domain
14213         so don't deal with it here. Don't use cachels anymore.
14214         (map_subwindow): ditto.
14215         (update_subwindow_cachel_data): remove old accessor names.
14216         (subwindow_instantiate): remove SUBWINDOW_WIDTH & HEIGHT.
14217         (Fresize_subwindow): don't update cachel.
14218         (mark_subwindow_cachels):
14219         (update_subwindow_cachel_data):
14220         (add_subwindow_cachel):
14221         (get_subwindow_cachel_index):
14222         (update_subwindow_cachel):
14223         (reset_subwindow_cachels):
14224         (mark_subwindow_cachels_as_not_updated): deleted.
14225         (cache_subwindow_instance_in_frame_maybe): new function. Add a
14226         subwindow instance to the frame cache.
14227         (find_matching_subwindow): update for subwindow instance cache as
14228         a weak list.
14229         (update_widget_instances): ditto.
14230         (image_instance_type_to_mask):inlined.
14231         (free_frame_subwindow_instance_cache): new function. finalize all
14232         subwindows that are instantiated.
14233
14234         * glyphs.h (struct Lisp_Image_Instance): add display_data instead
14235         of cachel information.
14236         (IMAGE_INSTANCE_DISPLAY_X):
14237         (IMAGE_INSTANCE_DISPLAY_Y):
14238         (IMAGE_INSTANCE_DISPLAY_WIDTH):
14239         (IMAGE_INSTANCE_DISPLAY_HEIGHT):
14240         (XIMAGE_INSTANCE_DISPLAY_X):
14241         (XIMAGE_INSTANCE_DISPLAY_Y):
14242         (XIMAGE_INSTANCE_DISPLAY_WIDTH):
14243         (XIMAGE_INSTANCE_DISPLAY_HEIGHT): new accessors.
14244         remove subwindow_cachel structure and function references.
14245         (image_instance_type_to_mask): inline from glyphs.c
14246
14247         * redisplay.c (redisplay_frame): remove subwindow_cachel
14248         references.
14249
14250         * frame.h (struct frame): remove subwindow_cachels.
14251         (FRAME_SUBWINDOW_CACHE): access subwindow_instance_cache.
14252
14253         * frameslots.h: add subwindow_instance_cache.
14254
14255         * window.c (replace_window): check subwindow cache of replacement.
14256         (window_unmap_subwindows_cache_mapper):
14257         (window_unmap_subwindows): new functions. Unmap all subwindows
14258         cached on this window.
14259         (mark_window_as_deleted): unmap all subwindows.
14260
14261 2000-04-27  Andy Piper  <andy@xemacs.org>
14262
14263         * glyphs.h (IIFORMAT_METH_OR_GIVEN): cope with null meths.
14264
14265         * glyphs-widget.c (widget_layout): return something.
14266         (layout_layout): return something. Fail if not initialized.
14267         (layout_query_geometry): ditto.
14268         (image_instantiator_native_layout): new function. Initialized the
14269         native layout type.
14270         (widget_instantiate): don't do layout stuff here.
14271
14272         * glyphs.c (instantiate_image_instantiator): reorded calling or
14273         instantiate and post_instantiate with layout in between.
14274         (image_instance_layout): be more selective about deciding whether
14275         the layout has been done or not.
14276
14277         * glyphs.h (struct image_instantiator_methods): return a value
14278         from layout_method.
14279
14280 2000-04-26  Andy Piper  <andy@xemacs.org>
14281
14282         * glyphs.c (allocate_image_instance): make initial width and
14283         height unspecified. Set initialized to 0.
14284
14285         * syscommctrl.h new file. Encapsulates commctrl.h.
14286
14287         * syswindows.h new file. Encapsulates windows.h.
14288
14289         * ntplay.c: use new syswindows.h and syscommctrl.h header.
14290         * nt.c: ditto.
14291         * console-msw.h: ditto.
14292
14293         * redisplay-tty.c (tty_output_display_block): remove layout references.
14294
14295         * glyphs-msw.c (mswindows_widget_instantiate): use the domain
14296         window handle rather than just the frame.
14297
14298         * glyphs.c (mark_image_instance): remove layout references.
14299         (print_image_instance): ditto.
14300         (image_instance_equal): ditto.
14301         (image_instance_hash): ditto.
14302         (decode_image_instance_type): ditto.
14303         (encode_image_instance_type): ditto.
14304         (image_instantiate): ditto.
14305         (allocate_glyph): ditto.
14306         (Fimage_instance_height): ditto.
14307         (Fimage_instance_width): ditto.
14308         (update_subwindow): ditto.
14309
14310         * redisplay-x.c (x_output_display_block): recode for layouts as
14311         widgets.
14312
14313         * redisplay-output.c (redisplay_output_layout): recode for layouts
14314         as widgets.
14315         (compare_runes): remove layout references.
14316
14317         * redisplay-msw.c (mswindows_output_display_block): recode for
14318         layouts as widgets.
14319
14320         * glyphs-widget.c (image_instantiator_layout): remove
14321         layout_possible_dest_types.
14322         (layout_possible_dest_types): deleted.
14323
14324         * glyphs.h (image_instance_type): remove layout references.
14325         (struct Lisp_Image_Instance): ditto. Add initialized flag.
14326         (IMAGE_INSTANCE_INITIALIZED): new accessor.
14327         (XIMAGE_INSTANCE_INITIALIZED): ditto.
14328
14329 2000-04-25  Andy Piper  <andy@xemacs.org>
14330
14331         * glyphs-widget.c (image_instantiator_buttons):
14332         (image_instantiator_edit_fields):
14333         (image_instantiator_combo_box):
14334         (image_instantiator_scrollbar):
14335         (image_instantiator_progress_guage):
14336         (image_instantiator_tree_view):
14337         (image_instantiator_tab_control):
14338         (image_instantiator_labels):
14339         (image_instantiator_layout): call default post_instantiate method.
14340         (widget_post_instantiate): new function. Simply lays out the
14341         widgets.
14342
14343         * glyphs.h (struct image_instantiator_methods): add
14344         post_instantiate method.
14345
14346         * glyphs.c (instantiate_image_instantiator): add post_instantiate
14347         method calls.
14348
14349 2000-04-23  Andy Piper  <andy@xemacs.org>
14350
14351         * glyphs.h (struct image_instantiator_methods): add
14352         decode_domain_method.
14353         (struct Lisp_Image_Instance): remove subwindow frame - it can be
14354         derived from the domain.
14355         (IMAGE_INSTANCE_FRAME): new accessor.
14356         (XIMAGE_INSTANCE_FRAME): ditto.
14357
14358         * glyphs.c (print_image_instance): use IMAGE_INSTANCE_FRAME
14359         instead of _SUBWINDOW_FRAME.
14360         (finalize_image_instance): ditto.
14361         (Fimage_instance_foreground): ditto.
14362         (Fimage_instance_background): ditto.
14363         (image_instantiate): ditto.
14364         (update_subwindow_cachel): ditto.
14365         (update_subwindow): ditto.
14366         (unmap_subwindow): ditto.
14367         (map_subwindow): ditto
14368         (subwindow_instantiate): ditto.
14369         * glyphs-msw.c (mswindows_update_widget): ditto.
14370         (mswindows_progress_gauge_instantiate): ditto.
14371         (mswindows_tab_control_update): ditto.
14372         * glyphs-x.c (x_update_widget): ditto.
14373         (x_widget_instantiate): ditto.
14374         (x_tab_control_instantiate): ditto.
14375         (x_tab_control_update): ditto.
14376         * event-msw.c (mswindows_wnd_proc): ditto
14377
14378         * glyphs-widget.c (image_instantiator_layout): use
14379         subwindow_decode_domain.
14380         (image_instantiator_buttons): ditto.
14381         (image_instantiator_edit_fields): ditto.
14382         (image_instantiator_combo_box): ditto.
14383         (image_instantiator_scrollbar): ditto.
14384         (image_instantiator_progress_guage): ditto.
14385         (image_instantiator_tree_view): ditto.
14386         (image_instantiator_tab_control): ditto.
14387         (image_instantiator_labels): ditto.
14388         (image_instantiator_layout): ditto.
14389
14390         * glyphs.c: add instance error checking to many functions.
14391         (instantiate_image_instantiator): decode device from cache_domain.
14392         (image_instantiate): partially rewrite by using
14393         decode_image_instantiator_domain to determine what domain the
14394         instance needs to be cached in.
14395         (decode_image_instantiator_domain): new function. Determine what
14396         domain the image needs to be cached in.
14397         (check_window_subwindow_cache): new error checking function.
14398         (check_instance_cache_mapper): ditto.
14399         (check_image_instance_structure): ditto.
14400         (subwindow_decode_domain): new function. Encodes a window as a
14401         subwindow's cache domain.
14402         (image_instantiator_format_create): use it for text and
14403         subwindows.
14404
14405 2000-04-21  Andy Piper  <andy@xemacs.org>
14406
14407         * glyphs.c (image_instance_device): new function.
14408         (image_instance_frame): new function.
14409         (image_instance_window): new function.
14410         (image_instance_live_p): new function.
14411
14412         * window.c (mark_window_as_deleted): reset the subwindow_instance_
14413         cache to nil.
14414
14415         * glyphs.h (struct Lisp_Image_Instance): device->domain.
14416         (IMAGE_INSTANCE_DOMAIN): new accessor.
14417         (XIMAGE_INSTANCE_DOMAIN): ditto.
14418
14419         * glyphs-x.c (x_finalize_image_instance): device->domain.
14420
14421         * glyphs-msw.c (init_image_instance_geometry): device->domain.
14422         (mswindows_finalize_image_instance): ditto.
14423
14424         * glyphs-eimage.c (jpeg_instantiate): device->domain.
14425         (gif_instantiate): ditto.
14426         (png_instantiate): ditto.
14427         (tiff_instantiate): ditto.
14428
14429         * glyphs.c (instantiate_image_instantiator): use domain rather
14430         than device.
14431         (mark_image_instance): device -> domain.
14432         (print_image_instance): ditto.
14433         (finalize_image_instance): ditto.
14434         (image_instance_equal): ditto.
14435         (allocate_image_instance): ditto.
14436         (Fcolorize_image_instance): ditto.
14437         (query_string_geometry): ditto.
14438         (image_instantiate): ditto
14439         (query_string_font): ditto.
14440         (image_instantiate): ditto.
14441         (update_subwindow): ditto.
14442         (unmap_subwindow): ditto.
14443         (map_subwindow): ditto.
14444         (subwindow_instantiate): ditto.
14445
14446         * specifier.h (DOMAIN_DEVICE): new, semantically correct, decoder.
14447         (DOMAIN_FRAME): ditto.
14448         (DOMAIN_WINDOW): ditto.
14449         (DOMAIN_LIVE_P): ditto.
14450         (XDOMAIN_DEVICE): ditto.
14451         (XDOMAIN_FRAME): ditto.
14452         (XDOMAIN_WINDOW): ditto.
14453
14454         * specifier.c (Fvalid_specifier_domain_p): add image instances as
14455         a valid specifier domain.
14456
14457 2000-04-19  Andy Piper  <andy@xemacs.org>
14458
14459         * glyphs-widget.c (syms_of_glyphs_widget): remove
14460         widget-callback-current-channel.
14461         (vars_of_glyphs_widget): ditto.
14462         * glyphs.h: ditto
14463
14464         * gui.c (get_gui_callback): revert to previous behaviour.
14465
14466 2000-04-18  Andy Piper  <andy@xemacs.org>
14467
14468         * glyphs.h (struct Lisp_Image_Instance): add margin_width.
14469         (IMAGE_INSTANCE_MARGIN_WIDTH): new.
14470         (XIMAGE_INSTANCE_MARGIN_WIDTH): new.
14471
14472         * glyphs.c (image_instance_equal): add margin_width.
14473         (image_instance_hash): ditto.
14474
14475         * glyphs-widget.c (widget_instantiate): deal with margin-width.
14476         (layout_query_geometry): ditto.
14477         (layout_layout): ditto.
14478         (syms_of_glyphs_widget): add margin-width.
14479         (image_instantiator_layout): allow margin-width.
14480
14481         * glyphs.c (update_widget_instances): make a normal function.
14482         (syms_of_glyphs): remove Qupdate_widget_instances.
14483         * glyphs.h: ditto.
14484
14485         * gui-x.c (popup_selection_callback): use enqueue_magic_eval_event
14486         so that we don't corrupt ideas about the last event or
14487         command. Remove widget-callback-current-channel fiddling.
14488         * gui-msw.c (mswindows_handle_gui_wm_command): ditto.
14489
14490 2000-05-01  Martin Buchholz <martin@xemacs.org>
14491
14492         * XEmacs 21.2.33 is released.
14493
14494 2000-05-01  Yoshiki Hayashi  <yoshiki@xemacs.org>
14495
14496         * make-src-depend: Allow dots in header file name.
14497
14498 2000-05-01  Yoshiki Hayashi  <yoshiki@xmacs.org>
14499
14500         * mule-charset.h (struct charset_lookup): Add
14501         next_allocated_1_byte_leading_byte and
14502         next_allocated_2_byte_leading_byte.
14503         * mule-charset.c: Move above two variables so that those values
14504         will be dumped.
14505
14506 2000-04-26  Yoshiki Hayashi  <yoshiki@xemacs.org>
14507
14508         * insdel.c (find_charsets_in_bufbyte_string): Add Vcharset_ascii
14509         when string length is zero.
14510         (find_charsets_in_emchar_string): Ditto.
14511
14512 2000-04-29  Bjrn Torkelsson  <torkel@hpc2n.umu.se>
14513
14514         * lisp.h: extern Qdialog and Qmenubar.
14515
14516         * gui-x.c: added events.h.
14517                 also fixed typo which made the file uncompilable.
14518
14519         * general.c: Added Qmenubar and Qdialog
14520
14521 2000-04-28  Ben Wing  <ben@xemacs.org>
14522
14523         * frame-msw.c (mswindows_init_frame_1):
14524         * frame-msw.c (mswindows_mark_frame):
14525         * event-msw.c (mswindows_enqueue_dispatch_event):
14526         * console-msw.h:
14527         * console-msw.h (struct mswindows_frame):
14528         * console-msw.h (FRAME_MSWINDOWS_WIDGET_HASH_TABLE1):
14529         there are now three hash tables for callbacks.
14530         mswindows_enqueue_dispatch_event is no longer static.
14531
14532         * dialog-x.c (maybe_run_dbox_text_callback):
14533         * dialog-x.c (dbox_descriptor_to_widget_value):
14534         switch to new cons3 form for callbacks.
14535
14536         * glyphs-msw.c (mswindows_register_gui_item):
14537         * glyphs-msw.c (mswindows_widget_instantiate):
14538         * glyphs-msw.c (add_tree_item):
14539         * glyphs-msw.c (add_tab_item):
14540         new image instance parameter, so it can be passed to callback-ex.
14541         respect :callback-ex as well as :callback.
14542
14543         * glyphs-widget.c (VALID_GUI_KEYWORDS):
14544         add :callback-ex.
14545
14546         * glyphs.c (print_image_instance):
14547         prettify, e.g. now prints widget type.
14548
14549         * gui-x.h:
14550         certain funs have new image instance parameter.
14551
14552         * gui.c:
14553         * gui.c (get_gui_callback):
14554         * gui.c (gui_item_add_keyval_pair):
14555         * gui.c (gui_item_init):
14556         * gui.c (gui_add_item_keywords_to_plist):
14557         * gui.c (mark_gui_item):
14558         * gui.c (gui_item_hash):
14559         * gui.c (gui_item_equal):
14560         * gui.c (copy_gui_item):
14561         * gui.c (syms_of_gui):
14562         recognize callback-ex in a number of places.
14563         also, fix the annoying "can't get out of yes-no dialog" bug.
14564
14565         * gui.h:
14566         * gui.h (struct Lisp_Gui_Item):
14567         recognize callback-ex in a number of places.
14568
14569         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
14570         new parameter in button_item_to_widget_value.
14571
14572         * glyphs-x.c (x_update_widget):
14573         * glyphs-x.c (x_button_instantiate):
14574         * glyphs-x.c (x_button_update):
14575         * glyphs-x.c (x_progress_gauge_instantiate):
14576         * glyphs-x.c (x_edit_field_instantiate):
14577         * glyphs-x.c (x_combo_box_instantiate):
14578         * glyphs-x.c (x_tab_control_instantiate):
14579         * glyphs-x.c (x_label_instantiate):
14580         new image instance parameter in various places.
14581
14582         * event-Xt.c:
14583         * event-Xt.c (enqueue_Xt_dispatch_event):
14584         this fun gets exported.
14585
14586         * gui-msw.c:
14587         * gui-msw.c (mswindows_handle_gui_wm_command):
14588         handle both :callback and :callback-ex, and generate our own
14589         event because it's one of the callback-ex arguments.
14590
14591         * gui-x.c:
14592         * gui-x.c (popup_selection_callback):
14593         handle both :callback and :callback-ex, and generate our own
14594         event because it's one of the callback-ex arguments.
14595         * gui-x.c (button_item_to_widget_value):
14596         * gui-x.c (gui_items_to_widget_values_1):
14597         * gui-x.c (gui_item_children_to_widget_values):
14598         * gui-x.c (gui_items_to_widget_values):
14599         new image instance parameter in various places.
14600
14601         * fns.c (Freplace_list):
14602         fix small typo in doc string.
14603
14604         * lisp.h:
14605         declare enqueue_Xt_dispatch_event.
14606
14607 2000-04-28  Ben Wing  <ben@xemacs.org>
14608
14609         * buffer.c:
14610         * buffer.c (Frecord_buffer):
14611         * buffer.c (syms_of_buffer):
14612         delete record-buffer-hook.
14613
14614         * fns.c:
14615         * fns.c (Freplace_list):
14616         * fns.c (syms_of_fns):
14617         new primitive replace-list.
14618
14619         * frameslots.h:
14620         slot for old buffer-alist.
14621
14622         * lisp.h:
14623         exfun replace-list.
14624
14625         * redisplay.c:
14626         * redisplay.c (redisplay_frame):
14627         * redisplay.c (syms_of_redisplay):
14628         * redisplay.c (vars_of_redisplay):
14629         new hook buffer-list-changed-hook.
14630         call it.
14631
14632 2000-04-27  Ben Wing  <ben@xemacs.org>
14633
14634         * extents.h: extern in_modeline_generation.
14635
14636         * redisplay.c (generate_formatted_string_db): set
14637         in_modeline_generation.
14638
14639         * extents.c (extent_changed_for_redisplay): don't mark redisplay
14640         flags if in modeline generation.  otherwise frame-modified-tick
14641         is ticked far too often.
14642         Declare in_modeline_generation.
14643
14644 2000-04-26  Ben Wing  <ben@xemacs.org>
14645
14646         * emacs.c (vars_of_emacs): document quick-build "error-checking"
14647         option.
14648         (vars_of_emacs): add quick-build as an error-checking option.
14649         A bit kludgy, but there doesn't seem much point in creating
14650         a real var for this.
14651
14652         * config.h.in: put in an entry for QUICK_BUILD; remove NO_DOC_FILE.
14653
14654 2000-04-14  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14655
14656         * redisplay.h (struct display_line): Add a new variable,
14657         line_continuation.
14658
14659         * redisplay.c (create_text_block): Set dl->line_continuation if
14660         the line continues.
14661         (create_string_text_block): Ditto.
14662         (regenerate_window_incrementally): Use line_continuation instead
14663         of searching continuation glyph.
14664         (add_margin_runes): Call add_glyph_rune.
14665         (add_glyph_rune): Handle margin glyph.
14666
14667 2000-04-20  Martin Buchholz  <martin@xemacs.org>
14668
14669         * filelock.c (fill_in_lock_file_name):
14670         ANSIfy.
14671         Check for IS_ANY_SEP instead of '/'.
14672         (lock_file_1):
14673         Avoid generating gratuitous garbage.  Call user_login_name() directly.
14674         Never check errno without first seeing that system call failed.
14675         (unlock_file): Add GCPRO.
14676         (Flock_buffer): Fix docstring.
14677         (Ffile_locked_p): Fix docstring.  Add GCPRO.
14678
14679 2000-04-19  Martin Buchholz  <martin@xemacs.org>
14680
14681         * sysdep.c (get_pty_max_bytes):
14682         Fix hangs on DEC OSF 4.0 when (process-send-string) sends
14683         strings longer than 252 bytes.
14684
14685         * md5.c: Unconditionally include ANSI header <limits.h>
14686
14687         * glyphs-x.c (convert_EImage_to_XImage):
14688         * lisp-union.h (union Lisp_Object):
14689         Use consistently the syntax #ifdef FEATURE, not #if FEATURE.
14690
14691 2000-04-13  Yoshiki Hayashi  <yoshiki@xemacs.org>
14692
14693         * filelock.c (current_lock_owner): Remove unused variable o, p.
14694
14695 2000-04-17  Norbert Koch  <n.koch@eai-delta.de>
14696
14697         * callint.c: Remove multiply defined symbol Qlet
14698         (syms_of_callint): ditto.
14699
14700 2000-04-14  Andy Piper  <andy@xemacs.org>
14701
14702         * general.c (syms_of_general): add last-command, this-command, let
14703         and funcall.
14704
14705         * lisp.h: declare various symbols.
14706
14707         * glyphs.h: declare Qwidget_callback_current_channel;
14708
14709         * glyphs-widget.c (syms_of_glyphs_widget): add
14710         Qgui_callback_current_channel.
14711         (vars_of_glyphs_widget): add Vgui_callback_current_channel.
14712
14713         * gui-msw.c (mswindows_handle_gui_wm_command): bind
14714         widget-callback-current-channel when invoking the interactive
14715         arg. Also bind last-command and next-command when invoking the
14716         widget updates.
14717         * gui-x.c (popup_selection_callback): ditto.
14718
14719         * gui.c (get_gui_callback): massage args so that we are always
14720         calling eval. This allows us to add our own variable bindings
14721         outside.
14722
14723         * glyphs-x.c (x_button_instantiate): use
14724         gui_items_to_widget_values since this is GC safe.
14725         (x_progress_gauge_instantiate): ditto.
14726         (x_edit_field_instantiate): ditto.
14727         (x_label_instantiate): ditto.
14728
14729         * event-Xt.c (emacs_Xt_handle_magic_event): remove old printfs.
14730         (emacs_Xt_event_widget_focus_out): new function
14731         (emacs_Xt_event_widget_focus_in): new function. Set the keyboard
14732         focus.
14733         (emacs_Xt_event_add_widget_actions): new function. add focus
14734         functions as actions.
14735         (init_event_Xt_late): use it.
14736
14737 2000-04-14  Hrvoje Niksic  <hniksic@iskon.hr>
14738
14739         * event-stream.c (Fdispatch_event): Doc fix.
14740
14741 2000-03-29  SL Baur  <steve@musashimaru.m17n.org>
14742
14743         * postgresql.c: Remove all references to PQsetenv*.
14744
14745         * postgresql.h: Remove references to PGsetenvHandler object.
14746         * lrecord.h (lrecord_type): Ditto.
14747
14748 2000-04-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
14749
14750         * glyphs-msw.h (struct mswindows_image_instance_data): Added
14751         real_heigh and real_width members, and accessor macros for these.
14752
14753         * glyphs-msw.c (init_image_instance_geometry): New function.
14754         (init_image_instance_from_dibitmap): Use it.
14755         (mswindows_resource_instantiate): Use it.
14756         (init_image_instance_from_xbm_inline): Use it.
14757         (mswindows_initialize_image_instance_mask): Use real bitmap
14758         geometry.
14759         (mswindows_create_resized_bitmap): Ditto.
14760         (mswindows_create_resized_mask): Ditto.
14761
14762         * redisplay-msw.c (mswindows_output_dibitmap): Stretch real mask
14763         and bitmap to their surface size.
14764
14765 2000-04-11  Jan Vroonhof  <jan@xemacs.org>
14766
14767         * process-unix.c (unix_send_process): Guard against process MIA
14768         after Faccept_process_output.
14769
14770 2000-04-11  Ben Wing  <ben@xemacs.org>
14771
14772         * eval.c (unbind_to_hairy): fix brokenness introduced by
14773         nanosecond speed improvements.
14774
14775 2000-04-07  Raymond Toy  <toy@rtp.ericsson.se>
14776
14777         * sunplay.c (init_device): To play sounds correctly, the device
14778         apparently needs to be initialized at least once by XEmacs.  Make
14779         it so.
14780
14781 2000-04-10  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14782
14783         * redisplay.c (add_margin_runes): Add text image glyph
14784           handling.
14785
14786 2000-04-06  Yoshiki Hayashi  <yoshiki@xemacs.org>
14787
14788         * lisp.h (DOESNT_RETURN): Don't declare as volatile when
14789         gcc is newer than 2.5.
14790
14791 2000-04-06  Colin Rafferty  <colin@xemacs.org>
14792
14793         * lisp.h (FLEXIBLE_ARRAY_STRUCT_SIZEOF): Created.
14794
14795         * fns.c (size_bit_vector):
14796         * alloc.c (size_vector):
14797         (make_vector_internal):
14798         (make_bit_vector_internal):
14799         (sweep_bit_vectors_1):
14800         Replace calls to offsetof with FLEXIBLE_ARRAY_STRUCT_SIZEOF macro.
14801
14802 2000-04-06  Andy Piper  <andy@xemacs.org>
14803
14804         * gmalloc.c (malloc): undo previous change.
14805         (malloc): ditto.
14806         (free): ditto.
14807         (realloc): ditto.
14808
14809 2000-04-06  IKEYAMA Tomonori <tomonori@suiyokai.org>
14810
14811         * line-number.c (buffer_line_number): Revert to former version.
14812
14813 2000-04-06  Andy Piper  <andy@xemacs.org>
14814
14815         * gmalloc.c (malloc): add error checking.
14816         (malloc): ditto.
14817         (free): ditto.
14818         (realloc): ditto.
14819
14820         * dialog-x.c (dbox_descriptor_to_widget_value): add extra
14821         button_item_to_widget_value arg.
14822
14823         * glyphs-x.c (x_button_instantiate): add extra
14824         button_item_to_widget_value arg.
14825         (x_progress_gauge_instantiate): ditto.
14826         (x_edit_field_instantiate): ditto.
14827         (x_label_instantiate): ditto.
14828
14829         * gui-x.c (gui_items_to_widget_values_1): add extra
14830         button_item_to_widget_value arg.
14831         (button_item_to_widget_value): add extra menu_item_p arg.
14832
14833         * gui-x.h: change signature of button_item_to_widget_value.
14834
14835         * menubar-x.c (menu_item_descriptor_to_widget_value_1): add extra
14836         button_item_to_widget_value arg.
14837
14838 2000-04-03  Yoshiki Hayashi  <yoshiki@xemacs.org>
14839
14840         * buffer.h (struct buffer): auto_save_modified should be long.
14841
14842 2000-04-05  Andy Piper  <andy@xemacs.org>
14843
14844         * glyphs-widget.c (widget_instantiate): pixwidth != pixheight
14845         type.
14846         (button_query_geometry): give a little more room so that athena
14847         buttons fit.
14848
14849 2000-04-05  Andy Piper  <andy@xemacs.org>
14850
14851         * faces.c (complex_vars_of_faces): The widget face should inherit
14852         the font of the gui-element face.
14853
14854 2000-04-04  Andy Piper  <andy@xemacs.org>
14855
14856         * glyphs-x.c (x_button_update): new function. unconditionally
14857         update a button's state when the instance is dirty.
14858         (image_instantiator_format_create_glyphs_x): add x_button_update.
14859         (x_widget_instantiate): remove old resize cruft.
14860
14861 2000-04-02  Andy Piper  <andy@xemacs.org>
14862
14863         * frame.c (change_frame_size_1): The introduction of gutters means
14864         that we need to allow 0 as a potential frame dimension.
14865
14866 2000-04-02  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14867
14868         * redisplay.c (add_glyph_rune): Don't set 0 to bufpos for text
14869         image glyph if allow_cursor.
14870         (add_hscroll_rune): Don't allow cursor to border glyph.
14871         (create_text_block): Ditto.
14872
14873         * redisplay-output.c (redisplay_move_cursor): Do nothing even if
14874         text not in buffer.
14875         (redisplay_output_layout): Call ensure_face_cachel_complete for
14876         text image glyph.
14877
14878
14879 2000-03-16  IKEYAMA Tomonori  <tomonori@suiyokai.org>
14880
14881         * redisplay.c (add_glyph_rune): Adding text image as text runes.
14882
14883         * redisplay-output.c (redisplay_move_cursor): NO_CURSOR if text
14884         not in buffer
14885
14886         * redisplay-tty.c (tty_output_display_block): Delete the routine
14887         for text image glyph
14888         * redisplay-x.c (x_output_display_block): ditto
14889         * redisplay-msw.c (mswindows_output_display_block): ditto
14890
14891 2000-02-02  Mike Alexander  <mta@arbortext.com>
14892
14893         Note: Some of these were committed by accident as part of other
14894         patches.
14895
14896         * regex.c (regex_compile): Avoid compiler warnings.
14897
14898         * ntproc.c (sys_spawnve): Avoid compiler warnings.
14899
14900         * nt.h: Declare term_ntproc correctly.
14901
14902         * nt.c: Remove incorrect declaration of get_home_directory which
14903         is declared correctly in lisp.h.
14904
14905         * keymap.c (get_keyelt): Avoid compiler warnings.
14906         (raw_lookup_key_mapper): Avoid compiler warnings.
14907
14908         * gutter.c (gutter_was_visible): Add return statement to avoid warning.
14909
14910         * glyphs-eimage.c (png_instantiate): Avoid compiler warnings.
14911
14912         * filemode.c (mode_string): Avoid compiler warnings.
14913
14914         * file-coding.c (Fcoding_system_aliasee): Add return statement to
14915         avoid warning.
14916
14917         * events-mod.h: Undef some things that winuser.h defines differently.
14918
14919         * data.c (Faset): Avoid compiler warnings.
14920
14921         * alloc.c (Fmake_byte_code): Avoid compiler warnings.
14922
14923 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14924
14925         * sound.c (Fplay_sound_file): Wrap ESD in start/stop_interrupts.
14926         Fall through to simple beep on error.
14927         Replace "extern" by real header file.
14928
14929         * linuxplay.c: Use nativesound.h
14930         (play_sound_data): Return error code. Be less verbose on error.
14931
14932         * sunplay.c: Use nativesound.h
14933         (play_sound_data): Return error code. Be less verbose on error.
14934
14935         * ntplay.c: Use nativesound.h
14936         (play_sound_data): Return fake error code
14937
14938         * sgiplay.c: Use nativesound.h
14939         (play_sound_data): Return error code
14940
14941         * hpplay.c: Use nativesound.h, partially implement
14942         new error code. Break compilation until finished.
14943         (play_sound_data): error code.
14944
14945         * nativesound.h (play_sound_file):
14946           (play_sound_data): Prototype in new header.
14947
14948 2000-03-31  Andy Piper  <andy@xemacs.org>
14949
14950         * glyphs-widget.c: (button_query_geometry): new function. Adjust
14951         for toggle and radio buttons.
14952         (image_instantiator_buttons): use it.
14953
14954 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
14955
14956         * scrollbar-x.c (x_update_vertical_scrollbar_callback):
14957         (x_update_horizontal_scrollbar_callback): Return if no mirror was
14958         found. Scrollbar event probably belonged to some old config.
14959
14960 2000-03-31  Andy Piper  <andy@xemacs.org>
14961
14962         * glyphs-widget.c (widget_instantiate): use LAYOUT_VERTICAL rather
14963         than 1.
14964         (initialize_widget_image_instance): default layout to
14965         LAYOUT_HORIZONTAL rather than 0.
14966         (widget_instantiate): reverse the item list at the end rather than
14967         every iteration.
14968         (layout_layout): re-code for the border text at the front of the
14969         item list rather than at the end.
14970         (layout_query_geometry): ditto. Pick up fixed and dynamic sizes
14971         provided by the user.
14972         (widget_query_geometry): comment.
14973
14974 2000-03-30  Andy Piper  <andy@xemacs.org>
14975
14976         * glyphs-widget.c (image_instantiator_layout): allow standard
14977         widget keywords in layouts.
14978
14979         * gutter.c (output_gutter): cope with nil gutter contents.
14980
14981         * frame.c (Fset_frame_properties): add gutter docs.
14982
14983 2000-03-29  Andy Piper  <andy@xemacs.org>
14984
14985         * toolbar-msw.c (TBSTYLE_FLAT): add.
14986         (mswindows_output_toolbar): minor fiddling.
14987
14988 2000-03-29  Andy Piper  <andy@xemacs.org>
14989
14990         * gutter.c (output_gutter): force gutter size recalculation if
14991         what we are trying to display won't fit.
14992         (update_gutter_geometry): new function. A per-gutter version of
14993         update_frame_gutter_geometry.
14994         (update_frame_gutter_geometry): use it.
14995         (redraw_exposed_gutter): add extra debugging output.
14996
14997 2000-03-28  Mike Alexander  <mta@arbortext.com>
14998
14999         * dumper.c: Declare pdump_hFile and pdump_hMap (Windows only)
15000         (pdump_file_unmap): Implement it on Windows
15001         (pdump_file_get): Save alocated handles for pdump_file_unmap
15002
15003 2000-03-28  Andy Piper  <andy@xemacs.org>
15004
15005         * gui.c (get_gui_callback): treat Quit specially.
15006
15007 2000-03-27  Andy Piper  <andy@xemacs.org>
15008
15009         * glyphs.c (image_instantiate): be careful to check in the same
15010         way we assigned.
15011
15012 2000-03-27  Didier Verna  <didier@xemacs.org>
15013
15014         * config.h.in: define the proper SMART_INCLUDE macro.
15015         handle renaming of `foo_h_path' to `foo_h_file'.
15016
15017         * database.c: ditto.
15018
15019         * emacs.c: ditto.
15020
15021         * linuxplay.c: ditto.
15022
15023         * terminfo.c: ditto.
15024
15025         * tooltalk.h: ditto.
15026
15027 2000-03-27  Andy Piper  <andy@xemacs.org>
15028
15029         * glyphs-msw.c (mswindows_update_widget): make sure the widget
15030         gets updated whenever the face might have changed.
15031
15032 2000-03-26  Mike Alexander  <mta@arbortext.com>
15033
15034         * dumper.c (pdump_resource_free): Fix the comment.
15035
15036 2000-03-21  Olivier Galibert  <galibert@pobox.com>
15037
15038         * input-method-xlib.c (XIM_init_frame): Remove painful warning.
15039
15040 2000-03-22  Mike Alexander  <mta@arbortext.com>
15041
15042         * dumper.c: Include Windows headers on Windows
15043         (pdump_resource_free): Add a body to the function
15044         (pdump_load): exe_name -> exe_path and add some comments.
15045
15046 2000-03-25  Mike Alexander  <mta@arbortext.com>
15047
15048         * gui.c (copy_gui_item_tree): Return a value in all cases
15049
15050 2000-03-21  Didier Verna  <didier@xemacs.org>
15051
15052         * config.h.in: move INCLUDE_GLUE_1 and INCLUDE_GLUE_2 here from
15053         lwlib/config.h.in.
15054         (SMART_INCLUDE): new macro.
15055         (POSTGRES_INCLUDE): new macro to include postgresql headers from
15056         the proper location.
15057
15058         * postgresql.c: use it.
15059
15060         * inline.c: ditto.
15061
15062 2000-03-24  Andy Piper  <andy@xemacs.org>
15063
15064         * gutter.c (redraw_exposed_gutters): must be "in display" when we
15065         do this.
15066
15067 2000-03-24  Andy Piper  <andy@xemacs.org>
15068
15069         * redisplay-output.c (compare_runes): use image_instance_changed
15070         to detect changes. Do not depend on glyphs_changed, only depend on
15071         dirtiness.
15072          (redisplay_output_layout): add debug messages.
15073         (compare_runes): ditto.
15074
15075         * glyphs.h: declare new functions.
15076         (struct Lisp_Image_Instance): remove percent and associated
15077         accessors.
15078
15079         * gui.h: declare new copying functions.
15080
15081         * gui.c (copy_gui_item_tree): new function.
15082         (copy_gui_item): new function.
15083         (gui_item_id_hash): revert to standard hash.
15084         (gui_item_hash): ditto.
15085         (gui_item_hash_internal): deleted.
15086         (mark_gui_item): mark value.
15087         (gui_item_add_keyval_pair): add value.
15088         (gui_item_init): ditto.
15089         (gui_add_item_keywords_to_plist): ditto.
15090         (gui_item_equal): ditto.
15091         (syms_of_gui): add Q_value.
15092
15093         * glyphs-x.c (x_progress_gauge_update): use pending items and
15094         value for setting the state.
15095         (x_update_widget): don't set items from pending here.
15096
15097         * glyphs-widget.c (update_widget): update items here.
15098         (progress_gauge_set_property): use items for storing value. Put
15099         new value in pending items.
15100
15101         * glyphs-msw.c (mswindows_progress_gauge_update): use pending
15102         items for new value. Convert percent -> value.
15103         (mswindows_tab_control_update): don't update items here.
15104
15105         * glyphs.c (Fupdate_widget_instances): use image_instance_changed.
15106         (update_subwindow): ditto.
15107         (image_instance_changed): new function. Compare hash values and
15108         past and present widget items.
15109         (image_instantiate): We more careful about where we instantiate
15110         things.
15111         (image_instantiate): add error checking.
15112
15113         * gutter.c (syms_of_gutter): use -hook.
15114
15115 2000-03-20  Yoshiki Hayashi  <yoshiki@xemacs.org>
15116
15117         * console-tty.c (Fset_console_tty_input_coding_system): Use
15118         Qkeyboard.
15119         (Fset_console_tty_output_coding_system): Use Qterminal.
15120         (tty_init_console): Use Qkeyboard and Qterminal.
15121
15122 2000-03-21  Ben Wing  <ben@xemacs.org>
15123
15124         * ntproc.c (create_child): remove bogus HAVE_NTGUI's.
15125         From Mike Alexander <mta@arbortext.com>.
15126
15127 2000-03-21  Ben Wing  <ben@xemacs.org>
15128
15129         * event-msw.c (mswindows_need_event): Horrible kludge to fix
15130         process brokenness.  Proper implementation to come.
15131         * callproc.c:
15132         Rename call-process-internal to old-call-process-internal.
15133         New impl. in process.el.
15134
15135 2000-03-21  Martin Buchholz  <martin@xemacs.org>
15136
15137         * Makefile.in.in: Coalesce HAVE_NATIVE_SOUND code fragments.
15138
15139 2000-03-20  Andy Piper  <andy@xemacs.org>
15140
15141         * glyphs.c (full_list_hash): make hashes of the same elements in
15142         different orders return different values.
15143
15144 2000-03-20  Martin Buchholz <martin@xemacs.org>
15145
15146         * XEmacs 21.2.32 is released.
15147
15148 2000-03-20  Martin Buchholz  <martin@xemacs.org>
15149
15150         * buffer.h (DFC_ALLOCA_USE_CONVERTED_DATA):
15151         (DFC_MALLOC_USE_CONVERTED_DATA):
15152         Add aliasing-safe casts to allow use with char* or unsigned char*
15153         lvalues.
15154
15155         * eldap.c (Fldap_open):
15156         (Fldap_search_basic):
15157         (Fldap_add):
15158         (Fldap_modify):
15159         Make C++-compilable.
15160         Make sure GCPRO'ed variables are initialized.
15161         Use temp variables to avoid repeated calls to Flength.
15162
15163 2000-03-16  Martin Buchholz  <martin@xemacs.org>
15164
15165         * sysfile.h:
15166         Make sure PATH_MAX is always defined.
15167         Include limits.h for PATH_MAX.
15168         Deprecate use of MAXPATHLEN.
15169
15170 2000-03-10  Martin Buchholz  <martin@xemacs.org>
15171
15172         * emacs.c: Add reinit_vars_of_fileio.
15173         * symsinit.h: Add reinit_vars_of_fileio.
15174         * fileio.c (reinit_vars_of_fileio): New.
15175         * fileio.c (Fmake_temp_name):
15176         Initialize temp_name random number from microseconds to make
15177         collisions even less likely.  Initialize always at process startup
15178         time.  (make-temp-name) used to return the same file name twice in
15179         a row when PDUMP.
15180         Random stylistic fiddling.
15181         Comment fixes.
15182
15183 2000-03-20  Andy Piper  <andy@xemacs.org>
15184
15185         * glyphs.c (image_instantiate): allow text glyphs to be
15186         instantiated in the minibuffer window.
15187
15188 2000-03-19  Andy Piper  <andy@xemacs.org>
15189
15190         * glyphs.c (image_instance_hash): be careful about which items we
15191         hash on.
15192
15193         * glyphs-widget.c (tab_control_set_property): record into pending
15194         items rather than the actual items.
15195
15196         * glyphs-x.c (x_update_widget): use pending items to update with.
15197
15198         * glyphs-msw.c (mswindows_tab_control_update): use pending items
15199         to update with.
15200
15201         * glyphs.c (mark_image_instance): mark pending items.
15202
15203         * window.c (Fset_window_configuration): record the buffer.
15204         (Fselect_window): totally revert previous change which breaks many
15205         things.
15206
15207 2000-03-18  Andy Piper  <andy@xemacs.org>
15208
15209         * glyphs-msw.c (mswindows_tab_control_update): force selected
15210         item.
15211
15212         * glyphs.c (image_instantiate): don't allow the minibuffer as a
15213         window domain cache, otherwise we get inconsistencies at
15214         startup. There is something fishy at startup which can lead to the
15215         minibuffer being the selected window when the gutter content is
15216         instantiated.
15217
15218         * gui.c (parse_gui_item_tree_list): add probably unnecessary
15219         gcpros.
15220         (parse_gui_item_tree_children): ditto.
15221         (parse_gui_item_tree_item): ditto.
15222
15223         * glyphs.c (Fupdate_widget_instances): return something.
15224
15225 2000-03-18  Yoshiki Hayashi  <yoshiki@xemacs.org>
15226
15227         * window.c (Fselect_window): Undo 2000-03-17 change.
15228
15229 2000-03-17  SL Baur  <steve@musashimaru.m17n.org>
15230
15231         * postgresql.c (Fpq_setenv): Remove this turkey when linking
15232         against v7.0 libraries.  Insta-coredump city until the postgres
15233         folks fix it.
15234
15235 2000-03-17  Andy Piper  <andy@xemacs.org>
15236
15237         * faces.c (complex_vars_of_faces): don't give the widget face an
15238         inherited background pixmap.
15239
15240         * glyphs-msw.c (mswindows_tab_control_instantiate): select the
15241         selected item.
15242
15243         * event-stream.c (Fdispatch_non_command_events): return something.
15244
15245         * gutter.c (output_gutter): use widget face.
15246         (clear_gutter): ditto.
15247
15248         * NEWS: adjust again.
15249
15250         * window.c (Fselect_window): make sure this runs to completion to
15251         avoid oddities with Fset_window_configuration.
15252         (Fcurrent_window_configuration): in general do not save the
15253         minibuffer as the selected window.
15254
15255         * glyphs.h (IMAGE_INSTANCE_HASH_DEPTH): increase.
15256
15257 2000-03-16  Olivier Galibert  <galibert@pobox.com>
15258
15259         * emacs.c (Frunning_temacs_p): Revert previous patch.
15260         (main_1): Reinitialize running_temacs_argc if pdump_load succeeds.
15261
15262 2000-03-16  Andy Piper  <andy@xemacs.org>
15263
15264         * glyphs-x.c (x_tab_control_update): if no widget values then
15265         return.
15266
15267         * NEWS: update for new features.
15268
15269         * event-Xt.c (emacs_Xt_force_event_pending): new function. Post a
15270         synthetic event to the native system.
15271         (reinit_vars_of_event_Xt): set force_event_pending to
15272         emacs_Xt_force_event_pending.
15273
15274         * events.h (struct event_stream): add force_event_pending.
15275
15276         * specifier.c (recompute_one_cached_specifier_in_window): add
15277         comment.
15278
15279         * redisplay.c (redisplay_frame): don't call
15280         update_frame_subwindows. Reset subwindow cachels when
15281         subwindows_changed, removing this was an optimization too far.
15282
15283         * redisplay-output.c (compare_runes): reorganize so that we catch
15284         glyph changes when we want them. Set optimize_output when this
15285         would help layouts.
15286         (redisplay_output_layout): remove frame_really_changed, use
15287         optimize_output instead.
15288
15289         * redisplay-msw.c (mswindows_output_display_block): reset
15290         optimize_output after outputting a glyph.
15291         * redisplay-x.c (x_output_display_block): ditto.
15292         * redisplay-tty.c (tty_output_display_block): ditto.
15293
15294         * gutter.c: (specifier_vars_of_gutter): use new spec changed
15295         functions.
15296         (gutter_specs_changed): do specific gutter positions.
15297         (top_gutter_specs_changed): new function. Only update the
15298         specified gutter specs.
15299         (bottom_gutter_specs_changed): ditto.
15300         (left_gutter_specs_changed): ditto.
15301         (right_gutter_specs_changed): ditto.
15302
15303         * gui.c (gui_item_hash_internal): new function, does a real hash.
15304         (gui_item_id_hash): use it.
15305         (gui_item_hash): hash the eval'ed gui_item.
15306
15307         * gui-x.c (popup_selection_callback): send an eval event to call
15308         Fupdate_widget_instances.
15309
15310         * gui-msw.c (mswindows_handle_gui_wm_command): send an eval event
15311         to call Fupdate_widget_instances.
15312
15313         * glyphs.h (struct Lisp_Image_Instance): add optimize_output flag.
15314         (IMAGE_INSTANCE_OPTIMIZE_OUTPUT): access it.
15315
15316         * glyphs.c: (update_frame_subwindows): deleted.
15317         (Fupdate_widget_instances): new function for updating the dirty
15318         state of widgets that might have changed.
15319         (syms_of_glyphs): add Qupdate_widget_instances.
15320         (full_list_hash): hash a list completely.
15321         (image_instance_hash): use it for items and properties.
15322
15323         * frame-msw.c (mswindows_size_frame_internal): remove unused
15324         variable.
15325
15326         * faces.h (struct face_cachel): fix comment.
15327
15328         * event-stream.c (Fdispatch_non_command_events): new
15329         function. Process non-command events, forcing an event cycle
15330         beforehand.
15331         (syms_of_event_stream): declare.
15332         (event_stream_force_event_pending): new function. Force an event
15333         on the native event queue so that an event cycle will occur next
15334         time we check.
15335
15336         * event-msw.c:
15337         (struct ntpipe_shove_stream):
15338         (mswindows_enqueue_dispatch_event):
15339         (mswindows_dequeue_dispatch_event):
15340         (mswindows_cancel_dispatch_event):
15341         (mswindows_pump_outstanding_events):
15342         (mswindows_drain_windows_queue):
15343         (mswindows_handle_paint):
15344         (mswindows_wnd_proc):
15345         (mswindows_key_to_emacs_keysym):
15346         (get_process_input_waitable):
15347         (emacs_mswindows_delete_stream_pair): re-indent file.
15348         (mswindows_need_event): do not process further fds if the windows
15349         fd is set, otherwise you get endless XM_BUMPQUEUE cycles. This
15350         fixes the 100% cpu problem.
15351         (reinit_vars_of_event_mswindows): set force_event_pending to 0.
15352
15353 2000-03-15  Olivier Galibert  <galibert@pobox.com>
15354
15355         * alloc.h: New.
15356         * dumper.h: New.
15357         * dumper.c: New.
15358
15359         * emacs.c: Moved dump file searching to dumper.c.
15360         (Frunning_temacs_p): Fixed.
15361
15362         * alloc.c: Moved everything pdump-related to dumper.c.  Removed
15363         last_lrecord_type_index_assigned.
15364
15365 2000-02-20  Olivier Galibert  <galibert@pobox.com>
15366
15367         * symsinit.h: Added reinit parameter to init_console_stream
15368         declaration.
15369
15370         * lisp.h: Added file parameter to pdump_load declaration.
15371
15372         * emacs.c (main_1): Added -nd/--nodump-file and -sd/--show-dump-id
15373         support.  Added dump file searching.
15374
15375         * config.h.in: Added EMACS_PROGNAME.
15376
15377         * console-stream.c (init_console_stream): Fix reinitialisation
15378         when running from temacs.
15379
15380         * alloc.c (pdump): Add id support.
15381         (pdump_load): Add file parameter and signature/id support.
15382
15383         * Makefile.in.in: Add full pdump support.
15384
15385 2000-03-15  SL Baur  <steve@musashimaru.m17n.org>
15386
15387         * postgresql.c: Update documentation to reflect latest code
15388         status.
15389         (print_result): Show tuple counts in printed representation when
15390         appropriate.
15391         (Fpq_put_nbytes): MULE-ize.
15392         (Fpq_get_line_async): Ditto.
15393
15394 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15395
15396         * postgresql.c (Fpq_lo_import): Fix return value.
15397         Suggested by: Kenji Itoh <keit@tpj.co.jp>.
15398
15399 2000-03-13  Ben Wing  <ben@xemacs.org>
15400
15401         * alloc.c (pdump_load):
15402         Fix compile warning under mswin.
15403
15404 2000-03-14  SL Baur  <steve@musashimaru.m17n.org>
15405
15406         * postgresql.c: Mule-ization, bug fixes.
15407         Use PG_CODING to encapsulate coding system name changes.
15408         Backport a version of TO_EXTERNAL format for 21.1/InfoDock.
15409         (pg-coding-system): Create.
15410
15411         (Fpq_conn_defaults): Mule-ize.
15412         (Fpq_connectdb): Mule-ize & bug fix.
15413         (Fpq_connect_start): Mule-ize.
15414         (Fpq_set_client_encoding): Mule-ize.
15415         (Fpq_finish): Document `DEAD' connection status.
15416         (Fpq_clear): Ditto.
15417         (Fpq_pgconn): Mule-ize.
15418         (Fpq_exec): Mule-ize & bug fix.
15419         (Fpq_send_query): Ditto.
15420         (Fpq_get_result): Ditto.
15421         (Fpq_res_status): Mule-ize.
15422         (Fpq_result_error_message): Mule-ize.
15423         (Fpq_ntuples): fix comments.
15424         (Fpq_fname): Mule-ize.
15425         (Fpq_fnumber): Mule-ize.
15426         (Fpq_ftype): fix comments.
15427         (Fpq_get_value): Mule-ize.
15428         (Fpq_cmd_status): Ditto.
15429         (Fpq_cmd_tuples): Ditto.
15430         (Fpq_oid_value): Ditto.
15431         (Fpq_notifies): Ditto.
15432         (Fpq_lo_import): Ditto.
15433         (Fpq_lo_export): Ditto.
15434         (Fpq_get_line): Ditto.
15435         (Fpq_put_line): Mule-ize and bug fix.
15436         (syms_of_postgresql): Fix ifdef'ing, add pg-coding-system.
15437
15438 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15439
15440         * postgresql.c (vars_of_postgresql): Mule-ize.
15441         (Fpq_conn_defaults): Ditto.
15442
15443 2000-03-12  Ben Wing  <ben@xemacs.org>
15444
15445         * alloc.c (Fmake_byte_code):
15446         * alloc.c (debug_string_purity_print):
15447         * alloc.c (pdump_backtrace):
15448         * alloc.c (pdump_get_indirect_count):
15449         * alloc.c (pdump_register_sub):
15450         * alloc.c (pdump_register_object):
15451         * alloc.c (pdump_register_struct):
15452         * alloc.c (pdump_dump_data):
15453         * alloc.c (pdump_reloc_one):
15454         Minor cleanups.
15455
15456         * console-msw.c:
15457         * console-msw.c (GetConsoleHwnd):
15458         * console-msw.c (msw_hide_console):
15459         * console-msw.c (msw_show_console):
15460         * console-msw.c (msw_ensure_console_buffered):
15461         * console-msw.c (msw_output_console_string):
15462         * console-msw.c (console_type_create_mswindows):
15463
15464         a) Added functions to manipulate the console window for use with
15465         shell support.
15466
15467         b) Added support for writing text to the console, which is now
15468         used under Windows when xemacs is not being run non-interactively,
15469         to write text that would otherwise be destined for stdout because
15470         under these circumstances, text written to stdout tends to
15471         disappear and not be seen.
15472
15473         * console-msw.h:
15474         * event-Xt.c:
15475         * event-Xt.c (x_event_to_emacs_event):
15476         * event-Xt.c (describe_event_window):
15477         * events-mod.h (XEMACS_MOD_CONTROL):
15478         * events.c:
15479         * events.c (Fmake_event):
15480         * events.c (character_to_event):
15481         * events.c (event_to_character):
15482         * events.c (format_event_object):
15483         * events.c (Fevent_modifiers):
15484         * events.h:
15485         * events.h (struct key_data):
15486         * events.h (struct button_data):
15487         * events.h (struct misc_user_data):
15488         * frame-x.c (Fcde_start_drag_internal):
15489         * frame-x.c (Foffix_start_drag_internal):
15490         * gpmevent.c (Freceive_gpm_event):
15491         * keymap.c:
15492         * keymap.c (bucky_sym_to_bucky_bit):
15493         * keymap.c (control_meta_superify):
15494         * keymap.c (make_key_description):
15495         * keymap.c (keymap_lookup_directly):
15496         * keymap.c (create_bucky_submap):
15497         * keymap.c (keymap_store):
15498         * keymap.c (define_key_check_and_coerce_keysym):
15499         * keymap.c (define_key_parser):
15500         * keymap.c (define_key_alternate_name):
15501         * keymap.c (Fdefine_key):
15502         * keymap.c (raw_lookup_key_mapper):
15503         * keymap.c (struct map_keymap_unsorted_closure):
15504         * keymap.c (map_keymap_unsorted_mapper):
15505         * keymap.c (map_keymap_sort_predicate):
15506         * keymap.c (map_keymap_sorted):
15507         * keymap.c (accessible_keymaps_mapper_1):
15508         * keymap.c (where_is_recursive_mapper):
15509         * keymap.c (describe_map_mapper):
15510         * keymap.c (describe_map_sort_predicate):
15511         * keymap.c (describe_map):
15512         * keymap.c (complex_vars_of_keymap):
15513         And a number of other files, the key modifier preprocessor
15514         constants that xemacs uses have names that conflict with constants
15515         defined under MS Windows for other purposes, so they were renamed
15516         to begin with the prefix XEMACS_. The variables that hold such
15517         modifiers were changed to consistently be of type int to fix
15518         various compile warnings.
15519
15520         * console.c (complex_vars_of_console):
15521         * device.c:
15522         * device-msw.c:
15523         * device-msw.c (mswindows_finish_init_device):
15524         * device-msw.c (msw_get_workspace_coords):
15525         * device-msw.c (mswindows_device_system_metrics):
15526         and various other files, added support for a new
15527         device property called offset-workspace which returns the position
15528         of the upper left corner of the workspace area and goes along with
15529         the existing size-workspace property.
15530
15531         * dialog-msw.c:
15532         * dialog-msw.c (push_bufbyte_string_as_unicode):
15533         * dialog-msw.c (mswindows_popup_dialog_box):
15534         Added support for XEmacs-style accelerator specifications in
15535         button text.  Note: I didn't add support for this under X Windows,
15536         and somebody needs to do this.
15537
15538         * dialog.c:
15539         * dialog.c (Fpopup_dialog_box):
15540         Documented the support for accelerators that was just mentioned.
15541
15542         editfns.c (get_home_directory): Changed behavior under Windows
15543         when HOME not defined; former behavior was irretrievably broken.
15544
15545         * emacs.c:
15546         * emacs.c (main_1):
15547         * emacs.c (main):
15548         * minibuf.c (clear_echo_area_internal):
15549         * minibuf.c (echo_area_append):
15550         * print.c:
15551         * print.c (std_handle_out_external):
15552         * print.c (std_handle_out_va):
15553         * print.c (fatal):
15554         * print.c (write_string_to_stdio_stream):
15555         * print.c (output_string):
15556         * print.c (debug_print):
15557         * print.c (debug_backtrace):
15558         * print.c (debug_short_backtrace):
15559         Cleaned up the code that prints text to stdout so that this can be
15560         changed to output into a console window instead under MS Windows,
15561         as described above.
15562
15563         * eval.c:
15564         * eval.c (DEFEND_AGAINST_THROW_RECURSION):
15565         * eval.c (internal_catch):
15566         * eval.c (unwind_to_catch):
15567         * eval.c (throw_or_bomb_out):
15568         * eval.c (condition_case_1):
15569         * eval.c (signal_1):
15570         * eval.c (check_error_state_sanity):
15571         * eval.c (call_with_suspended_errors_1):
15572         * eval.c (call_with_suspended_errors):
15573         * eval.c (reinit_vars_of_eval):
15574         Added code to catch throw loops and check for a pesky bug that may
15575         be gone now.
15576
15577         * event-msw.c:
15578         * event-msw.c (key_needs_default_processing_p):
15579         * event-msw.c (mswindows_wnd_proc):
15580         * event-msw.c (mswindows_modifier_state):
15581         * event-msw.c (emacs_mswindows_quit_p):
15582         * event-msw.c (vars_of_event_mswindows):
15583         a) Added support for using the alt key to select menu items as is
15584         standard under MS Windows.  This is controlled using the variable
15585         menu-accelerator-enabled, just like under X Windows.  There is an
15586         option on the options menu to turn this support on.  I really
15587         think that it should be on by default under Windows, but I'm not
15588         going to make this change yet.
15589
15590         b)  Added support for dynamic display size changes under Windows.
15591
15592         * event-stream.c:
15593         * event-stream.c (maybe_echo_keys):
15594         * event-stream.c (Fnext_event):
15595         * event-stream.c (command_builder_find_leaf):
15596         * event-stream.c (lookup_command_event):
15597         * event-stream.c (execute_command_event):
15598         * event-stream.c (pre_command_hook):
15599         * event-stream.c (post_command_hook):
15600         * event-stream.c (syms_of_event_stream):
15601         * event-stream.c (vars_of_event_stream):
15602         * event-stream.c (complex_vars_of_event_stream):
15603         * events.h (struct command_builder):
15604
15605         a) Tried to clean up a little bit the horribly written x-specific
15606         accelerator code that crept into this file.  I moved this code
15607         into menubar-x.c where it belongs. I also needed to move the
15608         command builder structure into the file events.h because it is
15609         accessed directly by this accelerator code.  What I didn't do, but
15610         which should be done at some point, is to properly abstract this
15611         code using device methods instead of the kludgy way that it
15612         currently hooks into the event code.
15613
15614         b) Added the lisp variables this-command-properties and
15615         last-command- properties, which should be used to synchronize two
15616         adjacent commands in preference to playing games with the variable
15617         this-command, which is typically what happens.
15618
15619         c) Added some slightly nasty code to hook into the lisp support
15620         for shifted- motion-key selection.  This is actually necessary for
15621         somewhat complicated reasons, which are described in
15622         simple.el. (NB: I think the proper thing would be to have the code
15623         that calls the pre and post command hooks also call out to generic
15624         lisp functions in simple.el, where all built-in stuff could be
15625         added.  I will think about this more.)
15626
15627         * event-unixoid.c (poll_fds_for_input):
15628         * lread.c (readchar):
15629         * redisplay-tty.c (tty_clear_frame):
15630         * redisplay-x.c (x_get_gc):
15631         * signal.c (interrupt_signal):
15632         And a whole bunch of other files: fixed up places that printed
15633         directly to stderr to instead call the function stderr_out so that
15634         the changes I made under Windows work correctly.
15635
15636         * filemode.c (mode_string):
15637         Warning fixes.
15638
15639         * frame-msw.c:
15640         * frame-msw.c (mswindows_size_frame_internal):
15641         Fixed the computation of frame size and position to keep the frame
15642         within the workspace area, rather than within the physical
15643         dimensions of the screen, so that the frame doesn't overlap window
15644         manager decorations, such as the start menu and toolbar, typically
15645         at the bottom of the screen.
15646
15647         * frame.c (vars_of_frame):
15648         Changed the default frame title format under MS Windows to consist
15649         of buffername-XEmacs, which is standard under MS Windows.  I think
15650         it might be a good idea to change this everywhere because I think
15651         it is superior to the current frame title format, but this is the
15652         kind of change that is likely to cause some people to get annoyed,
15653         so I'm not making it.
15654
15655         * glyphs-eimage.c (png_instantiate): Fixed some compile warnings.
15656
15657         * gui-msw.c (mswindows_handle_gui_wm_command):
15658         Fixed compile warnings.
15659
15660         * gui-x.c:
15661         * gui-x.c (strdup_and_add_accel):
15662         * gui-x.c (button_item_to_widget_value):
15663         * gui-x.h:
15664         Added code to automatically put an accelerator onto the beginning
15665         of menu items that don't have one as is now the standard, and is
15666         described more later.  Also fixed things so that the menu item
15667         name can be an evaluated expression, again a new standard.
15668
15669         * gui.c:
15670         * gui.c (gui_item_add_keyval_pair):
15671         * gui.c (make_gui_item_from_keywords_internal):
15672         * gui.c (gui_add_item_keywords_to_plist):
15673         * gui.c (gui_item_accelerator):
15674         * gui.c (gui_name_accelerator):
15675         * gui.c (gui_item_included_p):
15676         * gui.c (gui_item_display_flush_left):
15677         * gui.c (gui_item_display_flush_right):
15678         * gui.c (parse_gui_item_tree_item):
15679         * gui.c (parse_gui_item_tree_children):
15680         * gui.c (parse_gui_item_tree_list):
15681         Mule-ized.  Cleanup.  GCPRO addition.
15682
15683         * line-number.c (buffer_line_number):
15684         * lisp.h:
15685         * lisp.h (EMACS_INT_MAX):
15686         Added the manifest constant EMACS_INT_MIN corresponding to the
15687         existing constant EMACS_INT_MAX.  This is partially to fix compile
15688         warnings under Windows, and partly for cleanliness.
15689
15690         * menubar-msw.c:
15691         * menubar-msw.c (REPLACE_ME_WITH_GLOBAL_VARIABLE_WHICH_CONTROLS_RIGHT_FLUSH):
15692         * menubar-msw.c (msw_translate_menu_or_dialog_item):
15693         * menubar-msw.c (displayable_menu_item):
15694         * menubar-msw.c (populate_menu_add_item):
15695         * menubar-msw.c (populate_or_checksum_helper):
15696         * menubar-msw.c (populate_menu):
15697         * menubar-msw.c (update_frame_menubar_maybe):
15698         * menubar-msw.c (prune_menubar):
15699         * menubar-msw.c (msw_char_is_accelerator):
15700         * menubar-msw.c (unsafe_handle_wm_initmenu_1):
15701         * menubar-msw.c (mswindows_handle_wm_command):
15702         * menubar-msw.c (mswindows_handle_wm_initmenupopup):
15703         * menubar-msw.c (mswindows_handle_wm_initmenu):
15704         * menubar-msw.c (mswindows_update_frame_menubars):
15705         * menubar-msw.c (mswindows_free_frame_menubars):
15706         * menubar-msw.c (mswindows_popup_menu):
15707         Fixed a bug in handling accelerators where an extra character
15708         would be displayed in the menu item.  Also generalized the
15709         function displayable_menu_item because it is now used by the
15710         dialog box code as well.  And finally, added code in the functions
15711         that create the menubar to extract a list of accelerators for the
15712         top level menubar, which is used in the event code to determine
15713         whether a particular alt-key combination should be used to invoke
15714         a menu item, or should be passed through to access the standard
15715         XEmacs keymap binding for this key combination.
15716
15717         Much needed GCPROing.
15718
15719         * menubar-x.c:
15720         * menubar-x.c (menu_item_descriptor_to_widget_value_1):
15721         * menubar-x.c (menu_item_descriptor_to_widget_value):
15722         * menubar-x.c (restore_in_menu_callback):
15723         * menubar-x.c (x_popup_menu):
15724         * menubar-x.c (menu_move_up):
15725         * menubar-x.c (menu_move_down):
15726         * menubar-x.c (menu_move_left):
15727         * menubar-x.c (menu_move_right):
15728         * menubar-x.c (menu_select_item):
15729         * menubar-x.c (command_builder_operate_menu_accelerator):
15730         * menubar-x.c (menu_accelerator_junk_on_error):
15731         * menubar-x.c (command_builder_find_menu_accelerator):
15732         * menubar-x.c (Faccelerate_menu):
15733         * menubar.h:
15734         Moved a whole bunch of code here that was previously in
15735         event-stream.c as described above.  There is also code connected
15736         to the new standard of adding an accelerator to the beginning of
15737         menu items that don't have one as described above and below.
15738
15739         * menubar.c:
15740         * menubar.c (menu_parse_submenu_keywords):
15741         * menubar.c (Fmenu_find_real_submenu):
15742         * menubar.c (Fnormalize_menu_item_name):
15743         * menubar.c (syms_of_menubar):
15744         * menubar.c (vars_of_menubar):
15745         * menubar.c (complex_vars_of_menubar):
15746
15747         a) Cleaned up a bunch of documentation and improved it.
15748
15749         b) XEmacs now automatically adds an accelerator onto the beginning
15750         of any menu items that don't have one.  I did this because there
15751         will inevitably be some menu items on the main menubar that don't
15752         have accelerators on them because the package that adds that
15753         particular menu item hasn't yet been fixed up to have accelerators
15754         in them and it looked rather strange to have some items with and
15755         some items without accelerators, especially since even in items
15756         without accelerators, you can, at least under windows, still
15757         access the item through an accelerator corresponding to the first
15758         character in the item's name.  If people don't like this behavior,
15759         I can add a variable to turn it off optionally, but I'm not sure
15760         this is a good idea because we really do need to have accelerators
15761         on all of the menu items, and if a package doesn't like the
15762         accelerators being put on the first character, then it should put
15763         the accelerators where they belong.
15764
15765         c) I made a behavior change, which is that the descriptor that
15766         specifies the text of the menu item, which formerly was just a
15767         string, can now also be an evaluated expression.  This makes this
15768         descriptor parallel with all of the others, which could also be
15769         evaluated expressions.  This also obviates the need for the
15770         keyword :label, which was previously listed in the documentation
15771         as unimplemented, and which was for the same purpose.
15772
15773         d) GCPROing.
15774
15775         * ntproc.c:
15776         * ntproc.c (new_child):
15777         * ntproc.c (sys_spawnve):
15778         * ntproc.c (find_child_console):
15779         * ntproc.c (sys_kill):
15780         Fixed compile warnings.  By the way, this file should really go
15781         away entirely, and this will happen as soon as Kirill makes his
15782         final round of process cleanups, which affect the function
15783         call-process.
15784
15785         * process-nt.c:
15786         * process-nt.c (struct nt_process_data):
15787         * process-nt.c (find_process_from_pid):
15788         * process-nt.c (send_signal_the_nt_way):
15789         * process-nt.c (enable_child_signals):
15790         * process-nt.c (find_child_console):
15791         * process-nt.c (send_signal_the_95_way):
15792         * process-nt.c (nt_finalize_process_data):
15793         * process-nt.c (ensure_console_window_exists):
15794         * process-nt.c (nt_create_process):
15795         * process-nt.c (nt_kill_child_process):
15796         * process-nt.c (nt_kill_process_by_pid):
15797         * process-nt.c (nt_open_network_stream):
15798         * process-nt.c (vars_of_process_nt):
15799         Copied over code from Emacs 20.5 to correctly send signals to sub-
15800         processes under Windows 95.  Also added code to automatically
15801         create and hide console window when a sub-process is created under
15802         Windows 95, which obviates the need for the separate runemacs.exe
15803         executable, and finally implemented some variables that were
15804         implemented in Emacs 20.5, but previously not in XEmacs.  These
15805         include mswindows- start-process-share-console and
15806         mswindows-start-process-inherit-error-mode. (Both of these only
15807         apply to Windows 95.)
15808
15809         * regex.c (regex_compile): Fixed a compile warning.
15810
15811         * select-msw.c:
15812         * select-msw.c (mswindows_own_selection):
15813         * select-msw.c (mswindows_get_foreign_selection):
15814         * select-msw.c (mswindows_disown_selection):
15815         * select-msw.c (console_type_create_select_mswindows):
15816         * select-msw.c (syms_of_select_mswindows):
15817         Cleaned up the file and implemented the device method
15818         selection_exists_p, which had accidentally been left out.  Also
15819         removed four lisp functions that were remnants from before the
15820         time when the selection code was properly device abstracted.
15821         These functions are no longer needed because there are generic
15822         equivalents, and because they were added recently and don't exist
15823         in FSF Emacs, I don't think there's any problem with just deleting
15824         them.
15825
15826         * sysdep.c:
15827         * sysdep.c (sys_subshell):
15828         Fixed a compile warning, although in this case there's probably
15829         something wrong with this code, and it ought to be looked into
15830         more thoroughly by somebody who understands it.
15831
15832         * window.c:
15833         * window.c (Fwindow_text_area_height):
15834         * window.c (Fwindow_width):
15835         * window.c (Fwindow_full_width):
15836         * window.c (Fwindow_pixel_width):
15837         * window.c (debug_print_window):
15838         * window.c (syms_of_window):
15839         Added functions window-text-area-height and window-full-width,
15840         which are functions for returning various width and height
15841         characteristics of a window. (One of these functions is necessary
15842         for making the file dialog box work correctly, and the other one
15843         was added for completeness.)  Also added a table to the
15844         documentation for window-height which describes the entire scheme
15845         for accessing width and height characteristics of a window.
15846
15847 2000-03-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
15848
15849         * nt.c (fstat): Added a comment for another problem with
15850         non-encapsulated [f]stat(), reported by Adrian Aichner
15851         <aichner@ecf.teradyne.com>.
15852
15853 2000-03-11  Andy Piper  <andy@xemacs.org>
15854
15855         * window.c (make_dummy_parent): initialize subwindow instance
15856         cache.
15857         (Fset_window_configuration): zero extent_modiff.
15858
15859 2000-03-10  Andy Piper  <andy@xemacs.org>
15860
15861         * redisplay.c (Fredraw_frame): reset the changed_set flags so that
15862         more changes can be triggered.
15863         (Fredisplay_frame): ditto.
15864         (Fredraw_device): ditto.
15865         (Fredisplay_device): ditto.
15866         (redisplay_frame): make non-static.
15867         (redisplay_frame): call update_frame_gutter_geometry outside of
15868         display proper.
15869
15870         * gutter.h: declare update_frame_gutter_geometry.
15871
15872         * redisplay.h: declare redisplay_frame.
15873
15874         * gutter.c (update_frame_gutter_geometry): move geometry changes
15875         in update_frame_gutters here. Geometry changes can only occur
15876         outside of redisplay.
15877         (update_frame_gutters): remove geometry change code.
15878         (Fredisplay_gutter_area): make sure that we are in display when we
15879         update and that we have flushed any size changes.
15880
15881 2000-03-11  Andy Piper  <andy@xemacs.org>
15882
15883         * alloc.c (pdump_dump_data): remove i & count shadows.
15884
15885 2000-02-27  Mike Alexander  <mta@arbortext.com>
15886
15887         * sysdep.h: Declare pdump_read_file
15888
15889         * sysdep.c (pdump_read_file): New function
15890
15891         * alloc.c (pdump_load): Call pdump_read_file to get the portable
15892         dump data
15893
15894 2000-03-10  SL Baur  <steve@musashimaru.m17n.org>
15895
15896         * lrecord.h: add `lrecord_type_pgsetenv'.
15897
15898 2000-03-08  SL Baur  <steve@musashimaru.m17n.org>
15899
15900         * symsinit.h: declare (vars|syms)_of* functions.
15901         * lrecord.h: add `lrecord_type_pgconn' and 'lrecord_type_pgresult'.
15902
15903 2000-03-06  SL Baur  <steve@musashimaru.m17n.org>
15904
15905         * config.h.in: Add symbols HAVE_POSTGRESQL and HAVE_POSTGRESQLV7
15906
15907         * inline.c: Include postgresql.h lrecord stuffs to placate buggy
15908         GCCs.
15909
15910         * emacs.c (main_1): Call postgres initialization code.
15911
15912         * postgresql.h: New file.  PostgreSQL RDBMS support.
15913         * postgresql.c: New file.
15914
15915 2000-03-08  Yoshiki Hayashi  <yoshiki@xemacs.org>
15916
15917         * redisplay-output.c (redisplay_output_display_block): Disable
15918         redundant code.
15919
15920 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15921
15922         * mule-canna.c (Fcanna_henkan_region): Translate doc-string.
15923         (Fcanna_henkan_next): Ditto.
15924         (Fcanna_bunsetu_henkou): Ditto.
15925         (Fcanna_henkan_kakutei): Ditto.
15926         (Fcanna_henkan_end): Ditto.
15927         (Fcanna_henkan_quit): Ditto.
15928         (Fcanna_henkan_next): Set retun value correctly.
15929         (c2mu): Use unsigned char instead of signed char.
15930
15931 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15932
15933         * emacs.c (main_1): Always call syms_of_gui.
15934         * inline.c: include gui.h
15935
15936 2000-03-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
15937
15938         * redisplay.c (Vvisible_bell): Renamed from visible_bell and
15939         converted to Lisp_Object.
15940         (Qtop_bottom): New variable.
15941         (syms_of_redisplay): Initialize it.
15942         * redisplay.h (Vvisible_bell): Ditto.
15943         * sound.c (ding): Ditto and check if Vvisible_bell is nil.
15944         * redisplay-x.c (x_flash): When Vvisible_bell is top-bottom,
15945         only flash top and bottom.
15946
15947 2000-03-08  Andy Piper  <andy@xemacs.org>
15948
15949         * buffer.c (Frename_buffer): record new buffer name the right way.
15950
15951 2000-03-08  Andy Piper  <andy@xemacs.org>
15952
15953         * glyphs.c (update_subwindow): increase hash depth so that widget
15954         items get picked up properly.
15955
15956         * redisplay-output.c (compare_runes): increase hash depth so that
15957         widget items get picked up properly.
15958
15959 2000-03-08  Andy Piper  <andy@xemacs.org>
15960
15961         * gutter.c (output_gutter): add some debug.
15962
15963         * glyphs.h (struct Lisp_Image_Instance): add display_hash.
15964         (IMAGE_INSTANCE_DISPLAY_HASH): new macro.
15965         (XIMAGE_INSTANCE_DISPLAY_HASH): ditto.
15966
15967         * redisplay-output.c (compare_runes): use display_hash to
15968         determine if glyphs really are not the same.
15969
15970         * glyphs.c (update_subwindow): check display_hash to see if
15971         anything really needs to be updated. If not then do
15972         nothing. Record the display_hash after updating.
15973         (image_instance_equal): compare the image_instance face also.
15974
15975 2000-03-07  Yoshiki Hayashi  <yoshiki@xemacs.org>
15976
15977         * redisplay.h: Fix comment style.
15978
15979 2000-03-08  Jonathan Harris  <jhar@tardis.ed.ac.uk>
15980
15981         * consle-msw.h (struct mswindows_frame):
15982         Added new member paint_pending to indicate whether a WM_PAINT
15983         magic event has been queued for this frame.
15984
15985         * event-msw.c (mswindows_drain_windows_queue):
15986         Don't queue a WM_PAINT magic event if one is already queued.
15987         (emacs_mswindows_handle_magic_event): clear paint_pending flag.
15988
15989         * frame-msw.c (mswindows_init_frame_1): initialise paint_pending flag.
15990
15991 2000-03-07  Didier Verna  <didier@xemacs.org>
15992
15993         * dired.c: #include `regex.h' after `sysfile.h'.
15994
15995 2000-03-06  Martin Buchholz  <martin@xemacs.org>
15996
15997         * sound.c (init_nas_sound): Fix compiler warning.
15998
15999         * alloc.c (ALIASING_VOIDPP_DEREFERENCE): New.
16000         (FREE_STRUCT_P):
16001         (MARK_STRUCT_AS_FREE):
16002         (MARK_STRUCT_AS_NOT_FREE):
16003         Make `gcc -fstrict-aliasing' work properly.
16004
16005 2000-03-07  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16006
16007         * device-msw.c (mswindows_finish_init_device): Call CoInitialize().
16008         (mswindows_delete_device): Call CoUnnitialize().
16009
16010         * event-msw.c (mswindows_wnd_proc): WM_DROPFILES: Decode Shortcuts.
16011
16012 2000-02-25    <CraigL@DyCon.com>
16013
16014         * process-nt.c: MinGW now has <shellapi.h>, but still needs
16015         <errno.h>.
16016
16017         * sysdep.c: This extern declaration for environ prevents MinGW
16018         from finding the variable in CRTDLL.DLL.
16019
16020         * s\mingw32.h (PBS_SMOOTH): Removed, now defined in cygwin's
16021         windows headers.
16022         (SHGFI_EXETYPE): ..
16023         (WM_MOUSEWHEEL): ..
16024         (_WIN32_IE): Added, needed to get the TCS_BOTTOM and TCS_VERTICAL
16025         definitions.
16026         (MMRESULT): Removed, now defined in cygwin's windows headers.
16027         (TIMECAPS): ..
16028         (uid_t,gid_t,pid_t,ssize_t): ..
16029         (_timeb): Removed, MinGW defines both _timeb and timeb.
16030         (HAVE_H_ERRNO): Added.
16031         (HAVE_TZNAME): Added, configure is not detecting this.
16032
16033 2000-02-03  IKEYAMA Tomonori <tomonori@suiyokai.org>
16034
16035         * chartab.h (XCHAR_TABLE_VALUE_UNSAFE): New macro.
16036         * syntax.c (syntax_match): Use it.
16037
16038         * cmds.c: Import auto-fill-chars from FSF Emacs.
16039         (Vauto_fill_chars): New variables.
16040         (internal_self_insert): Check Vauto_fill_chars.
16041         (vars_of_cmds):
16042         Declare auto-fill-chars as a Lisp variable and initialize it.
16043
16044 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16045
16046         * fileio.c (Fmake_symbolic_link):
16047         (Ffile_symlink_p):
16048         Run handlers even if local machine doesn't have symlinks.
16049
16050 2000-03-05  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16051
16052         * event-msw.c (mswindows_drain_windows_queue):
16053         Don't generate paint magic events for non-XEmacs frames.
16054
16055 2000-03-05  Andy Piper  <andy@xemacs.org>
16056
16057         * redisplay.c (redisplay_frame): generate_displayable_area and
16058         friends assumes that we are not in GC, we therefore have to make
16059         sure that this doesn't happen.
16060
16061         * gutter.c (calculate_gutter_size): generate_displayable_area
16062         assumes that we are not in GC, we therefore have to make sure that
16063         this doesn't happen.
16064
16065 2000-03-05  Martin Buchholz  <martin@xemacs.org>
16066
16067         * opaque.c (DEFINE_LRECORD_IMPLEMENTATION): opaque_ptr ==> opaque-ptr
16068
16069 2000-03-03  Jan Vroonhof  <vroonhof@math.ethz.ch>
16070
16071         * redisplay.c (regenerate_window): Make sure we set a sane value
16072         for end_pos even if we jump out of the loop.
16073         (regenerate_window): Answer Ben's question :-).
16074         (start_end_of_last_line): Add may_error argument.
16075         (start_of_last_line):
16076         (end_of_last_line): Pass may_error = 0.
16077         (end_of_last_line_may_error): New function.
16078         (pixel_to_glyph_translation): Use it, so we don't crash in
16079         event_to_glyph.
16080
16081 2000-03-04  Andy Piper  <andy@xemacs.org>
16082
16083         * window.h (struct window): add gutter_extent_modiff.
16084
16085         * window.c (allocate_window): zero out gutter_extent_modiff.
16086
16087         * redisplay.h: declare sync_display_line_structs.
16088
16089         * redisplay.c (add_glyph_rune): add a better comment.
16090
16091         * redisplay-output.c (sync_display_line_structs): made non-static.
16092         (compare_runes): remove unneccesary glyph cachel access.
16093
16094         * gutter.h: declare gutter_extent_signal_changed_region_maybe.
16095
16096         * gutter.c (output_gutter): don't output the gutter if extent
16097         changes only involve extents in buffers. use 4 sets of display
16098         lines.
16099         (gutter_extent_signal_changed_region_maybe): new function. Mark
16100         extents in gutters as changed.
16101         (update_frame_gutters): use 4 sets of display lines.
16102         (reset_gutter_display_lines): ditto.
16103         (free_frame_gutters): ditto.
16104         (redraw_exposed_gutter): force output of gutters.
16105
16106         * frame.h (struct frame): add 4 sets of gutter display lines.
16107
16108         * extents.c: (extent_changed_for_redisplay): signal changes to
16109         extents in strings in the gutter as well as extents in buffers.
16110
16111 2000-03-02  Andy Piper  <andy@xemacs.org>
16112
16113         * gutter.c (specifier_vars_of_gutter): cosmetic changes.
16114
16115         * frame.c (Fmake_frame): make sure the gutters get initialized
16116         after the frame is visible.
16117         (set_frame_selected_window): re-arrange compilation macros a
16118         little.
16119         (change_frame_size_1): mark gutters changed.
16120
16121         * device.c (Fset_device_class): mark gutters changed.
16122
16123 2000-03-01  Andy Piper  <andy@xemacs.org>
16124
16125         * window.c (window_top_frame_gutter_height): deleted.
16126         (window_bottom_frame_gutter_height): ditto.
16127         (window_left_frame_gutter_height): ditto.
16128         (window_right_frame_gutter_height): ditto.
16129         (window_top_gutter_height): don't use them.
16130         (window_bottom_gutter_height): ditto.
16131         (window_left_gutter_width): ditto.
16132         (window_right_gutter_width): ditto.
16133         (Fsplit_window): ditto.
16134         (Fwindow_pixel_edges): don't use border dimensions here.
16135
16136         * scrollbar.c (update_scrollbar_instance): don't take gutters into account.
16137         (update_scrollbar_instance): ditto.
16138
16139         * redisplay.c (generate_modeline): don't take gutters into account.
16140         (generate_modeline): ditto.
16141         (redisplay_frame): small gutter display optimization.
16142
16143         * redisplay-x.c (x_output_vertical_divider): don't take gutters into account.
16144
16145         * redisplay-msw.c (mswindows_output_vertical_divider): don't take
16146         gutters into account.
16147
16148         * gutter.h (WINDOW_REAL_*_GUTTER_BOUNDS): remove bogus checks
16149         for window position and type.
16150
16151         * gutter.c (get_gutter_coords): fix for frame gutters.
16152         (update_frame_gutters): update frame geometry if the gutters have
16153         changed.
16154         (init_frame_gutters): record current gutter geometries.
16155
16156         * glyphs-msw.c (mswindows_subwindow_instantiate): remove unused
16157         var.
16158         (mswindows_widget_instantiate): ditto.
16159
16160         * frame.h (struct frame): add current_gutter_bounds.
16161
16162         * frame.c (change_frame_size_1): position window and minibuffer
16163         appropriately taking into account the frame gutters.
16164
16165         * frame-x.c: (x_initialize_frame_size): take into account the
16166         frame gutters.
16167
16168 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16169
16170         * emacs.c (data-directory):  Xref `locate-data-file' in docstring.
16171
16172 2000-02-29  Stephen J. Turnbull  <stephen@xemacs.org>
16173
16174         * alloc.c (dumpopaquevec): Increase dimension for --with-canna.
16175
16176 1999-12-30  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16177
16178         * file-coding.c (reset_decoding_stream): Clear previous
16179         detection state when autodetect.
16180
16181 2000-02-29  Didier Verna  <didier@xemacs.org>
16182
16183         * extents.c (set_extent_glyph_1): don't require extents to be
16184         attached.
16185
16186 2000-02-27  Andy Piper  <andy@xemacs.org>
16187
16188         * gutter.c (Fset_default_gutter_position): don't default left and
16189         right gutter visibility to t.
16190         (Fset_default_gutter_position): run
16191         default-gutter-position-changed-hook.
16192         (syms_of_gutter): add default-gutter-position-changed-hook.
16193
16194 2000-02-26  Andy Piper  <andy@xemacs.org>
16195
16196         * specifier.c (Fmake_specifier): add gutter references.
16197
16198         * gutter.h (RAW_WINDOW_GUTTER): new macro.
16199
16200         * lisp.h: declare Fvalid_plist_p.
16201
16202         * gutter.c (gutter_geometry_changed_in_window): mark the modeline
16203         as changed.
16204         (default_gutter_visible_p_changed_in_window): invalidate gutter as
16205         well as its visibility so that it gets reconstructed.
16206         (construct_window_gutter_spec): new function. Construct a string
16207         to be displayed in the gutter from a plist of strings. Take care
16208         to only use elements that are declared as visible.
16209         (calculate_gutter_size): use RAW_WINDOW_GUTTER instead of
16210         WINDOW_GUTTER.
16211         (gutter_validate): allow plists of strings in the specifier.
16212         (gutter_specs_changed): construct the real_gutter from the gutter
16213         specs using construct_window_gutter_spec.
16214         (gutter_visible_validate): gutter-visible is a new specifier type.
16215         (Fgutter_visible_specifier_p): new function for the new specifier.
16216         (syms_of_gutter): declare gutter-visible and
16217         Fgutter_visible_specifier_p.
16218         (specifier_type_create_gutter): intitalize new gutter-visible
16219         specifier.
16220         (reinit_specifier_type_create_gutter): ditto.
16221         (specifier_vars_of_gutter): use new specifier type for gutter
16222         visibility.
16223         (init_frame_gutters): construct real_gutter correctly.
16224         (Fgutter_specifier_p): beef up documentation.
16225         (Fgutter_size_specifier_p): ditto.
16226
16227         * winslots.h: add real_gutter slots.
16228
16229 2000-02-25  Andy Piper  <andy@xemacs.org>
16230
16231         * device-msw.c: Be kind to older cygwin versions. From Raymond
16232         Toy <toy@rtp.ericsson.se>.
16233
16234         * gui-msw.c (Fmswindows_shell_execute): Remove things unknown to
16235         earlier cygwins. From Raymond Toy <toy@rtp.ericsson.se>.
16236
16237 2000-02-25  Martin Buchholz  <martin@xemacs.org>
16238
16239         * elhash.c (MARK_OBJ): Practice macro hygiene.
16240
16241 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16242
16243         * miscplay.c: s/__inline__/inline/g;
16244         * glyphs-msw.c (set_mono_pixel): INLINE ==> static inline
16245         (get_device_compdc): INLINE ==> static inline
16246         * *.[ch]: Change INLINE to INLINE_HEADER globally.
16247         find -name '*.h' | \
16248         xargs global-replace \
16249         's/(^|(?<=[^A-Za-z0-9_]))INLINE((?=[^A-Za-z0-9_])|$)/INLINE_HEADER/g'
16250
16251 2000-02-25  Andy Piper  <andy@xemacs.org>
16252
16253         * window.c (window_top_frame_gutter_height): new function.
16254         (window_top_window_gutter_height): ditto.
16255         (window_top_gutter_height): use them.
16256         (window_bottom_frame_gutter_height): new function.
16257         (window_bottom_window_gutter_height): ditto.
16258         (window_bottom_gutter_height): use them.
16259         (window_left_window_gutter_width): new function.
16260         (window_left_frame_gutter_width): ditto.
16261         (window_left_gutter_width): use them.
16262         (window_right_window_gutter_width): new function.
16263         (window_right_frame_gutter_width): ditto.
16264         (window_right_gutter_width): use them.
16265         (window_pixel_height): new function. calulate window pixel height
16266         with frame gutter involvement.
16267         (Fsplit_window): calculate new sizes taking frame gutters into
16268         account.
16269         (window_char_height_to_pixel_height): don't include frame gutters.
16270         (window_char_height): use window_pixel_height.
16271         (window_pixheight): rename from window_pixel_height.
16272         (change_window_height): use it.
16273         (window_pixel_height_to_char_height): don't include frame gutters.
16274         (window_char_width_to_pixel_width): ditto.
16275
16276 2000-02-25  Andy Piper  <andy@xemacs.org>
16277
16278         * glyphs.h (IMAGE_INSTANCE_FACE): glyph might be nil, don't crash
16279         if it is.
16280
16281 2000-02-24  Martin Buchholz  <martin@xemacs.org>
16282
16283         * alloc.c (staticpro):
16284         (staticpro_nodump):
16285         (dumpstruct):
16286         (dumpopaque):
16287         (pdump_wire):
16288         (pdump_wire_list):
16289         (compact_string_chars):
16290         (pdump_dump_wired):
16291         Convert:  if (foo) abort();  ==>  assert (! foo);
16292
16293         * eldap.c (Fldap_search_basic):
16294         (Fldap_add):
16295         (Fldap_modify):
16296         (Fldap_delete):
16297         Fix compiler warnings, and possible crashes if (random) return
16298         value were to be used.
16299
16300 2000-02-21  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16301
16302         * device-msw.c: Workaround ResetDC failure.
16303
16304         * frame-msw.c (msprinter_init_frame_3): Added an assertion before
16305         applying a devmode.
16306
16307         * redisplay-msw.c (get_frame_dc): Added start_page_p.
16308         (mswindows_text_width): Do not start printer page.
16309
16310         * console-msw.h (CHECK_MSGDI_DEVICE): Added this and friends.
16311
16312         * glyphs-msw.c: Added image methods to msprinter console and
16313         msprinter-specific image instantiation.
16314
16315 2000-02-20  Mike Alexander  <mta@arbortext.com>
16316
16317         * select-msw.c (Fmswindows_set_clipboard): GC protect more things
16318         to avoid crashes when selection-sets-clipboard is on
16319         (mswindows_own_selection): ditto
16320
16321 2000-02-19  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16322
16323         * glyphs-msw.c:
16324         * redisplay-msw.c (get_frame_dc):
16325         (get_frame_compdc):
16326         * console-msw.h:
16327         * device-msw.c (mswindows_init_device):
16328         (mswindows_delete_device):
16329         (msprinter_init_device):
16330         (msprinter_delete_device):
16331         * frame-msw.c (mswindows_init_frame_1):
16332         (mswindows_delete_frame):
16333         (msprinter_init_frame_3):
16334         (msprinter_delete_frame): Move compatible DC to device object from
16335         frame object, for both mswindows and msprinter. Only one at a time
16336         is needed, it is a real waste to have one per frame!
16337
16338 2000-02-23  Andy Piper  <andy@xemacs.org>
16339
16340         * glyphs.c: add dynamic width and height elements.
16341         (image_instance_equal): ditto.
16342
16343         * glyphs-widget.c (widget_query_geometry): calculate width and
16344         height dynamically if required.
16345         (initialize_widget_image_instance): initialize dynamic dimensions.
16346         (widget_instantiate): pick-up dynamic dimensions.
16347
16348         * glyphs.h (struct Lisp_Image_Instance): add width and height for
16349         dynamic determination. Add appropriate macros.
16350
16351         * gutter.h (WINDOW_GUTTER_BORDER_WIDTH): make non-integer
16352         dimensions safe.
16353         (WINDOW_GUTTER_SIZE): ditto.
16354         (WINDOW_GUTTER_SIZE_INTERNAL): ditto.
16355
16356         * redisplay-msw.c (get_frame_compdc): gcc can't cope with this
16357         inline.
16358         (get_frame_dc): ditto.
16359
16360         * redisplay.h (GLOBAL_RESET_CHANGED_FLAGS): don't reset faces
16361         here.
16362
16363 2000-02-23  Martin Buchholz <martin@xemacs.org>
16364
16365         * XEmacs 21.2.31 is released.
16366
16367 2000-02-22  Ben Wing <ben@xemacs.org>
16368
16369         * ntheap.c (allocate_heap): Make sure `ptr' is initialized.
16370
16371 2000-02-22  Andy Piper  <andy@xemacs.org>
16372
16373         * glyphs-x.c (x_widget_instantiate): don't explicitly resize here.
16374
16375 2000-02-21  Mike Sperber <mike@xemacs.org>
16376
16377         * .dbxrc:
16378         * .gdbinit:
16379         * Makefile.in.in: Remove obsolete EMACSBOOTSTRAP... environment
16380         variables.
16381
16382 2000-02-21  Mike Sperber <mike@xemacs.org>
16383
16384         * s/aix4.h: Declare getaddrinfo broken for AIX 4, which it is.
16385
16386 2000-02-21  Martin Buchholz <martin@xemacs.org>
16387
16388         * XEmacs 21.2.30 is released.
16389
16390 2000-02-20  Martin Buchholz  <martin@xemacs.org>
16391
16392         Performance hacking.
16393         * *.c (syms_of_*):
16394         Add INIT_LRECORD_IMPLEMENTATION macros, paired with
16395         DEFINE_LRECORD_IMPLEMENTATION macros in the same file.
16396         * emacs.c (main_1):
16397         * lisp.h (DEFUN):
16398         * console.c (DEFVAR_CONSOLE_LOCAL_1):
16399         * buffer.c (DEFVAR_BUFFER_LOCAL_1):
16400         * symeval.h (DEFVAR_SYMVAL_FWD):
16401         * symbols.c (guts_of_unbound_marker):
16402         Make all c_readonly objects also lisp_readonly and marked for life.
16403         * lrecord.h (struct lrecord_implementation):
16404         Document flags better.
16405         * lrecord.h (DEFINE_LRECORD_SEQUENCE_IMPLEMENTATION_WITH_PROPS):
16406         * lrecord.h (DECLARE_LRECORD):
16407         * lrecord.h (XSETRECORD):
16408         * lrecord.h (RECORDP):
16409         * lrecord.h (RECORD_TYPEP):
16410         * lrecord.h (RECORD_MARKER): New.
16411         * lrecord.h (error_check_*):
16412         * lrecord.h (CONCHECK_NONRECORD):
16413         * lrecord.h (MAKE_LRECORD_IMPLEMENTATION):
16414         * lrecord.h (INIT_LRECORD_IMPLEMENTATION): New.
16415         * lrecord.h (set_lheader_implementation):
16416         * lrecord.h (enum lrecord_type): New.
16417         * symeval.h (SYMBOL_VALUE_MAGIC_P):
16418         * alloc.c (disksave_object_finalization_1):
16419         * alloc.c (mark_object):
16420         * alloc.c (lrecord_type_index):
16421         * alloc.c (tick_lcrecord_stats):
16422         * alloc.c (Fgarbage_collect):
16423         * alloc.c (init_alloc_once_early):
16424         * alloc.c (pdump_load):
16425         * alloc.c (GC_CHECK_LHEADER_INVARIANTS): New.
16426         * alloc.c (lrecord_type_index): Delete.
16427         Make lisp object type indexes be constant.
16428           Makes (byte-compile) 5% faster.
16429         Put all marker functions into their own array.
16430           Makes (garbage-collect) 5% faster.
16431         Optimize SYMBOL_VALUE_MAGIC_P.
16432           Makes (byte-compile) 2-3% faster.
16433         * config.h.in (gc_checking_assert): New.
16434         * alloc.c: Use gc_checking_assert().
16435         * .dbxrc: Make compatible with new object type implementation.
16436         * .gdbinit: Make compatible with new object type implementation.
16437         * alloc.c: Delete all symbols defined only for debugging, such as
16438         Lisp_Type_Vector and lrecord_charset.
16439
16440 2000-02-21  Andy Piper  <andy@xemacs.org>
16441
16442         * gui-msw.c (Fmswindows_shell_execute): fix file location
16443         problems.
16444
16445         * buffer.c (Fkill_buffer): remove buffer from alist buffer
16446         unshowing so that set_window_buffer doesn't undo
16447         kill_buffer_hook's hard work.
16448
16449         * glyphs-widget.c (tab_control_query_geometry): don't count the
16450         first item when calculating geometry.
16451
16452         * glyphs.c (map_subwindow): remove redundant code.
16453         (update_frame_subwindows): be more circumspect about when to
16454         update subwindows.
16455
16456         * glyphs-x.c (x_update_widget): Properly fix sizing bug. Fix bug
16457         when items haven't changed. Update faces if faces have changed as
16458         well as just the widget face.
16459         (x_tab_control_update): Update faces if faces have changed as well
16460         as just the widget face.
16461
16462 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16463
16464         * device-msw.c: (mswindows_delete_device): Remove redundant DDE
16465         registration.
16466         (build_syscolor_string): Use mswindows_color_to_string to try to
16467         get a named color.
16468         (mswindows_device_system_metrics): Reverse the foreground and
16469         background colors so that they match the documentation.
16470
16471         * objects-msw.c: (mswindows_X_color_map): tweak some values so
16472         they match the default Windows palette.
16473         (mswindows_color_to_string): New function.
16474
16475 2000-02-21  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16476
16477         * s/windowsnt.h: Only use __declspec(noreturn) with MSVC>=6.
16478
16479 2000-02-18  Olivier Galibert  <galibert@pobox.com>
16480
16481         * m/*, s/*: Removed obsolete DATA_SEG_BITS, PURE_SEG_BITS,
16482         WORD_MACHINE, SIGN_EXTEND_CHAR and EXPLICIT_SIGN_EXTEND.
16483
16484         * symbols.c (init_symbols_once_early): Removed obsolete
16485         DATA_SEG_BITS related kludge.
16486         (defvar_magic): Ditto.
16487
16488         * malloc.c: Removed obsolete DATA_SEG_BITS
16489         * ralloc.c: Ditto.
16490         * mem-limits.h: Ditto.
16491
16492         * Makefile.in.in: Removed obsolete HAVE_SHM
16493         * emacs.c: Ditto.
16494
16495 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16496
16497         *  device-msw.c (mswindows_delete_device): Free DDE string
16498         handles.
16499
16500 2000-02-16  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16501
16502         * keymap.c (get_keyelt):
16503         * unexnt.c (unexec):
16504         * vm-limit.c (memory_warnings):
16505         * ntheap.c (recreate_heap):
16506         * ntheap.h (UNINIT_PTR):
16507         * select-msw.c (Fmswindows_get_clipboard):
16508         (Fmswindows_set_clipboard):
16509         * objects-msw.h (MSWINDOWS_BAD_HFONT):
16510         * objects-msw.c:
16511         * menubar-msw.c (displayable_menu_item):
16512         * glyphs-msw.c:
16513         * glyphs-msw.h (IMAGE_INSTANCE_MSWINDOWS_MASK):
16514         * sysdep.c (sys_subshell):
16515         * process-nt.c (nt_create_process):
16516         * nt.c (normalize_filename):
16517         (dostounix_filename):
16518         (unixtodos_filename):
16519         * ntproc.c (win32_executable_type):
16520         * ntplay.c (play_sound_data_1):
16521         (play_sound_file):
16522         * editfns.c (get_home_directory):
16523         * event-msw.c (struct winsock_stream):
16524         (mswindows_dde_callback):
16525         * device-msw.c (msprinter_init_device):
16526         (msprinter_get_devmode_copy): Frobbed syntax frivolities.
16527
16528         * toolbar-msw.c (mswindows_free_frame_toolbars): Paramters to
16529         mswindows_clear_toolbar were swapped!
16530
16531         * objects-msw.c:(colormap_t):
16532         (fontmap_t):
16533         * emacs.c (struct standard_args): Fixed const jumble.
16534
16535         * glyphs-widget.c (update_widget): Fixed comparison notation.
16536
16537         * event-msw.c (mswindows_dde_callback): Removed extraneous ';'.
16538
16539         * s\windowsnt.h (DOESNT_RETURN): Defined to support the MSVC
16540         __declspec(noreturn) syntax.
16541
16542 2000-02-19  Martin Buchholz  <martin@xemacs.org>
16543
16544         * eldap.c (Fldap_open):
16545         (Fldap_search_basic):
16546         (Fldap_add):
16547         (Fldap_modify):
16548         Use new coding system conversion macros.
16549
16550 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16551
16552         * console-tty.c (tty_init_console): Change MULE to FILE_CODING.
16553
16554 1999-11-27  Oscar Figueiredo  <Oscar.Figueiredo@di.epfl.ch>
16555
16556         * eldap.h (Fldap_search) Renamed from Fldap_search_internal:
16557         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16558
16559         * eldap.c (Qadd, Qreplace): New constant symbols
16560         (Fldap_open): Use the LDAP_OPT_RESTART option to avoid
16561         interruptions by XEmacs signals
16562         Remove unnecessary calls to slow_down_interrupts and
16563         speed_up_interrupts
16564         (Fldap_search_basic): Renamed from Fldap_search_internal
16565         Added new optional parameter VERBOSE that triggers the
16566         display of progress messages
16567         Remove unnecessary calls to slow_down_interrupts and
16568         speed_up_interrupts
16569         LDAP result code analysis rewritten
16570         (Fldap_add, Fldap_modify, Fldap_delete): New functions
16571         (syms_of_eldap): Define the new symbols and functions
16572
16573
16574 2000-02-17  Martin Buchholz  <martin@xemacs.org>
16575
16576         * realpath.c: Determine PATH_MAX maximally portably.
16577
16578         * insdel.c (bytecount_to_charcount): Optimize.
16579         The function used to be optimized for entirely ASCII sequences.
16580         Now it is optimized for successive characters from the same
16581         charset.  This also wins big for _mostly_ ASCII sequences.
16582
16583         * fileio.c (Ffile_truename): convert return from realpath() using
16584         Qfile_name, not Qbinary.  Fixes obvious bug with non-ASCII symlinks.
16585         - Rewrite GCPROing slightly.
16586
16587         * sysdep.c (sys_open): Do filename conversion, like all other
16588         sys_* functions.  Fixes bug:
16589         (let ((file-name-coding-system 'iso-8859-2))
16590            (write-region x y latin2-name))
16591         ==> writes filename using internal encoding.
16592
16593 2000-02-18  Martin Buchholz  <martin@xemacs.org>
16594
16595         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Turn on c_readonly. Always const.
16596         * console.c (DEFVAR_CONSOLE_LOCAL_1): Turn on c_readonly. Always const.
16597         * symeval.h (DEFVAR_SYMVAL_FWD): Turn on c_readonly. Always const.
16598         * eval.c (lrecord_subr): Remove this_one_is_unmarkable.
16599         * symbols.c (lrecord_symbol_value_forward): Remove this_one_is_unmarkable.
16600         * symbols.c (guts_of_unbound_marker): Turn on c_readonly.
16601         * lrecord.h (UNMARKABLE_LRECORD_HEADER_P): Delete.
16602         (CONST_IF_NOT_DEBUG): Delete.
16603         * alloc.c (this_one_is_unmarkable): Delete.
16604         (mark_object): Don't check for this_one_is_unmarkable. Use the
16605         c_readonly flag instead.
16606         * lisp.h (DEFUN): Define a Lisp_Subr as c_readonly.
16607
16608 2000-02-18  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16609
16610         * event-msw.c (mswindows_drain_windows_queue):
16611         (emacs_mswindows_handle_magic_event): Remove attempt to optimise
16612         away redundant repaint events.
16613
16614 2000-02-17  Andy Piper  <andy@xemacs.org>
16615
16616         * redisplay.h: declare mark_redisplay_structs.
16617
16618         * redisplay.c (redisplay_window):
16619         (redisplay_frame): don't check subwindows_state_changed.
16620         (mark_redisplay): mark gutters here.
16621
16622         * glyphs.c: (instantiate_image_instantiator): always layout if we
16623         haven't done so already.
16624         (allocate_image_instance): don't mark as dirty.
16625         (update_subwindow): bind inhibit_quit.
16626
16627         * gutter.c (mark_gutters): new function.
16628
16629         * glyphs-x.c (x_update_widget): Always resize to get round a
16630         widget bug.
16631
16632         * glyphs-msw.c (mswindows_tab_control_update): remove `;' that was
16633         breaking absolutely everything.
16634
16635         * gutter.h: declare mark_gutters.
16636
16637 2000-02-16  Martin Buchholz <martin@xemacs.org>
16638
16639         * XEmacs 21.2.29 is released.
16640
16641 2000-02-15  Olivier Galibert  <galibert@pobox.com>
16642
16643         * fns.c (size_bit_vector): Fix computation of the size.
16644
16645 2000-02-15  Martin Buchholz  <martin@xemacs.org>
16646
16647         * *.[ch]: Change CONST to const globally.
16648         find -name '*.[ch]' | \
16649         xargs global-replace \
16650         's/(^|(?<=[^A-Za-z0-9_]))CONST((?=[^A-Za-z0-9_])|$)/const/g'
16651         - Remove vestigial references to CONST_IS_LOSING
16652
16653 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16654
16655         * event-msw.c (mswindows_drain_windows_queue): Remove hack to
16656         bailout early on quit. Enqueue WM_PAINT events as XEmacs magic
16657         events instead of dispatching them directly.
16658         (mswindows_handle_paint): New function to do repainting.
16659         (mswindows_wnd_proc):
16660         (emacs_mswindows_handle_magic_event): Call above function.
16661
16662 2000-02-13  Jonathan Harris  <jhar@tardis.ed.ac.uk>
16663
16664         * objects-msw.c (mswindows_create_font_variant): Return the new
16665         font handle.
16666         (initialize_font_instance): Get font metrics from the underlined
16667         variant of the font to cope with the case where the underlined
16668         font has a bigger descent.
16669
16670 2000-02-08   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
16671
16672         * gui.c (gui_item_accelerator): Return the first underlined
16673         character in item name.
16674
16675 2000-02-11  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
16676
16677         * lisp.h: Added Qprinter.
16678
16679         * general.c (syms_of_general): Initialized it.
16680
16681         * redisplay-msw.c (get_frame_dc): Conditionally start a new page.
16682         (get_frame_dc):
16683         (get_frame_compdc): Made inline.
16684
16685         * console.h (struct console_methods): Added eject_page method.
16686
16687         * frame.h: Added FRAME_DISPLAY_P and friends.
16688         Aligned backslahes in many macros in more readable fashion.
16689         Added page_number to struct frame, and an accessor macro
16690         for it.
16691
16692         * defice.h: Added DEVICE_DISPLAY_P and friends.
16693
16694         * device.c (Fdevice_printer_p): Used these.
16695
16696         * frame.c (allocate_frame_core): Initialize page number.
16697         (Fprint_job_page_number):
16698         (Fprint_job_eject_page): Implemented.
16699
16700         * frame-msw.c (msprinter_eject_page): Added method.
16701         (msprinter_start_page): Added.
16702
16703         * window.c (Fwindow_truncated_p): Fixed docstring.
16704         (Fwindow_last_line_visible_height): Implemented.
16705
16706 2000-02-09  Yoshiki Hayashi  <yoshiki@xemacs.org>
16707
16708         * frame.c (change_frame_size_1): Undo 2000-02-03 change.
16709
16710 1999-12-20  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
16711
16712         * syntax.c (scan_words): Always advance at least one character.
16713
16714 2000-02-13  Andy Piper  <andy@xemacs.org>
16715
16716         * redisplay.c (add_glyph_rune): call get_glyph_cachel_index here
16717         to make sure the glyph is in the cachels.
16718
16719         * glyphs.h (struct Lisp_Image_Instance): make layout_changed a
16720         global image instance flag.
16721         (IMAGE_INSTANCE_NEEDS_LAYOUT): new macro.
16722         (XIMAGE_INSTANCE_NEEDS_LAYOUT): ditto.
16723
16724         * glyphs.c (allocate_image_instance): set dirty bits correctly.
16725         (Fset_image_instance_property): mark layout as changed.
16726         (invalidate_glyph_geometry_maybe): mark layout as changed.
16727         (glyph_width): use new NEEDS_LAYOUT macro.
16728         (glyph_ascent): ditto.
16729         (glyph_descent): ditto.
16730         (glyph_height): ditto.
16731         (image_instance_layout): mark layout as clean after laying out.
16732         (update_subwindow): don't mark layout as clean here.
16733
16734         * glyphs-x.h (IMAGE_INSTANCE_X_WIDGET_ID): undo C++ changes, they
16735         should no longer be needed.
16736
16737         * glyphs-x.c (x_update_widget): sanitize asserts.
16738         (x_finalize_image_instance): sanitize assignment to widgets.
16739
16740         * glyphs-widget.c (widget_instantiate): don't need to clear the
16741         layout flag here.
16742
16743 2000-02-13  Martin Buchholz  <martin@xemacs.org>
16744
16745         * sysdep.c (getcwd): Use standard prototype.
16746         * sysdep.h (getcwd): Use standard prototype.
16747
16748         * fns.c (Fsubseq): Change parameters to more natural ANSI Lisp
16749         (sequence, start, end).
16750         Remove redundant type checking.
16751         (Fmapconcat): Remove useless GCPRO, a wrong-headed attempt (in
16752         view of `caller-protects') to avoid a crash where the real fix was
16753         found elsewhere.
16754
16755 2000-02-12  Martin Buchholz  <martin@xemacs.org>
16756
16757         * glyphs-x.c (x_finalize_image_instance): Compile error fixes.
16758
16759         * s/sol2.h: Remove feature macro initialization.
16760
16761         * alloc.c (alloc_lcrecord): Add more type checking assertions.
16762         (vector_hash): New.  Code from internal_hash.
16763         * lrecord.h:
16764         Fix up allocation subsystem comments.
16765
16766         * config.h.in: Add __EXTENSIONS__ for Solaris.
16767
16768         * systime.h (EMACS_GETTIMEOFDAY): New.
16769         (EMACS_GET_TIME): Use EMACS_GETTIMEOFDAY.
16770         Remove Solaris-specific code.
16771         Use void* for the (ignored) second arg for gettimeofday().
16772
16773         * elhash.c (hash_table_hash): Implement it, finally.
16774         * elhash.c:  Use hashcode_t.
16775
16776         * linuxplay.c (sighandler): Fix prototypes to use SIGTYPE.
16777         * sunplay.c (sighandler): Fix prototype to use SIGTYPE.
16778
16779         * lisp.h (STRETCHY_STRUCT_SIZEOF): Delete.
16780         * fns.c (size_bit_vector):
16781         * alloc.c (size_vector):
16782         (make_vector_internal):
16783         (make_bit_vector_internal):
16784         (sweep_bit_vectors_1):
16785         Replace calls to STRETCHY_STRUCT_SIZEOF with offsetof expression.
16786
16787 2000-02-10  Martin Buchholz  <martin@xemacs.org>
16788
16789         * s/aix4.h: #define MAP_FAILED if sys/mman.h didn't.
16790         Include strings.h to avoid warnings for bzero and strcasecmp.
16791
16792 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16793
16794         * alloc.c: Move STRETCHY_STRUCT_SIZEOF from here...
16795         * lisp.h (STRETCHY_STRUCT_SIZEOF): ...to here
16796
16797         * fns.c (size_bit_vector): New.  Declare bit vectors as a
16798         sequence.
16799
16800 2000-02-10  Olivier Galibert  <galibert@pobox.com>
16801
16802         * symeval.h (struct symbol_value_magic): Remove "next" kludge and
16803         use a value field instead.
16804         (symbol_value_forward_forward): Use value field.
16805         (DEFVAR_SYMVAL_FWD): Use value field.
16806         (DEFVAR_SYMVAL_FWD_INT): Added.  Dumps the int with dumpopaque.
16807         (DEFVAR_INT): Use DEFVAR_SYMVAL_FWD_INT.
16808         (DEFVAR_CONST_INT): Ditto.
16809         (DEFVAR_BOOL): Ditto.
16810         (DEFVAR_CONST_BOOL): Ditto.
16811         (DEFVAR_INT_MAGIC): Ditto.
16812         (DEFVAR_BOOL_MAGIC): Ditto.
16813
16814         * symbols.c (guts_of_unbound_marker): Use value field.
16815         * console.c (DEFVAR_CONSOLE_LOCAL_1): Ditto.
16816         * buffer.c (DEFVAR_BUFFER_LOCAL_1): Ditto.
16817
16818         * lisp.h: Declare dumpopaque and noninteractive1.
16819
16820         * alloc.c (dumpopaque): Added.
16821         (pdump_dump_opaquevec): Added.
16822         (pdump): Call pdump_dump_opaquevec to dump opaque data.
16823         (pdump_load): Reload opaque data.  Sync noninteractive1 with
16824         noninteractive.
16825
16826 2000-02-10  Andy Piper  <andy@xemacs.org>
16827
16828         * glyphs.c (image_instance_layout): if the size changes, mark it
16829         as such.
16830
16831         * redisplay-output.c (redisplay_output_layout): Update the
16832         subwindow here.
16833         (redisplay_output_subwindow): ditto.
16834
16835         * glyphs.c (update_subwindow): make sure we reset flags for
16836         layouts as well as everything else.
16837
16838         * glyphs-widget.c (layout_layout): don't need to set the instances
16839         dimensions here.
16840
16841 2000-02-09  Martin Buchholz  <martin@xemacs.org>
16842
16843         * device-x.c (x_init_device): Wrap calls to dll_*  in HAVE_SHLIB,
16844         not HAVE_DLOPEN, which is a lower-level thing.
16845
16846         * .cvsignore: Ignore gmon.out
16847
16848 2000-02-09  Hamish Macdonald <hamishm@lucent.com>
16849
16850         * .cvsignore: Ignore portable dumper xemacs.dmp file
16851
16852 2000-02-09  Andy Piper  <andy@xemacs.org>
16853
16854         * redisplay-output.c (redisplay_output_layout): be more clever
16855         about when we output based on the changed flags.
16856
16857         * glyphs.h (struct image_instantiator_methods): add update_method.
16858         (struct Lisp_Image_Instance): add changed flags. Declare new
16859         macros for manipulating them.
16860
16861         * glyphs.c (allocate_image_instance): renamed glyph -> parent.
16862         (image_instance_parent_glyph): find an image_instance's parent
16863         glyph or image_instance.
16864         (image_instance_layout): mark the size as changed.
16865         (set_image_instance_dirty_p): new function. mark an image
16866         instance, plus all of its parents, as dirty.
16867         (Fset_image_instance_property): use it.
16868         (Fglyph_animated_timeout_handler): use it.
16869         (update_subwindow): call update_widget and device methods for
16870         update_subwindow. Mark all changed flags as clean.
16871         (Fresize_subwindow): mark size as changed.
16872
16873         * glyphs-x.c (x_finalize_image_instance): try and detect gc
16874         failures.
16875         (x_update_subwindow): only resize subwindows here.
16876         (x_update_widget): new function. Update all changed properties of
16877         a widget.
16878         (x_resize_subwindow): deleted.
16879         (x_widget_set_property): deleted.
16880         (x_progress_gauge_set_property): deleted.
16881         (x_progress_gauge_update): new function. Implement recorded
16882         changes.
16883         (x_tab_control_update): ditto.
16884         (x_tab_control_set_property): deleted.
16885         (console_type_create_glyphs_x): declare new functions.
16886         (image_instantiator_format_create_glyphs_x): ditto.
16887
16888         * glyphs-widget.c (widget_set_property): mark text changed.
16889         (update_widget): new function. Update properties of a widget.
16890         (widget_instantiate): for layouts make sure we set their
16891         children's parent correctly.
16892         (tab_control_set_property): new function. Record changes that will
16893         take place under redisplay's control.
16894         (progress_gauge_set_property): ditto.
16895         (image_instantiator_progress_guage): declare new functions.
16896         (image_instantiator_tab_control): ditto.
16897
16898         * glyphs-msw.c (mswindows_update_subwindow): just do resizing here
16899         now.
16900         (mswindows_update_widget): new function. Update all properties on
16901         a widget that have changed.
16902         (mswindows_button_update): new function. Update a button's set
16903         state.
16904         (mswindows_tab_control_update): new function. Update the items in
16905         a tab.
16906         (mswindows_tab_control_set_property): deleted.
16907         (mswindows_progress_gauge_update): new function. Update the
16908         progress gauge's progress.
16909         (mswindows_widget_set_property): deleted. This is all done
16910         asynchronously now.
16911         (mswindows_progress_gauge_set_property): ditto.
16912         (console_type_create_glyphs_mswindows): declare new methods.
16913         (image_instantiator_format_create_glyphs_mswindows): ditto.
16914
16915         * frame-msw.c (msprinter_init_frame_1): Remove unused variables.
16916         (msprinter_set_frame_properties): ditto.
16917
16918         * console.h (struct console_methods): Add update_widget_method.
16919
16920 2000-02-09  Andy Piper  <andy@xemacs.org>
16921
16922         * gui-msw.c (Fmswindows_shell_execute): Make
16923         mswindows-shell-execute industrial strength.
16924
16925 2000-02-08  Martin Buchholz  <martin@xemacs.org>
16926
16927         * lrecord.h: Make macro argument `props' match member function `plist'.
16928         * fns.c (Fget):
16929         * fns.c (Fput):
16930         * fns.c (Fremprop):
16931         * fns.c (Fobject_plist):
16932         * alloc.c:
16933         * symbols.c:
16934         Object property list frobbing cleanup.
16935         - Allow any lisp object (compared with `eq'), not just symbols, as
16936           keys in object plists.
16937         - Move symbol plist frobbing into symbols.c, where it belongs.
16938         - Move string plist frobbing into alloc.c, where it belongs.
16939         - Everything's an lrecord now, so no need to test for symbolp, etc.
16940         - Fix up doc strings to refer to PROPERTY, not PROPNAME.
16941
16942         * extents.c: Reorder code to remove declarations.
16943
16944         * frame.h (store_in_alist): Remove useless declaration.
16945
16946 2000-02-07  Martin Buchholz  <martin@xemacs.org>
16947
16948         * event-Xt.c (x_has_keysym): Use XConvertCase only if available.
16949         * config.h.in: Add HAVE_XCONVERTCASE.
16950
16951 2000-02-07  Andy Piper  <andy@xemacs.org>
16952
16953         * glyphs.c (image_instance_layout): undo 2000-01-29 change since
16954         it breaks many things.
16955
16956 2000-02-07  Jan Vroonhof  <vroonhof@math.ethz.ch>
16957
16958         * src/syntax.h (SYNTAX_START_P): Check whether the two chars
16959         actually can start a common comment type.
16960         * src/syntax.h (SYNTAX_END_P): ditto for end.
16961
16962 2000-02-07  Martin Buchholz <martin@xemacs.org>
16963
16964         * XEmacs 21.2.28 is released.
16965
16966 2000-02-06  Martin Buchholz  <martin@xemacs.org>
16967
16968         * event-Xt.c (x_keysym_to_character): New.
16969         (maybe_define_x_key_as_self_inserting_character): New.
16970         (x_has_keysym): New.
16971         Auto-define all keys on the keyboard as self-insert-key.
16972
16973 2000-02-02  Martin Buchholz  <martin@xemacs.org>
16974
16975         * menubar.c (vars_of_menubar): A small code simplification.
16976
16977         * minibuf.c (echo_area_append): Workaround egcs-20000131 c++ compiler bug
16978
16979         * ExternalShell.c:
16980         * ExternalClient.c:
16981         * EmacsShell-sub.c:
16982         * EmacsManager.c:
16983         * EmacsFrame.c:
16984         Use consistent style for specifying X resources.
16985
16986         * symbols.c (Fset): Further implement SYMVAL_LISP_MAGIC.
16987         This makes (dontusethis-set-symbol-value-handler) actually usable.
16988
16989         * lrecord.h (lrecord_decription_type):
16990         * alloc.c (pdump_register_sub):
16991         (pdump_dump_data):
16992         (pdump_reloc_one):
16993         Add XD_LISP_OBJECT_ARRAY to describe multiple Lisp_Objects.
16994         Comply with XEmacs coding style.
16995         All lrecord descriptions updated to use XD_LISP_OBJECT with 2
16996         args, and XD_LISP_OBJECT_ARRAY with 3 args.
16997
16998         * keymap.c (Faccessible_keymaps):
16999         Make (accessible-keymaps map "\C-h") do the Right Thing.
17000         Make (accessible-keymaps map []) do the Right Thing.
17001         Make (accessible-keymaps map "") do the Right Thing.
17002         (check_keymap_definition_loop): New function.
17003         (keymap_store_internal): Keep luser from shooting self in foot,
17004           via (define-key ctl-x-4-map "p" global-map).
17005         Remove fullness slot from struct Lisp_Keymap, since hash tables
17006         are now reliable.
17007         (print_keymap): Remove 'Yuck' factor by simply printing "size %d".
17008
17009 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17010
17011         * redisplay.c (init_redisplay): Fix small memory leak.
17012         * elhash.h:
17013         * elhash.c (pdump_reorganize_hash_table):
17014         Rename from reorganize_hash_table. Change prototype.
17015         Reuse the original memory for hentries.  Save 100k.
17016         * alloc.c (PDUMP_READ): new macro.
17017         * alloc.c (pdump_load): Replace LISP_TO_VOID with higher-level macros.
17018         * alloc.c: No need to #ifndef before #undef.
17019
17020         * print.c: Allow debug_print() to print readably by modifying
17021         debug_print_readably.  Use consistent variable names.
17022
17023         * .dbxrc: Try to get things to work even if stopped in a function
17024         without source available by explicitly specifying source files.
17025 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17026
17027         * unexnt.c (_start): Removed bogus code which caused loading heap
17028         from differrent executable file.
17029         Removed bogus assignment to _fmode, which caused inconsistencies.
17030
17031 2000-02-03  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17032
17033         * s\windowsnt.h: Removed lots of #if 0 blocks of Emacs heritage.
17034         Have spawnve encapsulation regard DONT_ENCAPSULATE.
17035         Do not preliminary `#define signal sigset'.
17036
17037         * systime.h: Do not prototype environ on windows nt and cygwin,
17038         this conflicts with system header.
17039
17040         * syssignal.h: Use correct define for WINDOWSNT
17041
17042         * sysdep.h: Do not prototype environ on windows nt, this conflicts
17043         with system header.
17044
17045         * sysdep.c (near start of file): Fixed commentary and rearranged
17046         ifdefs in readable order.
17047         (NEED_STARTS): Do not force NEED_STARTS when PDUMPing.
17048         (start_of_text):
17049         (end_of_text):
17050         (end_of_data): Do not compile in if using PDUMP.
17051
17052         * symsinit.h: Prototyped vars_of_nt().
17053
17054         * ntproc.c (windows9x_p): Added, instead of os_subtype.
17055         (find_child_console): Use it.
17056         (sys_kill): Use it.
17057
17058         * ntheap.h: Do not extern os_subtype.
17059
17060         * ntheap.c (cache_system_info): Do not cache unneeded:
17061         nt_major_version, nt_minor_version and os_subtype.
17062         (recreate_heap): Do not compile in when PDUMPing.
17063
17064         * nt.c (geteuid and friends): Use the new varibale
17065         nt_fake_unix_uid, instead of hashing fake uid out of NT RID.
17066         (init_user_info): Removed the above mentioned hackery.
17067         (fstat, stat): Do not compile in if using MSVC 5.0 and above -
17068         stat has been fixed in the C runtime.
17069         (vars_of_nt): Added, defined the nt_fake_unix_uid variable there.
17070
17071         * file-coding.c (struct file_coding_dump): Do not define
17072         ucs_to_mule_table in the struct if not MULE.
17073         (struct struct lrecord_description fcd_description_1): Do not dump
17074         the above.
17075
17076         * emacs.c (main_1): Call vars_of_nt().
17077         (right before Fdump_emacs_data): Don't need lastfile if using both
17078         portabe dumper and system malloc.
17079
17080         * alloc.c (Fmemory_limit): Conditionalized out.
17081         (pdump): Use OPEN_BINARY for the portable dump file.
17082         (pdump_load): Ditto.
17083
17084 2000-02-02  Mike Alexander  <mta@arbortext.com>
17085
17086         * nt.c (convert_time): Set tm_isdst before calling mktime and
17087         avoid calling it at all if the compiler supports 64 bit integers.
17088         Also initialize utc_base_ft before using it.
17089
17090 2000-02-03   Daiki Ueno  <ueno@ueda.info.waseda.ac.jp>
17091
17092         * frame.c (change_frame_size_1): Take f->internal_border_width
17093         into consideration when calculating the width of the frame.
17094
17095 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17096
17097         * window.c (frame_min_height):
17098         (frame_size_valid_p):
17099         (frame_pixsize_valid_p): Added.
17100         (check_frame_size): Generalized.
17101
17102         * window.h: Prototyped the above.
17103
17104         * lisp.h:
17105         * general.c: Added Qbottom_margin, Qduplex, Qlandscape,
17106         Qleft_margin, Qorientation, Qportrait, Qright_margin, Qtop_margin.
17107         Deleted Vwin32_* and Vbinary_process_* unused variables.
17108
17109         * device-msw.c (msprinter_init_device): Do not get printer font
17110         list; Added DEVMODE functions.
17111
17112         * frame-msw.c: Added lots of printer code.
17113
17114         * faces.c: Moved 'left-margin and 'right-margin defsymbols to
17115         general.c.
17116
17117         * console-msw.h: Added more msprinter device private slots.
17118
17119 2000-02-01  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17120
17121         * event-msw.c (key_needs_default_processing_p): Added.
17122         (mswindows_wnd_proc, WM_KEYUP, KEYDOWN): Call it.
17123
17124 2000-01-29  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17125
17126         * glyphs.c (image_instance_layout): Mark image instance as clean
17127         after layout.
17128         (glyph_dirty_p): Removed redundant function.
17129         (invalidate_glyph_geometry_maybe): Added.
17130         (update_glyph_cachel_data): Call it.
17131
17132         * glyphs.h: Prototyped it.
17133
17134         * redisplay.c (add_glyph_rune): Call it.
17135         (redisplay_window): Reset glyphs cachels when frame faces have
17136         changed, thus forcing recomputation of built-in border glyphs.
17137
17138 2000-01-30  Martin Buchholz  <martin@xemacs.org>
17139
17140         * Makefile.in.in: Make portable dumper and purify play well together.
17141         Add imperfect, but better than nothing, support for pdump.
17142         Remove xemacs.dmp when temacs is re-generated.
17143         Don't ignore errors when dumping xemacs.
17144
17145         * symbols.c (maybe_call_magic_handler): Remove one magic number.
17146
17147 2000-01-28  Andy Piper  <andy@xemacs.org>
17148
17149         * frame.c (allocate_frame_core): Use new Fset_window_buffer signature.
17150         (setup_normal_frame): ditto.
17151         (setup_frame_without_minibuffer): ditto.
17152         (setup_minibuffer_frame): ditto.
17153         (delete_frame_internal): ditto.
17154         (Fmake_frame_invisible): ditto.
17155         (Ficonify_frame): ditto.
17156
17157         * window.h: change Fset_window_buffer signature.
17158
17159         * window.c (Fsplit_window): Use new Fset_window_buffer signature.
17160         (Fset_window_buffer): allow recording of buffer if the window is
17161         the selected window.
17162         (window_loop): Use new Fset_window signature.
17163
17164 2000-01-23  Daniel Pittman  <daniel@danann.net>
17165
17166         * config.h.in: Added template for `HAVE_ATHENA_3D'
17167
17168 2000-01-29  Andy Piper  <andy@xemacs.org>
17169
17170         * glyphs-x.c (x_resize_subwindow): Try and catch bogus resizes.
17171
17172         * gutter.c (output_gutter): Don't output if the window isn't live.
17173
17174 2000-01-28  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17175
17176         * glyphs-msw.c (mswindows_unmap_subwindow): Fix of corrupted patch
17177         of 01/12/00: Moved SetFocus back here where it belongs.
17178
17179 2000-01-23  Andy Piper  <andy@xemacs.org>
17180
17181         * s/cygwin32.h: declare printer things.
17182
17183 2000-01-26  Andy Piper  <andy@xemacs.org>
17184
17185         * select.c (Fown_selection_internal): GCPRO bug fix from Mike
17186         Alexander.
17187
17188 2000-01-24  Andy Piper  <andy@xemacs.org>
17189
17190         * glyphs-msw.c (mswindows_locate_pixmap_file): Expand filename.
17191         (mswindows_button_instantiate): Make sure glyph is a pixmap.
17192
17193         * glyphs-widget.c (widget_instantiate): Avoid shadows.
17194
17195         * frame-msw.c (msprinter_init_frame_3): Nuke warning.
17196
17197         * glyphs-msw.c: (mswindows_string_to_color): remove declaration.
17198
17199         * redisplay-msw.c (mswindows_output_cursor): Avoid shadows.
17200         (mswindows_output_display_block): Avoid local shadows.
17201
17202         * event-msw.c (mswindows_enqueue_magic_event): Avoid shadows.
17203         (mswindows_enqueue_mouse_button_event): ditto.
17204         (mswindows_handle_gui_wm_command): remove declaration.
17205
17206         * console-msw.c (mswindows_canonicalize_console_connection): Avoid
17207         warnings.
17208
17209         * console-msw.h: Avoid shadows.
17210         (mswindows_get_toolbar_button_text):
17211         (emacs_mswindows_create_stream_pair):
17212         (emacs_mswindows_delete_stream_pair):
17213         (mswindows_handle_toolbar_wm_command): declare.
17214
17215         * device-msw.c (build_syscolor_string): Avoid shadows.
17216
17217 2000-01-23  Andy Piper  <andy@xemacs.org>
17218
17219         * glyphs-widget.c (widget_instantiate): reverse the items for
17220         layouts so that children are in the expected order.
17221
17222 2000-01-28  Martin Buchholz  <martin@xemacs.org>
17223
17224         * ralloc.c: safe_bcopy ==> memmove
17225         * gmalloc.c: Remove MEMMOVE_MISSING conditional code.
17226         * s/msdos.h: Remove BCOPY macros.
17227         * insdel.c (gap_right): Remove BCOPY conditional code.
17228         * insdel.c (gap_left): Remove BCOPY conditional code.
17229         XEmacs demands a working ANSI C compiler - hence memmove.
17230
17231         * regex.c (regex_compile): Remove accidental use of trigraphs.
17232
17233 2000-01-27  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17234
17235         * event-msw.c (mswindows_enqueue_misc_user_event): Initialize
17236         event timestamp.
17237
17238 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17239
17240         * event-msw.c (mswindows_drain_windows_queue): Added the
17241         parameter.
17242         (mswindows_need_event): Commented the call to
17243         mswindows_drain_windows_queue().
17244         (emacs_mswindows_quit_p): Lookup the windows for keyboard messages
17245         only.
17246
17247         * console-msw.h: Moved a few function prototypes here from
17248         event-msw.c.
17249
17250         * gui-msw.c (mswindows_handle_gui_wm_command): Changed the ID
17251         parameter from unsigned short to unsigned long.
17252         (Fmswindows_shell_execute): Added return value.
17253
17254 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17255
17256         * sysdep.c (init_system_name):
17257           process-unix.c (unix_canonicalized_host_name):
17258         Don't call freeaddrinfo() if getaddrinfo() fails.
17259
17260         * process-unix.c (unix_open_unix_network_stream):
17261         Moved the code to get a port # into address loop.
17262
17263 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17264
17265         * buffer.c (reinit_vars_of_buffer):
17266         The right place to initialize conversion_in_dynarr and
17267         conversion_out_dynarr.
17268
17269         * alloc.c (pdump): Use the real open() till sys_open() is functional.
17270
17271         * process-unix.c (unix_canonicalize_host_name): Muleize.
17272         (unix_open_network_stream): Muleize.
17273
17274         * buffer.h: Fix up prototypes for ralloc.c functions.
17275
17276 2000-01-27  URA Hiroshi <ura@hiru.aoba.yokohama.jp>
17277         * config.h.in: added HAVE_GETADDRINFO and HAVE_GETNAMEINFO
17278         * sysdep.c: In init_system_name(), add code to use getaddrinfo()
17279                 instead of gethostbyname()
17280         * process-unix.c: In unix_canonicalize_host_name() and
17281                 unix_open_network_stream(), add code to use getaddrinfo()
17282                 instead of gethostbyname().
17283
17284 2000-01-27  Daniel Pittman <daniel@danann.net>
17285
17286         * device-x.c (x_init_device): Warn at run-time if using Athena 3d
17287         libs when built with flat Athena.
17288
17289 2000-01-27  Martin Buchholz  <martin@xemacs.org>
17290
17291         * ralloc.c: Replace SIZE (conflicts with Windows headers) with size_t.
17292         Use coding standards for function prototypes.
17293
17294 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17295
17296         * dialog-msw.c (push_lisp_string_as_unicode):
17297         * doc.c (unparesseuxify_doc_string):
17298         * dired.c (Fuser_name_completion_1):
17299         * dired.c (Fuser_name_all_completions):
17300         * dired.c (free_user_cache):
17301         * dired.c (user_name_completion):
17302         * console-x.c (get_display_arg_connection):
17303         * minibuf.c (clear_echo_area_internal):
17304         * minibuf.c (echo_area_append):
17305         * eldap.c (Fldap_open):
17306         * eldap.c (Fldap_search_internal):
17307         * frame-x.c (x_set_frame_text_value):
17308         * frame-x.c (x_set_frame_properties):
17309         * frame-x.c (x_create_widgets):
17310         * redisplay-tty.c (term_get_fkeys_1):
17311         * objects-x.c (x_parse_nearest_color):
17312         * objects-x.c (x_valid_color_name_p):
17313         * objects-x.c (x_initialize_font_instance):
17314         * objects-x.c (x_list_fonts):
17315         * objects-x.c (x_find_charset_font):
17316         * tooltalk.c (Fadd_tooltalk_message_arg):
17317         * tooltalk.c (Fadd_tooltalk_pattern_attribute):
17318         * tooltalk.c (Fadd_tooltalk_pattern_arg):
17319         * process-unix.c (unix_create_process):
17320         * ntproc.c (sys_spawnve):
17321         * sound.c (Fplay_sound_file):
17322         * sound.c (Fplay_sound):
17323         * buffer.c (init_initial_directory):
17324         * buffer.c (init_buffer):
17325         * editfns.c (init_editfns):
17326         * editfns.c (Ftemp_directory):
17327         * editfns.c (Fuser_full_name):
17328         * editfns.c (uncache_home_directory):
17329         * editfns.c (get_home_directory):
17330         * editfns.c (Fuser_home_directory):
17331         * editfns.c (Fformat_time_string):
17332         * editfns.c (Fcurrent_time_string):
17333         * gui-x.c (button_item_to_widget_value):
17334         * database.c (Fopen_database):
17335         * event-Xt.c (x_to_emacs_keysym):
17336         * event-Xt.c (x_event_to_emacs_event):
17337         * event-Xt.c (describe_event_window):
17338         * event-msw.c (mswindows_wnd_proc):
17339         * glyphs-eimage.c (jpeg_instantiate):
17340         * glyphs-eimage.c (gif_instantiate):
17341         * glyphs-eimage.c (png_instantiate):
17342         * glyphs-eimage.c (tiff_instantiate):
17343         * glyphs-x.c (xbm_instantiate_1):
17344         * glyphs-x.c (x_xbm_instantiate):
17345         * glyphs-x.c (x_xface_instantiate):
17346         * glyphs-x.c (autodetect_instantiate):
17347         * glyphs-x.c (cursor_font_instantiate):
17348         * glyphs-x.c (x_widget_instantiate):
17349         * glyphs-x.c (x_widget_set_property):
17350         * glyphs-x.c (x_widget_property):
17351         * glyphs-x.c (BUILD_GLYPH_INST):
17352         * print.c (write_string_to_stdio_stream):
17353         * print.c (output_string):
17354         * print.c (Falternate_debugging_output):
17355         * print.c (Fexternal_debugging_output):
17356         * glyphs-msw.c (extract_xpm_color_names):
17357         * glyphs-msw.c (mswindows_xpm_instantiate):
17358         * glyphs-msw.c (bmp_instantiate):
17359         * glyphs-msw.c (resource_name_to_resource):
17360         * glyphs-msw.c (mswindows_resource_instantiate):
17361         * glyphs-msw.c (xbm_instantiate_1):
17362         * glyphs-msw.c (mswindows_xbm_instantiate):
17363         * glyphs-msw.c (mswindows_xface_instantiate):
17364         * glyphs-msw.c (mswindows_widget_instantiate):
17365         * glyphs-msw.c (add_tree_item):
17366         * glyphs-msw.c (add_tab_item):
17367         * glyphs-msw.c (mswindows_combo_box_instantiate):
17368         * glyphs-msw.c (mswindows_widget_property):
17369         * glyphs-msw.c (mswindows_combo_box_property):
17370         * glyphs-msw.c (mswindows_widget_set_property):
17371         * console.c (stuff_buffered_input):
17372         * objects-msw.c (mswindows_initialize_color_instance):
17373         * objects-msw.c (mswindows_valid_color_name_p):
17374         * objects-msw.c (mswindows_list_fonts):
17375         * objects-msw.c (mswindows_font_instance_truename):
17376         * bytecode.c (optimize_compiled_function):
17377         * select-x.c (symbol_to_x_atom):
17378         * select-x.c (x_atom_to_symbol):
17379         * select-x.c (hack_motif_clipboard_selection):
17380         * select-x.c (selection_data_to_lisp_data):
17381         * select-x.c (lisp_data_to_selection_data):
17382         * select-x.c (Fx_get_cutbuffer_internal):
17383         * select-x.c (Fx_store_cutbuffer_internal):
17384         * buffer.h (TO_EXTERNAL_FORMAT): New function.
17385         * buffer.h (TO_INTERNAL_FORMAT): New function.
17386         * emacs.c (make_arg_list_1):
17387         * emacs.c (make_argc_argv):
17388         * emacs.c (main_1):
17389         * emacs.c (Fdump_emacs):
17390         * emacs.c (split_string_by_emchar_1):
17391         * file-coding.h:
17392         * lisp.h:
17393         * lstream.h:
17394         * symsinit.h:
17395         * device-x.c (x_init_device):
17396         * device-x.c (Fx_valid_keysym_name_p):
17397         * device-x.c (Fx_get_font_path):
17398         * device-x.c (Fx_set_font_path):
17399         * glyphs.c (bitmap_to_lisp_data):
17400         * glyphs.c (pixmap_to_lisp_data):
17401         * alloc.c (make_ext_string): Use coding system arguments.  Update
17402         all callers.
17403         * alloc.c (build_string):
17404         * callproc.c (child_setup):
17405         * callproc.c (init_callproc):
17406         * fileio.c (lisp_strerror):
17407         * fileio.c (directory_file_name):
17408         * fileio.c (Fexpand_file_name):
17409         * fileio.c (Ffile_truename):
17410         * fileio.c (Fsysnetunam):
17411         * fileio.c (Fdo_auto_save):
17412         * sysdep.c (sys_readdir):
17413         * tests.c: New file.  Allow adding C tests.
17414         Replace GET_* macros with a more comprehensible and flexible
17415         interface, TO_INTERNAL_FORMAT() and TO_EXTERNAL_FORMAT().
17416         Modify all calls.
17417         Any coding system can be used to do format conversion.
17418         Eliminate enum external_data_format.
17419         Eliminate convert_to_external_format.
17420         Eliminate convert_to_internal_format.
17421         Make sure file-name, keyboard, terminal, and ctext are always
17422         defined as coding systems or aliases.  Make
17423         file-name-coding-system, terminal-coding-system, and
17424         keyboard-coding-system magical variables that are equivalent to
17425         defining the corresponding coding system aliases.
17426
17427         * file-coding.c (Fcoding_system_canonical_name_p): New function.
17428         * file-coding.c (Fcoding_system_alias_p): New function.
17429         * file-coding.c (Fcoding_system_aliasee): New function.
17430         * file-coding.c (append_suffix_to_symbol): New function.
17431         * file-coding.c (dangling_coding_system_alias_p): New function.
17432         * file-coding.c (Ffind_coding_system):
17433         * file-coding.c (Fcopy_coding_system):
17434         * file-coding.c (encode_coding_no_conversion):
17435         * file-coding.c (syms_of_file_coding):
17436         * file-coding.c (vars_of_file_coding):
17437         Rewrite coding system alias code.
17438         Allow nested aliases, like symbolic links.
17439         Allow redefinition of coding system aliases.
17440         Prevent existence of dangling coding system aliases.
17441
17442         * dired.c (Fuser_name_completion_1):
17443         * dired.c (Fuser_name_all_completions):
17444         A crash would happen if user did QUIT in the middle of building
17445         user_name_cache.  Remove redundant code in mainline and unwind_protect.
17446
17447         * lisp.h:
17448         * dynarr.c (Dynarr_min_size): Make static.  Increase value to 8.
17449
17450         * lstream.c (make_fixed_buffer_input_stream): Take a void *, not
17451         an unsigned char *.  Update all callers.
17452
17453 2000-01-26  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17454
17455         * callproc.c (Fcall_process_internal): Ignore Vbinary-process_output.
17456
17457 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17458
17459         * elhash.c (hentry_description): Use more portable definition.
17460         (resize_hash_table): Initialize new hentries using
17461         xnew_array_and_zero, thereby simplifying the code.
17462
17463         * mule-charset.c (make_charset): Make sure entire object is
17464         initialized, to avoid Purify warnings.
17465
17466         * alloc.c (resize_string): Fix unlikely crash with big strings.
17467
17468 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17469
17470         * realpath.c (xrealpath):
17471         Don't call getwd().
17472
17473 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17474
17475         * lread.c (read_bit_vector): Fix memory leak reading literal bit vectors.
17476
17477 1999-12-28  Max Matveev  <max@melbourne.sgi.com>
17478
17479         * unexelfsgi.c (unexec): Change the way we decide which segment
17480         should be extended.
17481
17482         Assumption that .bss section should be outside the PT_LOADable
17483         segment. On IRIX with version 6.2 and above, .bss (or .sbss, if
17484         it's present) is inside the 'data' segment. This would fail the
17485         test which was used to find a segment to grow and cover new
17486         heap. Instead of this assumption, I created another one - on IRIX
17487         the segment to grow should start below .bss and it's address
17488         should extent above the end of .bss. Once this segment is
17489         identified, it's grown to accommodate the new heap and new
17490         zero-length .bss section is added at the end of .data2.
17491
17492 2000-01-25  Martin Buchholz  <martin@xemacs.org>
17493
17494         * eval.c (Feval): Wrong number of arguments should use original
17495         function, not the indirect_function version of it.
17496
17497 2000-01-24  Yoshiki Hayashi  <yoshiki@xemacs.org>
17498
17499         * glyphs-x.c (x_button_instantiate): Don't add image if
17500         it is not a pixmap.
17501         (x_locate_pixmap_file): Call Fexpand_file_name when file name
17502         is relative.
17503
17504 2000-01-21  Yoshiki Hayashi  <yoshiki@xemacs.org>
17505
17506         * symeval.h (DEFVAR_LISP_MAGIC): Remove semicolon after macro
17507         declaration.
17508         (DEFVAR_INT_MAGIC): Ditto.
17509         (DEFVAR_BOOL_MAGIC): Ditto.
17510         * glyphs.h: Reindent backslash.
17511
17512 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17513
17514         * glyphs-widget.c (layout_query_geometry):
17515         (layout_layout): Use correct types for gheight, gwidth.
17516
17517 2000-01-24  Martin Buchholz  <martin@xemacs.org>
17518
17519         * EmacsManager.c (QueryGeometry): Purified.
17520
17521 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17522
17523         * alloc.c (make_float): Make sure entire object is initialized, to
17524         avoid Purify warnings.
17525         (pdump_register_sub): Remove useless assignment.
17526         (pdump): Use xmalloc, not malloc.
17527         (pdump_load): Use xmalloc, not malloc.
17528
17529 2000-01-23  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17530
17531         * callproc.c:
17532         * dired-msw.c:
17533         * fileio.c:
17534         * process-nt.c:
17535         * redisplay-msw.c:
17536         * sysdep.c: Removed redundant #include <windows.h>
17537
17538 2000-01-22  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17539
17540         * frame.c (delete_frame_internal): Do not delete device when its
17541         implementation so declares.
17542         (delete_frame_internal): Set device selected frame to nil when
17543         last frame goes away.
17544
17545         * device-msw.c (msprinter_device_system_metrics): Implemented.
17546         (mswindows_device_system_metrics): Added 'device-dpi property.
17547
17548         * device.c: (Fdevice_printer_p): Added.
17549         Added 'offset-workspace device metric.
17550
17551         * console.h (device_metrics): Declared DM_offset_workspace.
17552
17553 2000-01-23  Martin Buchholz  <martin@xemacs.org>
17554
17555         * fileio.c (Ffile_truename): Remove pointless and confusing
17556         initialization of elen.
17557
17558         * glyphs-widget.c: Compiler warning fixes.
17559
17560 2000-01-23  Gunnar Evermann  <ge204@eng.cam.ac.uk>
17561
17562         * process.h (PROCESS_LIVE_P): Modify to take a Lisp_Process
17563         instead of a Lisp_Object as argument to make it consistent with
17564         the other LIVE_P macros.
17565         (CHECK_LIVE_PROCESS): New macro.
17566
17567         * process.c: Declare Qprocess_live_p.
17568         (Fprocess_live_p): New function.
17569         (create_process): Use PROCESS_LIVE_P.
17570         (read_process_output): Ditto.
17571         (set_process_filter): Ditto.
17572         (Fdelete_process): Ditto.
17573         (kill_buffer_processes): Ditto
17574         (process_send_signal): Use CHECK_LIVE_PROCESS.
17575         (Fprocess_input_coding_system): Check whether process is still
17576         alive (fix PR#1061).
17577         (Fprocess_output_coding_system): Ditto.
17578         (Fprocess_coding_system): Ditto.
17579         (Fset_process_input_coding_system): Ditto.
17580         (Fset_process_output_coding_system): Ditto.
17581
17582 2000-01-23  Andy Piper  <andy@xemacs.org>
17583
17584         * glyphs.h (struct Lisp_Image_Instance): change format by unifying
17585         layout and widget.
17586
17587         * glyphs.c (mark_image_instance): take into account changed
17588         image_instance format.
17589         (image_instance_equal): ditto.
17590         (image_instance_hash): ditto.
17591
17592         * glyphs-widget.c (widget_instantiate): Incorporate layout
17593         instantiation here. Delay layout of the layout until later.
17594         (layout_instantiate): deleted.
17595         (layout_query_geometry): new function. get the geometry of a
17596         layout.
17597         (layout_layout): layout a layout dynamically.
17598         (image_instantiator_widget): New function - splitting up
17599         image_instantiator_format_create_glyphs_widget for netwinder
17600         compilation.
17601         (image_instantiator_buttons):
17602         (image_instantiator_edit_fields):
17603         (image_instantiator_combo_box):
17604         (image_instantiator_scrollbar):
17605         (image_instantiator_progress_guage):
17606         (image_instantiator_tree_view):
17607         (image_instantiator_tab_control):
17608         (image_instantiator_labels):
17609         (image_instantiator_layout): ditto.
17610         (image_instantiator_format_create_glyphs_widget): Call preceding
17611         functions.
17612
17613 2000-01-22  Martin Buchholz  <martin@xemacs.org>
17614
17615         * process.c (Fset_process_coding_system):
17616         * device-x.c (Fx_keysym_hash_table):
17617         Docstring fixes.
17618
17619         * lstream.c (Lstream_write): Return documented value, not 0.
17620
17621         * fileio.c (directory_file_name):
17622         (Fsubstitute_in_file_name):
17623         (Fsubstitute_insert_file_contents_internal):
17624         (Fwrite_region_internal):
17625         * emacs.c:
17626         * sysdep.c:
17627         * getloadavg.c:
17628         * systty.h:
17629         Remove vestigial APOLLO-conditional code.
17630
17631 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17632
17633         * getpagesize.h: Add guard macros.
17634         * libsst.h: Add guard macros.
17635         * libst.h: Add guard macros.
17636         * line-number.h: Add guard macros.
17637         * ndir.h: Add guard macros.
17638         * sysfloat.h: Add guard macros.
17639         * sysfile.h: Add guard macros.
17640         * sysproc.h: Add guard macros.
17641         * syswait.h: Add guard macros.
17642         * xintrinsic.h: Add guard macros.
17643         * xintrinsicp.h: Add guard macros.
17644         * xmmanager.h: Add guard macros.
17645         * xmmanagerp.h: Add guard macros.
17646         * xmprimitive.h: Add guard macros.
17647         * xmu.h: Add guard macros.
17648         * gpmevent.h: Add copyright statement. Add guard macros.
17649         * miscplay.h: Add guard macros.
17650         * *.h: Use consistent C-standards-approved guard macro names.
17651
17652         * opaque.c (make_opaque): Switch parameter order.
17653         * opaque.h (make_opaque): Switch parameter order.
17654         Update all callers.
17655         * buffer.h (MAKE_MIRROR_TRT_TABLE): Use symbolic constant OPAQUE_CLEAR.
17656
17657         * config.h.in (type_checking_assert): Added.
17658         (bufpos_checking_assert): Added.
17659
17660 2000-01-21  Martin Buchholz  <martin@xemacs.org>
17661
17662         * alloc.c: Harmless pdump changes.
17663         - Use countof().
17664         - spell alignment correctly.
17665         * sysdep.c: Use countof()
17666
17667 2000-01-20  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17668
17669         * console.c (create_console): Use CONMETH_OR_GIVEN when calling
17670         initially_selected_for_input() console method, default to 0.
17671         (semi_canonicalize_console_connection): Try to delegate to
17672         canonicalize_console_connection if no such console method.
17673         (canonicalize_console_connection): Vice versa.
17674         (print_console): Do not print nil connection.
17675
17676         * console.h (XDEVIMPF_IS_A_PRINTER): Added.
17677         (XDEVIMPF_NO_AUTO_REDISPLAY): Added.
17678         (XDEVIMPF_FRAMELESS_OK): Added.
17679         (CONSOLE_INHERITS_METHOD): Added.
17680
17681         * console-msw.c (mswindows_canonicalize_console_connection):
17682         Added.
17683         (mswindows_canonicalize_device_connection): Added.
17684
17685         * console-msw.h (struct msprinter_device): Added this struct and
17686         accessor macros.
17687         (mswindows_device): Made fontlist a lisp object.
17688
17689         * device.c (semi_canonicalize_device_connection):  Try to delegate
17690         to canonicalize_device_connection if no such console method.
17691         (canonicalize_device_connection): Vice versa.
17692         (print_device): Do not print nil connection.
17693
17694         * device-msw.c (mswindows_init_device): Call InitCommonControls
17695         when have widgets.
17696         (mswindows_delete_device): Removed fontlist deallocation.
17697         (mswindows_mark_device): Added.
17698
17699         * events.c (event_equal): Added abort() at unreached code.
17700         (event_hash): Ditto.
17701
17702         * faces.c (complex_vars_of_faces): Added Qmsprinter to the list of
17703         fallback tags of Windows devices.
17704
17705         * general.c (syms_of_general): Initialized Qmsprinter.
17706
17707         * gutter.c (complex_vars_of_gutters): Added Qmsprinter to the list
17708         of fallback tags of Windows devices.
17709
17710         * lisp.h: Declared Qmsprinter.
17711
17712         * objects-msw.c (font_enum_callback_2): Rewrote to build lisp list
17713         of strings.
17714         (mswindows_list_fonts): Ditto.
17715         (mswindows_enumerate_fonts): Removed dependency on XDEVICE, so
17716         that it can be used by both mswindows and msprinter devices.
17717         (initialize_font_instance): Added.
17718         (mswindows_initialize_font_instance): Use it.
17719         (msprinter_initialize_font_instance): Added.
17720
17721         * redisplay.c (redisplay_device): Added the parameter AUTOMATIC
17722         and implementation flags check.
17723         (redisplay_without_hooks): Changed the call to the above.
17724         (Fredraw_device): Ditto.
17725         (Fredisplay_device): Ditto.
17726
17727         * redisplay-msw.c (get_frame_dc): Implemented.
17728         (get_frame_compdc): Implemented.
17729         (many functions): Use the two functions above to get device
17730         contexts, ether for a window or a printer.
17731
17732 2000-01-21  Olivier Galibert  <galibert@pobox.com>
17733
17734         * symbols.c (reinit_symbols_once_early): Put Qzero/Qnull_pointer
17735         initialization here.
17736         (init_symbols_once_early): Call it.
17737         * emacs.c (main_1): Call it.
17738         * symsinit.h: Declare it.
17739
17740 2000-01-19  Olivier Galibert  <galibert@pobox.com>
17741
17742         * alloc.c: Use a lrecord_header * in the backtrace instead of a
17743         Lisp_Object.
17744         (pdump_backtrace): Ditto.
17745         (pdump_register_object): Ditto.  Cleanup use of the pointers.
17746         (pdump_get_entry): Abort if trying to register a null pointer.
17747         (pdump_dump_data): Cleanup types when relocating.
17748         (pdump_dump_staticvec): Cleanup types w.r.t the reloc table.
17749         (pdump_dump_rtables): Remove bad casts.
17750         (pdump_load): Cleanup relocation w.r.t union type.  Use a
17751         Lisp_Object instead of a EMACS_INT for the hashtable
17752         reorganization.
17753
17754 2000-01-20  Martin Buchholz  <martin@xemacs.org>
17755
17756         * emacs.c (main_1): Rearrange morass of #ifdef's for correctness.
17757
17758         * callproc.c (call_process_cleanup): Isolate WINDOWSNT code for clarity.
17759
17760         * EmacsManager.c (GeometryManager): Avoid use of CPP for clarity.
17761
17762         * *.[ch]: global-replace 's/_of_xselect/_of_select_x/g' *.[ch]
17763
17764 2000-01-17  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17765
17766         * faces.h (FACE_STRIKETHRU_P): Added.
17767
17768         * glyphs-msw.c (mswindows_widget_hfont): Implemented, to take care
17769         of font variants.
17770
17771         * redisplay-msw.c (mswindows_apply_face_effects): Deleted.
17772         (mswindows_set_dc_font): New function, aware of font variants,
17773         separated from mswindows_update_dc.
17774
17775         * objects-msw.h (struct mswindows_font_instance_data): Added
17776         definition.
17777
17778         * objects-msw.c (mswindows_finalize_font_instance): Delete all
17779         cached fonts and the data structure.
17780         (mswindows_initialize_font_instance): Added creation of font data
17781         structure.
17782         (mswindows_print_font_instance): Print at least something.
17783         (mswindows_create_font_variant): Implemented.
17784         (mswindows_get_hfont): Implemented.
17785
17786 2000-01-13  Fabrice Popineau  <Fabrice.Popineau@supelec.fr>
17787
17788         * dired-msw.c: permute "sysdir.h" with "sysfile.h" because of
17789         prototyping problem with msvc.
17790
17791         * emacs.c (main_1): added syms_of_gui_mswindows() call
17792
17793         * gui-msw.c: added "mswindows-shell-execute" lisp subr and
17794         syms_of_gui_mswindows() function
17795
17796         * symsinit.h: added the prototype for syms_of_gui_mswindows()
17797
17798 2000-01-18  Martin Buchholz <martin@xemacs.org>
17799
17800         * XEmacs 21.2.27 is released.
17801
17802 2000-01-18  Martin Buchholz  <martin@xemacs.org>
17803
17804         * glyphs-eimage.c (struct tiff_error_struct):
17805         (tiff_error_func):
17806         (tiff_warning_func):
17807         #if HAVE_VSNPRINTF ==> #ifdef HAVE_VSNPRINTF
17808
17809         * unexmips.c:
17810         * unexhp9k3.c:
17811         * unexfreebsd.c:
17812         * unexec.c: Remove vestigial Lucid C code.
17813         * unexalpha.c:
17814         * unexaix.c:
17815         * termcap.c:
17816         * libsst.c: Ansify.
17817         Remove declarations of errno and strerror().
17818
17819         * eval.c (Fbacktrace): Small Purify-cation.  Fix docstring.
17820
17821         * .dbxrc (run-temacs): Use the horrible ${1+"$@"} instead of "$@".
17822
17823 2000-01-16  Martin Buchholz  <martin@xemacs.org>
17824
17825         * mule-charset.c (Fchar_octet): Resurrect from earlier in 1999.
17826         Optimize.
17827
17828 2000-01-14  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17829
17830         * md5.c:
17831         * file-coding.c:
17832         * file-coding.h:
17833         Change enum eol_type to eol_type_t.
17834
17835 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17836
17837         * gui.c (get_gui_callback): Check cons before accessing car.
17838
17839 2000-01-17  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17840
17841         * specifier.h (XSPECIFIER_TYPE): Add error checking version.
17842         (XSETSPECIFIER_TYPE): Ditto.
17843
17844 2000-01-17  Didier Verna  <didier@xemacs.org>
17845
17846         * redisplay.c (generate_fstring_runes): compute string size in
17847         characters, not bytes.
17848
17849 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17850
17851         * window.c (Fwindow_minibuffer_p): Make WINDOW optional.
17852
17853 2000-01-14  Hrvoje Niksic  <hniksic@iskon.hr>
17854
17855         * print.c (print_error_message): Call print_prepare().
17856
17857 2000-01-14  Martin Buchholz  <martin@xemacs.org>
17858
17859         * .dbxrc: Renamed from dbxrc.
17860
17861         * events.c (event_to_character):
17862         Use `assert (foo)' instead of `if (!foo) abort()'
17863
17864         * .gdbinit (xtype): Add documentation.
17865         * .gdbinit (check-temacs): New function.
17866         * .gdbinit (check-xemacs): New function.
17867         * dbxrc (check-xemacs): New function.
17868         * dbxrc (check-xemacs): New function.
17869
17870 2000-01-14  Andy Piper  <andy@xemacs.org>
17871
17872         * glyphs-widget.c (widget_query_geometry): Make sure that we
17873         calculate default dimensions correctly.
17874
17875 2000-01-13  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17876
17877         * symsinit.h: Added prototype for reinit_vars_of_frame_mswindows.
17878
17879         * event-msw.c (vars_of_event_mswindows): Fixed a mistyped
17880         pdump_wire'd variable.
17881
17882         * emacs.c: (main_1): Conditionalized calls to
17883         reinit_vars_of_scrollbar_x and reinit_vars_of_module.
17884
17885 2000-01-13  Martin Buchholz  <martin@xemacs.org>
17886
17887         * window.c (Fset_window_configuration):
17888         * sysdep.c (_start):
17889         * input-method-motif.c (res):
17890         * event-Xt.c (Xt_process_to_emacs_event):
17891         Simple compiler warning fixes.
17892
17893         * bytecode.c (funcall_compiled_function): Use the original
17894         function symbol on the backtrace list in preference to the
17895         compiled_function object in error messages.
17896
17897 2000-01-13  Andy Piper  <andy@xemacs.org>
17898
17899         * glyphs-x.c (update_widget_face): Make sure we update the widget
17900         background as well as foreground.
17901
17902 2000-01-13  Andy Piper  <andy@xemacs.org>
17903
17904         * glyphs.h (struct Lisp_Image_Instance): Move justify and orient
17905         fields to subwindow.
17906         (IMAGE_INSTANCE_SUBWINDOW_JUSTIFY): new macro.
17907         (XIMAGE_INSTANCE_SUBWINDOW_JUSTIFY): ditto.
17908         (IMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17909         (XIMAGE_INSTANCE_SUBWINDOW_ORIENT): ditto.
17910
17911         * glyphs-widget.c (check_valid_tab_orientation): new function.
17912         (initialize_widget_image_instance): zero orientation and
17913         justification.
17914         (widget_instantiate): pick up orientation.
17915         (tab_control_query_geometry): return appropriate values for
17916         vertical tabs.
17917
17918         * glyphs-msw.c: (mswindows_tab_control_instantiate): assign
17919         appropriate creation flags for left, right and bottom tabs.
17920
17921         * s/cygwin32.h: add tab definitions.
17922
17923 2000-01-12  Kirill 'Big K' Katsnelson  <kkm@dtmx.com>
17924
17925         * glyphs-msw.c (mswindows_unmap_subwindow): Set focus back to the
17926         frame upon hiding a subwindow.
17927         (mswindows_button_instantiate): Changed the push button style to
17928         BS_PUSHBUTTON.
17929         (mswindows_button_instantiate): Removed button BS_NOTIFY
17930         style.
17931         (mswindows_button_instantiate): Removed redundant check for
17932         a disabled gui item.
17933         (mswindows_button_instantiate): Made use of WS_TABSTOP
17934         consistent: "operable" controls (edit, button, tree, scroll) have
17935         this style, "display-only" ones (static, progress gauge) do
17936         not. This style is currently ignored by XEmacs though. Also,
17937         removed the WS_EX_CONTROLPARENT style - it is not for children,
17938         it is for their parents!
17939         (mswindows_edit_field_instantiate): Ditto.
17940         (mswindows_progress_gauge_instantiate): Ditto.
17941         (mswindows_tree_view_instantiate): Ditto.
17942         (mswindows_tab_control_instantiate): Ditto.
17943         (mswindows_scrollbar_instantiate): Ditto.
17944         (mswindows_combo_box_instantiate): Ditto.
17945         (mswindows_widget_instantiate): Added the WS_EX_CONTROLPARENT
17946         style to the "clip" window.
17947         (mswindows_button_instantiate): Removed compilation warning by
17948         equally typing terms of the ?: operator.
17949
17950 2000-01-12  Didier Verna  <didier@xemacs.org>
17951
17952         * redisplay.c (generate_fstring_runes): new parameter holding the
17953         last modeline-format extent.
17954         (add_glyph_to_fstring_db_runes): new parameter holding the glyph
17955         extent, fill the glyph block with it.
17956         (generate_fstring_runes): handle these parameters.
17957         (generate_formatted_string_db): ditto.
17958
17959         * keymap.c (get_relevant_keymaps): retreive the keymaps from the
17960         glyphs'extents in the modeline.
17961
17962 1999-01-11  Mike Woolley  <mike@bulsara.com>
17963
17964         * ntheap.c: Reduced the reserved heap space from 1Gb down to
17965         256Mb, as a workaround for the non-starting problem many people
17966         have experienced.
17967
17968 2000-01-06  Yoshiki Hayashi  <t90553@mail.ecc.u-tokyo.ac.jp>
17969
17970         * console-tty.c (Fset_console_tty_output_coding_system):
17971         Force redrawing tty frame.
17972
17973 2000-01-10  Didier Verna  <didier@xemacs.org>
17974
17975         * redisplay.c (generate_fstring_runes): fix size computation bug.
17976
17977 2000-01-09  William M. Perry <wmperry@aventail.com>
17978
17979         * gpmevent.c: (gpm_next_event_cb): Don't return value from void function.
17980
17981 2000-01-09  Andy Piper  <andy@xemacs.org>
17982
17983         * glyphs-msw.c: index -> i to avoid shadows.
17984         (xbm_create_bitmap_from_data): make static.
17985         (check_valid_string_or_int): deleted.
17986         (mswindows_control_wnd_proc): message -> msg to avoid shadows.
17987
17988         * glyphs-x.c (x_update_subwindow): remove unused args.
17989
17990         * glyphs.c (glyph_image_instance): return the thing. Don't set the
17991         back pointer - this is done in allocate_image_instance.
17992         (query_string_font): return Qnil to make the compiler happy.
17993         (unmap_subwindow): set to ~0 to make the compiler happy.
17994         (glyph_query_geometry): comment out until used.
17995         (glyph_layout): ditto.
17996
17997 2000-01-09  Hrvoje Niksic  <hniksic@iskon.hr>
17998
17999         * insdel.c (signal_after_change): Remove extraneous unbind_to().